Some of the finer detail work, mostly around pre-populating the move-in invoice with useful and correct data, and allowing the lease rent and deposit to be set at movein.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@503 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -55,10 +55,50 @@ class Unit extends AppModel {
|
||||
return $this->statusValue('OCCUPIED');
|
||||
}
|
||||
|
||||
function statusCheck($id_or_enum,
|
||||
$min = null, $min_strict = false,
|
||||
$max = null, $max_strict = false)
|
||||
{
|
||||
$this->prEnter(compact('id_or_enum', 'min', 'min_strict', 'max', 'max_strict'));
|
||||
|
||||
if (is_int($id_or_enum)) {
|
||||
$this->id = $id_or_enum;
|
||||
$id_or_enum = $this->field('status');
|
||||
}
|
||||
|
||||
$enum_val = $this->statusValue($id_or_enum);
|
||||
if (isset($min) && is_string($min))
|
||||
$min = $this->statusValue($min);
|
||||
if (isset($max) && is_string($max))
|
||||
$max = $this->statusValue($max);
|
||||
|
||||
$this->pr(17, compact('enum_val', 'min', 'min_strict', 'max', 'max_strict'));
|
||||
|
||||
if (isset($min) &&
|
||||
($enum_val < $min ||
|
||||
($min_strict && $enum_val == $min)))
|
||||
return $this->prReturn(false);
|
||||
|
||||
if (isset($max) &&
|
||||
($enum_val > $max ||
|
||||
($max_strict && $enum_val == $max)))
|
||||
return $this->prReturn(false);
|
||||
|
||||
return $this->prReturn(true);
|
||||
}
|
||||
|
||||
function occupied($enum) {
|
||||
return $this->statusCheck($enum, 'OCCUPIED', false, null, false);
|
||||
}
|
||||
|
||||
function conditionOccupied() {
|
||||
return ('Unit.status >= ' . $this->statusValue('OCCUPIED'));
|
||||
}
|
||||
|
||||
function vacant($enum) {
|
||||
return $this->statusCheck($enum, 'UNAVAILABLE', true, 'OCCUPIED', true);
|
||||
}
|
||||
|
||||
function conditionVacant() {
|
||||
return ('Unit.status BETWEEN ' .
|
||||
($this->statusValue('UNAVAILABLE')+1) .
|
||||
@@ -66,10 +106,16 @@ class Unit extends AppModel {
|
||||
($this->statusValue('OCCUPIED')-1));
|
||||
}
|
||||
|
||||
function unavailable($enum) {
|
||||
return $this->statusCheck($enum, null, false, 'UNAVAILABLE', false);
|
||||
}
|
||||
|
||||
function conditionUnavailable() {
|
||||
return ('Unit.status <= ' . $this->statusValue('UNAVAILABLE'));
|
||||
}
|
||||
|
||||
function available($enum) { return $this->vacant($enum); }
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
**************************************************************************
|
||||
|
||||
Reference in New Issue
Block a user