'Transaction.id', 'formatter' => 'id'); $cols['Entry'] = array('index' => 'LedgerEntry.id', 'formatter' => 'id'); $cols['Date'] = array('index' => 'Transaction.stamp', 'formatter' => 'date'); $cols['Effective'] = array('index' => 'LedgerEntry.effective_date', 'formatter' => 'date'); $cols['Through'] = array('index' => 'LedgerEntry.through_date', 'formatter' => 'date'); $cols['Account'] = array('index' => 'Account.name', 'formatter' => 'name'); $cols['Debit Account'] = array('index' => 'DebitAccount.name', 'formatter' => 'name'); $cols['Credit Account'] = array('index' => 'CreditAccount.name', 'formatter' => 'name'); $cols['Customer'] = array('index' => 'Customer.name', 'formatter' => 'longname'); //$cols['Lease'] = array('index' => 'Lease.number', 'formatter' => 'id'); $cols['Unit'] = array('index' => 'Unit.name', 'formatter' => 'name'); $cols['Source'] = array('index' => 'MonetarySource.name', 'formatter' => 'name'); $cols['Comment'] = array('index' => 'LedgerEntry.comment', 'formatter' => 'comment', 'width'=>150); $cols['Amount'] = array('index' => 'LedgerEntry.amount', 'formatter' => 'currency'); $cols['Debit'] = array('index' => 'debit', 'formatter' => 'currency'); $cols['Credit'] = array('index' => 'credit', 'formatter' => 'currency'); $cols['Applied'] = array('index' => "Reconciliation.amount", 'formatter' => 'currency'); $cols['Sub-Total'] = array('index' => 'subtotal', 'formatter' => 'currency', 'sortable' => false); if (isset($account_ftype) || isset($ledger_id) || isset($account_id) || isset($ar_account)) { $single_account = true; $double_account = false; } else { $single_account = false; $double_account = true; } if (isset($no_account)) $single_account = $double_account = false; if (isset($ledger_id) || isset($account_id) || isset($ar_account)) { $single_amount = false; } else { $single_amount = true; } if (isset($lease_id) || isset($customer_id)) { $references = false; } else { $references = true; } if (isset($reconcile_id)) { $applied_amount = true; } else { $applied_amount = false; } if (isset($account_ftype)) { $subtotal_amount = false; } else { $subtotal_amount = true; } if (!$single_account) $grid->invalidFields('Account'); if (!$double_account) $grid->invalidFields(array('Debit Account', 'Credit Account')); if (!$references) $grid->invalidFields(array('Customer', 'Lease', 'Unit')); if ($single_amount) $grid->invalidFields(array('Debit', 'Credit')); else $grid->invalidFields('Amount'); if (!$applied_amount) $grid->invalidFields('Applied'); if (!$subtotal_amount) $grid->invalidFields('Sub-Total'); if (!isset($config['rows'])) { $config['action'] = 'ledger'; $grid->limit(50); } if (isset($reconcile_id)) { $grid->customData(compact('reconcile_id'))->limit(5); } // Set up search fields if requested by caller if (isset($searchfields)) $grid->searchFields(array('Customer', 'Unit')); // Include custom data $grid->customData(compact('ledger_id', 'account_id', 'ar_account', 'account_type', 'account_ftype', 'customer_id', 'lease_id', 'transaction_id', 'notxgroup')); // Render the grid $grid ->columns($cols) ->sortField('Date') ->defaultFields(array('Entry', 'Amount', 'Credit', 'Debit')) ->render($this, isset($config) ? $config : null);