From 1b0d752a55b1674103a04c49ca3acd795396cc1a Mon Sep 17 00:00:00 2001 From: abijah Date: Tue, 11 Aug 2009 07:27:56 +0000 Subject: [PATCH] Modified the statement entries grid, as well as the underlying controller, to support a couple new fields, 'applied' and 'balance'. git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716/site@532 97e9348a-65ac-dc4b-aefc-98561f571b83 --- controllers/customers_controller.php | 13 +-------- controllers/statement_entries_controller.php | 29 ++++++++------------ views/customers/receipt.ctp | 19 ++++++------- views/elements/statement_entries.ctp | 4 ++- 4 files changed, 24 insertions(+), 41 deletions(-) diff --git a/controllers/customers_controller.php b/controllers/customers_controller.php index df2e679..c0c5e1a 100644 --- a/controllers/customers_controller.php +++ b/controllers/customers_controller.php @@ -379,20 +379,9 @@ class CustomersController extends AppController { $this->Customer->recursive = -1; $customer = $this->Customer->read(null, $id); $customer = $customer['Customer']; - $unreconciled = $this->Customer->unreconciledCharges($id); - //pr($unreconciled); - $charges = $unreconciled['entries']; - $stats = $unreconciled['summary']['Charge']; - // Kludge until we update receipt to have the unpaid - // charges grid generated from a dynamic query instead - // of simply pre-providing the list of charge IDs - foreach ($charges AS &$charge) - $charge['id'] = $charge['StatementEntry']['id']; } else { $customer = null; - $charges = array(); - $stats = array('balance' => 0); } $TT = new TenderType(); @@ -401,7 +390,7 @@ class CustomersController extends AppController { $this->set(compact('payment_types', 'default_type')); $title = ($customer['name'] . ': Receipt Entry'); - $this->set(compact('customer', 'charges', 'stats', 'title')); + $this->set(compact('customer', 'title')); } diff --git a/controllers/statement_entries_controller.php b/controllers/statement_entries_controller.php index 26bbd86..6e4e52a 100644 --- a/controllers/statement_entries_controller.php +++ b/controllers/statement_entries_controller.php @@ -35,7 +35,7 @@ class StatementEntriesController extends AppController { * to jqGrid. */ - function gridDataTables(&$params, &$model) { + function gridDataCountTables(&$params, &$model) { $link = array(// Models 'Transaction' => @@ -58,25 +58,18 @@ class StatementEntriesController extends AppController { ), ); - if (isset($params['post']['custom']['statement_entry_id'])) { - $link['DisbursementEntry'] = array(); - $link['ChargeEntry'] = array(); + return array('link' => $link); + } + + function gridDataTables(&$params, &$model) { + $tables = $this->gridDataCountTables($params, $model); + + if (in_array('applied', $params['post']['fields'])) { + $tables['link']['DisbursementEntry'] = array(); + $tables['link']['ChargeEntry'] = array(); } -/* if ($params['action'] === 'collected') { */ -/* $link['DisbursementEntry'] = array('Receipt' => array('class' => 'Transaction')); */ -/* $link['ChargeEntry'] = array('Invoice' => array('class' => 'Transaction')); */ -/* } */ - -/* if (count(array_intersect($params['fields'], array('applied'))) == 1) { */ -/* $link['DisbursementEntry'] = array(); */ -/* $link['ChargeEntry'] = array(); */ -/* } */ -/* elseif (isset($params['post']['custom']['customer_id']) || isset($params['post']['custom']['lease_id'])) { */ -/* $link['DisbursementEntry'] = array(); */ -/* } */ - - return array('link' => $link); + return $tables; } function gridDataFields(&$params, &$model) { diff --git a/views/customers/receipt.ctp b/views/customers/receipt.ctp index d9e7ba5..1b1fb82 100644 --- a/views/customers/receipt.ctp +++ b/views/customers/receipt.ctp @@ -303,17 +303,17 @@ echo ('
' . echo $this->element('statement_entries', array - (// Element configuration - 'account_ftype' => 'credit', - 'limit' => 8, - - // Grid configuration + (// Grid configuration 'config' => array ( 'grid_div_id' => 'charge-entries', 'grid_div_class' => 'text-below', 'caption' => '', - 'rows' => $charges, + 'action' => 'idlist', + 'exclude' => array('Customer', 'Unit', 'Type', 'Debit', 'Credit'), + 'include' => array('Amount', 'Applied', 'Balance'), + 'remap' => array('Applied' => 'Paid'), + 'limit' => 8, ), )); @@ -393,15 +393,11 @@ Configure::write('debug', '0'); showCurrentAtPos: 0, dateFormat: 'mm/dd/yy' }); - datepickerNow('TransactionStamp'); - $("#receipt-customer-id").html("INTERNAL ERROR"); $("#receipt-customer-name").html("INTERNAL ERROR"); $("#receipt-balance").html("INTERNAL ERROR"); $("#receipt-charges-caption").html("Outstanding Charges"); - resetForm(); - $("#customer-id").val(); //$("#receipt-customer-id").html(""); @@ -417,6 +413,9 @@ Configure::write('debug', '0'); onGridState(null, 'visible'); + resetForm(); + datepickerNow('TransactionStamp'); + }); --> diff --git a/views/elements/statement_entries.ctp b/views/elements/statement_entries.ctp index 997c504..573ecc4 100644 --- a/views/elements/statement_entries.ctp +++ b/views/elements/statement_entries.ctp @@ -21,7 +21,9 @@ $cols['Type'] = array('index' => 'StatementEntry.type', 'formatter' => $cols['Debit'] = array('index' => 'charge', 'formatter' => 'currency'); $cols['Credit'] = array('index' => 'disbursement', 'formatter' => 'currency'); +$cols['Amount'] = array('index' => "StatementEntry.amount", 'formatter' => 'currency'); $cols['Applied'] = array('index' => "applied", 'formatter' => 'currency'); +$cols['Balance'] = array('index' => "balance", 'formatter' => 'currency'); $cols['Sub-Total'] = array('index' => 'subtotal-balance', 'formatter' => 'currency', 'sortable' => false); @@ -40,6 +42,6 @@ $grid ->searchFields(array('Customer', 'Unit')) ->render($this, isset($config) ? $config : null, array_diff(array_keys($cols), array('Through', 'Lease', - 'Applied', 'Sub-Total', + 'Amount', 'Applied', 'Balance', 'Sub-Total', 'Comment')));