diff --git a/site/controllers/units_controller.php b/site/controllers/units_controller.php index 92db2ef..96f22d8 100644 --- a/site/controllers/units_controller.php +++ b/site/controllers/units_controller.php @@ -398,22 +398,10 @@ class UnitsController extends AppController { $outstanding_deposit = $this->Unit->Lease->securityDepositBalance($unit['CurrentLease']['id']); } - // If the unit is occupied, but not locked, provide a - // mechanism to do so. This doesn't have to be restricted - // to past due customers. There are times we need to - // overlock customers in good standing, such as if their - // lock breaks, is cut, or missing for any reason. - if ($this->Unit->occupied($unit['Unit']['status']) && - !$this->Unit->locked($unit['Unit']['status'])) - $this->addSideMenuLink('Lock', - array('action' => 'lock', $id), null, - 'ACTION'); - - // If the unit is locked, provide an option to unlock it, - if ($this->Unit->locked($unit['Unit']['status'])) - $this->addSideMenuLink('Relock/Unlock', - array('action' => 'lock', $id), null, - 'ACTION'); + // Add a mechanism to lock ANY unit, regardless of status + $this->addSideMenuLink($this->Unit->lockCount($id) == 0 ? 'Lock' : 'Relock/Unlock', + array('action' => 'lock', $id), null, + 'ACTION'); // If the unit is locked, but not liened, give option to lien. if ($this->Unit->locked($unit['Unit']['status']) && diff --git a/site/models/unit.php b/site/models/unit.php index 3177594..3546ef8 100644 --- a/site/models/unit.php +++ b/site/models/unit.php @@ -248,6 +248,23 @@ class Unit extends AppModel { } + /************************************************************************** + ************************************************************************** + ************************************************************************** + * function: lockCount + * - Number of locks on a unit + */ + function lockCount($id) { + $this->prEnter(compact('id')); + return $this->prReturn($this->find + ('count', array + ('fields' => array("COUNT(Lock.id) AS count"), + 'link' => array('Lock'), + 'conditions' => array('Unit.id' => $id), + ))); + } + + /************************************************************************** ************************************************************************** **************************************************************************