More work on refund. I'm going to skip the whole voucher/credit_note bit and simply present a page that lets the user enter a date, an account, and the amount to refund, recording 1 payment transaction.

git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@491 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
abijah
2009-08-06 02:52:45 +00:00
parent cca698d437
commit 4d62d7da73
7 changed files with 111 additions and 73 deletions

View File

@@ -464,6 +464,51 @@ class Lease extends AppModel {
}
/**************************************************************************
**************************************************************************
**************************************************************************
* function: refund
* - Marks any lease balance as payable to the customer.
*/
function refund($id, $stamp = null) {
$this->prEnter(compact('id'));
$balance = $this->balance($id);
if ($balance >= 0)
return $this->prReturn(array('error' => true));
$balance *= -1;
// Build a transaction
$refund = array('Transaction' => array(), 'Entry' => array());
$refund['Transaction']['stamp'] = $stamp;
$refund['Transaction']['comment'] = "Lease Refund";
$refund['Entry'][] =
array('amount' => $balance);
$result = $this->StatementEntry->Transaction->addRefund
($refund, null, $id);
return $this->prReturn($result);
}
/**************************************************************************
**************************************************************************
**************************************************************************
* function: balance
* - Returns the balance of money owed on the lease
*/
function balance($id) {
$this->prEnter(compact('id'));
$stats = $this->stats($id);
return $this->prReturn($stats['balance']);
}
/**************************************************************************
**************************************************************************
**************************************************************************