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