Finished basic functionality for Move-Out. This still needs some work to handle the security deposit.

git-svn-id: file:///svn-source/pmgr/branches/invoice_receipt_20090629@202 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
abijah
2009-07-02 20:00:50 +00:00
parent 591e1db81d
commit 504f1e7cc0
8 changed files with 352 additions and 57 deletions

View File

@@ -19,7 +19,7 @@ class Unit extends AppModel {
var $hasOne = array(
'CurrentLease' => array(
'className' => 'Lease',
'conditions' => 'CurrentLease.close_date IS NULL',
'conditions' => 'CurrentLease.moveout_date IS NULL',
),
);
@@ -27,36 +27,54 @@ class Unit extends AppModel {
'Lease',
);
function statusEnums() {
static $status_enums;
if (!isset($status_enums))
$status_enums = $this->getEnumValues('status');
return $status_enums;
}
/**************************************************************************
**************************************************************************
**************************************************************************
* helpers: status enumerations
*/
function statusValue($enum) {
$enums = $this->statusEnums();
return $enums[$enum];
}
function statusEnums() {
static $status_enums;
if (!isset($status_enums))
$status_enums = $this->getEnumValues('status');
return $status_enums;
}
function occupiedEnumValue() {
return statusValue('OCCUPIED');
}
function statusValue($enum) {
$enums = $this->statusEnums();
return $enums[$enum];
}
function conditionOccupied() {
return ('Unit.status >= ' . $this->statusValue('OCCUPIED'));
}
function occupiedEnumValue() {
return statusValue('OCCUPIED');
}
function conditionVacant() {
return ('Unit.status BETWEEN ' .
($this->statusValue('UNAVAILABLE')+1) .
' AND ' .
($this->statusValue('OCCUPIED')-1));
}
function conditionOccupied() {
return ('Unit.status >= ' . $this->statusValue('OCCUPIED'));
}
function conditionUnavailable() {
return ('Unit.status <= ' . $this->statusValue('UNAVAILABLE'));
}
function conditionVacant() {
return ('Unit.status BETWEEN ' .
($this->statusValue('UNAVAILABLE')+1) .
' AND ' .
($this->statusValue('OCCUPIED')-1));
}
function conditionUnavailable() {
return ('Unit.status <= ' . $this->statusValue('UNAVAILABLE'));
}
/**************************************************************************
**************************************************************************
**************************************************************************
* function: updateStatus
* - Update the given unit to the given status
*/
function updateStatus($id, $status) {
$this->id = $id;
pr(compact('id', 'status'));
$this->saveField('status', $status);
}
/**************************************************************************
**************************************************************************