sidemenu_links); } /************************************************************************** ************************************************************************** ************************************************************************** * action: index / all * - Generate a listing of Tenders */ function index() { $this->all(); } function all() { $this->gridView('All Legal Tender', 'all'); } /************************************************************************** ************************************************************************** ************************************************************************** * virtuals: gridData * - With the application controller handling the gridData action, * these virtual functions ensure that the correct data is passed * to jqGrid. */ function gridDataTables(&$params, &$model) { return array ('contain' => false, ); } function gridDataPostProcessLinks(&$params, &$model, &$records, $links) { $links['Tender'] = array('id'); return parent::gridDataPostProcessLinks($params, $model, $records, $links); } /************************************************************************** ************************************************************************** ************************************************************************** * action: nsf * - Marks a tender as having insufficient funds. */ function nsf($id = null) { if (!$id) { $this->Session->setFlash(__('Invalid Item.', true)); $this->redirect(array('action'=>'index')); } // REVISIT : 20090713 // For testing purposes, must be deleted $stamp = '2009-07-09'; $this->Tender->nsf($id, $stamp); } /************************************************************************** ************************************************************************** ************************************************************************** * action: view * - Displays information about a specific entry */ function view($id = null) { if (!$id) { $this->Session->setFlash(__('Invalid Item.', true)); $this->redirect(array('controller' => 'accounts', 'action'=>'index')); } // Get the Tender and related fields $tender = $this->Tender->find ('first', array ('contain' => array('TenderType'), )); // REVISIT : 20090713 // Consider allowing the NSF operation only if the source is used on // a ledger entry that is debited on a "payable" account (perhaps // even restricted to "payable" ASSET accounts), credited on Receipt // (or A/R), and reconciles the credit to an entry that debits on a // "depositable" account. // Set up dynamic menu items $this->sidemenu_links[] = array('name' => 'Operations', 'header' => true); $this->sidemenu_links[] = array('name' => 'NSF', 'url' => array('action' => 'nsf', $id)); // Prepare to render. $title = "Tender #{$tender['Tender']['id']}"; $this->set(compact('tender', 'title')); } }