/** * Method to set the model state * can be override in the child class * @param unknown_type $model * @return array */ function _setModelState($model) { $app = JFactory::getApplication(); $ns = $app->getName() . '::' . 'com.tienda.model.' . $model->getTable()->get('_suffix'); $state = array(); $filters = $this->getFilters(); foreach ($filters as $k => $val) { $state[$k] = $app->getUserStateFromRequest($ns . str_replace('filter_', '', $k), $k, '', ''); } foreach (@$state as $key => $value) { $model->setState($key, $value); } return $state; }
/** * Method to set the model state * can be override in the child class * @param unknown_type $model * @return array */ function _setModelState($model) { $app = JFactory::getApplication(); $ns = $app->getName() . '::' . 'com.tienda.model.' . $model->getTable()->get('_suffix'); $state = array(); $state['limit'] = $app->getUserStateFromRequest('global.list.limit', 'limit', $app->getCfg('list_limit'), 'int'); $state['limitstart'] = $app->getUserStateFromRequest($ns . 'limitstart', 'limitstart', 0, 'int'); $state['order'] = $app->getUserStateFromRequest($ns . '.filter_order', 'filter_order', 'tbl.' . $model->getTable()->getKeyName(), 'cmd'); $state['direction'] = $app->getUserStateFromRequest($ns . '.filter_direction', 'filter_direction', 'ASC', 'word'); $state['filter'] = $app->getUserStateFromRequest($ns . '.filter', 'filter', '', 'string'); $state['filter_enabled'] = $app->getUserStateFromRequest($ns . 'enabled', 'filter_enabled', '', ''); $filters = $this->getFilters(); foreach ($filters as $k => $val) { $state[$k] = $app->getUserStateFromRequest($ns . str_replace('filter_', '', $k), $k, '', ''); } foreach (@$state as $key => $value) { $model->setState($key, $value); } return $state; }
/** * Set the invoice status to "Paid" after a successful payment * * @param unknown_type $order */ private function _updateInvoices($order, $message) { $invoices = $order->getInvoiceCollection(); $state = Mage_Sales_Model_Order::STATE_PROCESSING; $payment = $order->getPayment(); $transaction; $session = Mage::getSingleton('checkout/session'); $szNewCrossReference; $transactionId = $payment->getLastTransId(); $transaction = $payment->getTransaction($transactionId); $transactionType = $transaction->getTxnType(); if ($session->getNewCrossReference()) { $szNewCrossReference = $session->getNewCrossReference(); $value = $transaction->setTxnId($szNewCrossReference); $transaction->save(); $payment->setLastTransId($szNewCrossReference); $session->setNewCrossReference(null); } foreach ($invoices as $invoice) { // set the invoice state to be "Paid" $invoice->pay()->save(); } // add a comment to the order comments if ($transactionType == 'authorization') { $order->setState($state, 'csv_preauth', $message, true); } else { if ($transactionType == 'capture') { $order->setState($state, 'csv_paid', $message, true); } else { Mage::throwException('invalid transaction type [' . $transactionType . '] for invoice updating'); } } $order->save(); }