Added the ability to accept payments (or a write-off) on a closed lease, if there is a balance owing. Added the ability to do write off bad debt at the customer level, since some charges may not be on a lease, like the NSF fee.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@516 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -291,6 +291,7 @@ class LeasesController extends AppController {
|
||||
*/
|
||||
|
||||
function bad_debt($id) {
|
||||
$this->Lease->id = $id;
|
||||
$lease = $this->Lease->find
|
||||
('first', array
|
||||
('contain' => array
|
||||
@@ -298,20 +299,14 @@ class LeasesController extends AppController {
|
||||
'Unit' => array('fields' => array('id', 'name')),
|
||||
'Customer' => array('fields' => array('id', 'name')),
|
||||
),
|
||||
|
||||
'conditions' => array(array('Lease.id' => $id),
|
||||
// Make sure lease is not closed...
|
||||
array('Lease.close_date' => null),
|
||||
),
|
||||
));
|
||||
|
||||
// Make sure we have a valid lease to write off
|
||||
if (empty($lease))
|
||||
$this->redirect(array('action' => 'view', $id));
|
||||
|
||||
// Get the lease balance, part of lease stats
|
||||
$stats = $this->Lease->stats($id);
|
||||
$balance = $stats['balance'];
|
||||
// Get the lease balance
|
||||
$balance = $this->Lease->balance($id);
|
||||
|
||||
// Prepare to render
|
||||
$title = ('Lease #' . $lease['Lease']['number'] . ': ' .
|
||||
@@ -465,8 +460,11 @@ class LeasesController extends AppController {
|
||||
$outstanding_balance = $this->Lease->balance($id);
|
||||
$outstanding_deposit = $this->Lease->securityDepositBalance($id);
|
||||
|
||||
// Set up dynamic menu items
|
||||
if (!isset($lease['Lease']['close_date'])) {
|
||||
// Set up dynamic menu items. Normally, these will only be present
|
||||
// on an open lease, but it's possible for a lease to be closed, and
|
||||
// yet still have an outstanding balance. This can happen if someone
|
||||
// were to reverse charges, or if a payment should come back NSF.
|
||||
if (!isset($lease['Lease']['close_date']) || $outstanding_balance > 0) {
|
||||
$this->sidemenu_links[] =
|
||||
array('name' => 'Operations', 'header' => true);
|
||||
|
||||
@@ -475,9 +473,10 @@ class LeasesController extends AppController {
|
||||
array('name' => 'Move-Out', 'url' => array('action' => 'move_out',
|
||||
$id));
|
||||
|
||||
$this->sidemenu_links[] =
|
||||
array('name' => 'Charges', 'url' => array('action' => 'invoice',
|
||||
$id));
|
||||
if (!isset($lease['Lease']['close_date']))
|
||||
$this->sidemenu_links[] =
|
||||
array('name' => 'Charges', 'url' => array('action' => 'invoice',
|
||||
$id));
|
||||
|
||||
$this->sidemenu_links[] =
|
||||
array('name' => 'Payments', 'url' => array('controller' => 'customers',
|
||||
|
||||
Reference in New Issue
Block a user