public function postExecute($order_id = null, $result = null) { $data = parent::postExecute($order_id, $result); $log_model = new waLogModel(); $log_model->add('order_complete', $order_id); $order_model = new shopOrderModel(); if (is_array($order_id)) { $order = $order_id; $order_id = $order['id']; } else { $order = $order_model->getById($order_id); } shopCustomers::recalculateTotalSpent($order['contact_id']); if ($order !== null) { $log_model = new shopOrderLogModel(); $state_id = $log_model->getPreviousState($order_id); $app_settings_model = new waAppSettingsModel(); $update_on_create = $app_settings_model->get('shop', 'update_stock_count_on_create_order'); if (!$update_on_create && $state_id == 'new') { // jump through 'processing' state - reduce // for logging changes in stocks shopProductStocksLogModel::setContext(shopProductStocksLogModel::TYPE_ORDER, 'Order %s was completed', array('order_id' => $order_id)); $order_model = new shopOrderModel(); $order_model->reduceProductsFromStocks($order_id); shopProductStocksLogModel::clearContext(); } $order_model->recalculateProductsTotalSales($order_id); } return $data; }
public function execute($oder_id = null) { // Restore previous state $log_model = new shopOrderLogModel(); $params = array(); $this->state_id = $log_model->getPreviousState($oder_id, $params); // Restore order.paid_*, customer.total_spent and customer.affiliation_bonus $paid_date = ifset($params['paid_date']); if ($paid_date) { $t = strtotime($paid_date); $result['update'] = array('paid_year' => date('Y', $t), 'paid_quarter' => floor((date('n', $t) - 1) / 3) + 1, 'paid_month' => date('n', $t), 'paid_date' => date('Y-m-d', $t)); return $result; } return true; }
public function postExecute($params = null, $result = null) { if (is_array($params)) { $order_id = $params['order_id']; } else { $order_id = $params; } $data = parent::postExecute($order_id, $result); $log_model = new waLogModel(); $log_model->add('order_ship', $order_id); $log_model = new shopOrderLogModel(); $state_id = $log_model->getPreviousState($order_id); $app_settings_model = new waAppSettingsModel(); $update_on_create = $app_settings_model->get('shop', 'update_stock_count_on_create_order'); if (!$update_on_create && $state_id == 'new') { // for logging changes in stocks shopProductStocksLogModel::setContext(shopProductStocksLogModel::TYPE_ORDER, 'Order %s was shipped', array('order_id' => $order_id)); // jump through 'processing' state - reduce $order_model = new shopOrderModel(); $order_model->reduceProductsFromStocks($order_id); shopProductStocksLogModel::clearContext(); } return $data; }