Implemented a list that checks for collected rents. There is AccountsController::collected, which I'm keeping at the moment, but I decided to move the logic into ledger_entries, since ultimately that's what we want a list of and it doesn't make sense to add a bunch of LedgerEntry logic into the jqGrid query of AccountsController. Of course, right now there is hardcoded calendar functions, and hardcoded exclusion of the Concession Account. I will probably offer up two calendars to provide a range, and a list of checkboxes of each payable account.

git-svn-id: file:///svn-source/pmgr/branches/invoice_receipt_20090629@318 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
abijah
2009-07-12 18:01:01 +00:00
parent 0c13ef5cda
commit 6e1c684a06
4 changed files with 196 additions and 3 deletions

View File

@@ -139,6 +139,84 @@ class AccountsController extends AppController {
}
/**************************************************************************
**************************************************************************
**************************************************************************
* action: collected
* - Displays the items actually collected for the period
* e.g. How much was collected in rent from 4/1/09 - 5/1/09
*/
function collected($id) {
//if ($this->data) {
//pr($this->data);
//}
/* $tillable_account = $this->Account->relatedAccounts('tillable'); */
/* $depositable_account = $this->Account->relatedAccounts('depositable'); */
$ledger_entries =
$this->Account->Ledger->LedgerEntry->find
('all',
array('link' => array
('Ledger' =>
array('fields' => array('sequence'),
'Account' =>
array('fields' => array('id', 'name')),
),
'MonetarySource' =>
array('fields' => array('name')),
'Customer' =>
array('fields' => array('name')),
'Transaction' =>
array('fields' => array('stamp')),
// Income / Receipt flow
// debit: Receipt credit: A/R <-- this entry
// debit: A/R credit: Income <-- CRLE, below
//
// We're searching for the Receipt<->A/R entries,
// which are credits on the A/R account. Find the
// reconciling A/R entries (except for unassigned
// pre-payments, all A/R credits should have one).
'CreditReconciliationLedgerEntry' =>
array('alias' => 'RLedgerEntry',
'fields' => true,
'Transaction' =>
array('alias' => 'RTransaction',
'fields' => array('stamp')),
// Debit should be A/R; Credit is Account of interest
'CreditLedger' =>
array('alias' => 'RLedger',
'fields' => true,
'Account' =>
array('alias' => 'RAccount',
'fields' => true,
),
),
),
),
'fields' => array('LedgerEntry.*', 'Reconciliation.amount'),
'conditions' => array(array('RAccount.id' => $id),
//array('Account.tillable' => 1),
),
));
pr(compact('ledger_entries'));
$title = 'Collected Whatever';
$this->set(compact('title', 'ledger_entries'));
//$this->render('/empty');
}
/**************************************************************************
**************************************************************************
**************************************************************************
@@ -258,6 +336,9 @@ class AccountsController extends AppController {
array('name' => 'Operations', 'header' => true);
$this->sidemenu_links[] =
array('name' => 'New Ledger', 'url' => array('action' => 'newledger', $id));
$this->sidemenu_links[] =
array('name' => 'Collected', 'url' => array('controller' => 'ledger_entries',
'action' => 'collected', $id));
// Prepare to render
$title = 'Account: ' . $account['Account']['name'];