From e4426cde55b0884e052ec8d72f5c8445f18c314a 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/site@422 97e9348a-65ac-dc4b-aefc-98561f571b83 --- controllers/transactions_controller.php | 2 +- models/transaction.php | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/controllers/transactions_controller.php b/controllers/transactions_controller.php index 4f2c73b..71e4e3c 100644 --- a/controllers/transactions_controller.php +++ b/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/models/transaction.php b/models/transaction.php index cfebc8e..9998335 100644 --- a/models/transaction.php +++ b/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