git-svn-id: file:///svn-source/pmgr/branches/ledger_transactions_20090605@71 97e9348a-65ac-dc4b-aefc-98561f571b83
87 lines
1.9 KiB
PHP
87 lines
1.9 KiB
PHP
<?php
|
|
class Unit extends AppModel {
|
|
|
|
var $name = 'Unit';
|
|
var $validate = array(
|
|
'id' => array('numeric'),
|
|
'unit_size_id' => array('numeric'),
|
|
'name' => array('notempty'),
|
|
'sort_order' => array('numeric'),
|
|
'walk_order' => array('numeric'),
|
|
'deposit' => array('money'),
|
|
'amount' => array('money')
|
|
);
|
|
|
|
var $belongsTo = array(
|
|
'UnitSize' => array(
|
|
'className' => 'UnitSize',
|
|
'foreignKey' => 'unit_size_id',
|
|
'conditions' => '',
|
|
'fields' => '',
|
|
'order' => ''
|
|
),
|
|
'CurrentLease' => array(
|
|
'className' => 'Lease',
|
|
'foreignKey' => 'current_lease_id',
|
|
'conditions' => '',
|
|
'fields' => '',
|
|
'order' => ''
|
|
),
|
|
/* 'Map' => array( */
|
|
/* 'className' => 'MapsUnit', */
|
|
/* 'foreignKey' => 'unit_id', */
|
|
/* 'conditions' => '', */
|
|
/* 'fields' => '', */
|
|
/* 'order' => '' */
|
|
/* ) */
|
|
);
|
|
|
|
var $hasMany = array(
|
|
'Lease' => array(
|
|
'className' => 'Lease',
|
|
'foreignKey' => 'unit_id',
|
|
'dependent' => false,
|
|
'conditions' => '',
|
|
'fields' => '',
|
|
'order' => '',
|
|
'limit' => '',
|
|
'offset' => '',
|
|
'exclusive' => '',
|
|
'finderQuery' => '',
|
|
'counterQuery' => ''
|
|
)
|
|
);
|
|
|
|
function statusEnums() {
|
|
static $status_enums;
|
|
if (!isset($status_enums))
|
|
$status_enums = $this->getEnumValues('status');
|
|
return $status_enums;
|
|
}
|
|
|
|
function statusValue($enum) {
|
|
$enums = $this->statusEnums();
|
|
return $enums[$enum];
|
|
}
|
|
|
|
function occupiedEnumValue() {
|
|
return statusValue('OCCUPIED');
|
|
}
|
|
|
|
function conditionOccupied() {
|
|
return ('Unit.status >= ' . $this->statusValue('OCCUPIED'));
|
|
}
|
|
|
|
function conditionVacant() {
|
|
return ('Unit.status BETWEEN ' .
|
|
($this->statusValue('UNAVAILABLE')+1) .
|
|
' AND ' .
|
|
($this->statusValue('OCCUPIED')-1));
|
|
}
|
|
|
|
function conditionUnavailable() {
|
|
return ('Unit.status <= ' . $this->statusValue('UNAVAILABLE'));
|
|
}
|
|
|
|
}
|