public function allocate() { if (!$this->loadData()) { $this->dataError(); sendBack(); } $supplier = $this->_uses[$this->modeltype]; $transaction = DataObjectFactory::Factory('PLTransaction'); $transactions = new PLTransactionCollection($transaction, 'pl_allocation_overview'); $sh = new SearchHandler($transactions, false); $db = DB::Instance(); $sh->addConstraint(new Constraint('status', 'in', '(' . $db->qstr($transaction->open()) . ',' . $db->qstr($transaction->partPaid()) . ')')); $sh->addConstraint(new Constraint('plmaster_id', '=', $supplier->id)); $sh->setOrderby(array('supplier', 'our_reference')); $transactions->load($sh); $this->view->set('allocated_total', 0); $this->view->set('transactions', $transactions); $this->view->set('no_ordering', true); }
public function select_for_payment() { $errors = array(); $supplier = DataObjectFactory::Factory('plsupplier'); if (isset($this->_data['plmaster_id'])) { $supplier->load($this->_data['plmaster_id']); } // Search $s_data = array(); // Set context from calling module if ($supplier) { $s_data['plmaster_id'] = $supplier->id; } $params = DataObjectFactory::Factory('GLParams'); $s_data['currency_id'] = $params->base_currency(); $paytype = DataObjectFactory::Factory('PaymentType'); $cc = new ConstraintChain(); $cc->add(new Constraint('method_id', 'is not', 'NULL')); $paytypes = $paytype->getAll($cc); $paytype_ids = array_keys($paytypes); $s_data['payment_type_id'] = $paytype_ids[0]; $this->setSearch('pltransactionsSearch', 'select_payments', $s_data); // End of search $cc = ''; if (isset($this->search)) { $cc = new ConstraintChain(); $cc = $this->search->toConstraintChain(); } $transaction = DataObjectFactory::Factory('PLTransaction'); $transactions = new PLTransactionCollection($transaction, 'pl_allocation_overview'); $sh = new SearchHandler($transactions, false); $sh->addConstraint(new Constraint('status', '=', 'O')); $sh->addConstraintChain($cc); $sh->setOrderby(array('supplier', 'our_reference')); $transactions->load($sh); $this->view->set('transactions', $transactions); $this->view->set('no_ordering', true); $sidebar = new SidebarController($this->view); $sidebarlist = array(); $this->sidebarIndex($sidebarlist); $this->sidebarAllPayments($sidebarlist); $sidebar->addList('Actions', $sidebarlist); $this->view->register('sidebar', $sidebar); $this->view->set('sidebar', $sidebar); }
public function hasCurrentActivity() { $db = DB::Instance(); // Check that no orders/invoices have been raised $model = DataObjectFactory::Factory('POrder'); $collection = new POrderCollection($model); $sh = new SearchHandler($collection, FALSE); $sh->addConstraint(new Constraint('plmaster_id', '=', $this->id)); $sh->addConstraint(new Constraint('status', 'NOT IN', '(' . $db->qstr($model->cancelStatus()) . ', ' . $db->qstr($model->invoiceStatus()) . ')')); if (count($collection->load($sh, null, RETURN_ROWS)) > 0) { return TRUE; } $model = DataObjectFactory::Factory('PInvoice'); $collection = new PInvoiceCollection($model); $sh = new SearchHandler($collection, FALSE); $sh->addConstraint(new Constraint('plmaster_id', '=', $this->id)); $sh->addConstraint(new Constraint('status', '!=', $model->paidStatus())); if (count($collection->load($sh, null, RETURN_ROWS)) > 0) { return TRUE; } $model = DataObjectFactory::Factory('PLTransaction'); $collection = new PLTransactionCollection($model); $sh = new SearchHandler($collection, FALSE); $sh->addConstraint(new Constraint('plmaster_id', '=', $this->id)); $sh->addConstraint(new Constraint('status', '!=', $model->paid())); if (count($collection->load($sh, null, RETURN_ROWS)) > 0) { return TRUE; } return FALSE; }