From adddfecada3c5693226bae111ec82f60ca743544 Mon Sep 17 00:00:00 2001 From: abijah Date: Thu, 30 Jul 2009 02:17:49 +0000 Subject: [PATCH] Fixed the problem with zero dollar balance forward entries when closing a ledger. git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@422 97e9348a-65ac-dc4b-aefc-98561f571b83 --- requirements.txt | 2 +- site/controllers/transactions_controller.php | 2 +- site/models/transaction.php | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index 9cb128e..3d09527 100644 --- a/requirements.txt +++ b/requirements.txt @@ -64,5 +64,5 @@ Operations to be functional - Record Petty Cash to refund. ? - Write Off Bad Debt X - Perform a Deposit - ? - Close the Books (nightly / weekly, etc) + X - Close the Books (nightly / weekly, etc) X - Determine Rents Collected for a given period. diff --git a/site/controllers/transactions_controller.php b/site/controllers/transactions_controller.php index 4f2c73b..71e4e3c 100644 --- a/site/controllers/transactions_controller.php +++ b/site/controllers/transactions_controller.php @@ -167,7 +167,7 @@ class TransactionsController extends AppController { // have their corresponding account ledgers closed. $type_ids = $close_type_ids = array(); foreach ($this->data['TenderType'] AS $type_id => $type) { - if (!$type['checked']) + if (empty($type['checked'])) continue; $type_ids[] = $type_id; diff --git a/site/models/transaction.php b/site/models/transaction.php index cfebc8e..9998335 100644 --- a/site/models/transaction.php +++ b/site/models/transaction.php @@ -164,6 +164,7 @@ class Transaction extends AppModel { $close['lease_id'] = null; $ledger_ids = array(); + $data['Entry'] = array(); foreach ($data['Ledger'] AS $ledger) { $ledger_id = $ledger['old_ledger_id']; $new_ledger_id = $ledger['new_ledger_id']; @@ -176,7 +177,7 @@ class Transaction extends AppModel { $ledger_ids[] = $ledger_id; // No need to generate ledger entries if there is no balance - if (empty($ledger['amount'])) + if (empty($ledger['amount']) || $ledger['amount'] == 0) continue; // Add an entry to carry the ledger balance forward @@ -311,7 +312,8 @@ class Transaction extends AppModel { /* => compact('data'))); */ // Verify that we have a transaction and entries - if (empty($data['Transaction']) || empty($data['Entry'])) + if (empty($data['Transaction']) || + ($data['Transaction']['type'] !== 'CLOSE' && empty($data['Entry']))) return array('error' => true); // Extract the transaction to a local variable