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' => '' ), /* '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')); } }