echo __('group_by_fulfillments'); ?> </option> <option value="1" <?if($filterFields['show_orders']==1){?>selected="" <?}?>><?php echo __('group_by_orders'); ?> </option> </select> <?if($filterFields['show_orders']==1){?> <select name="from" class="chosen-select select-xlarge af_select_ajax" data-placeholder="<?php echo __('all_type'); ?> "> <option value=""></option> <?foreach(Fulfillment::orderSType() as $itemType){?> <option value="<?php echo $itemType; ?> " <?if($filterFields['from']==$itemType){?>selected=""<?}?>><?php echo __($itemType); ?> </option> <?}?> </select> <?}?> <br> <select multiple name="fulfillment_id" class="chosen-select select-xlarge af_select_ajax" data-placeholder="<?php echo __('choose_fulfilment');
public function fulfillmentAction() { $clearArray = array('fulfillment_id', 'o_status'); $this->filter($clearArray); if (!isset($this->params['r_dates'])) { $today = date("d.m.Y"); $this->params['r_dates'] = $today . '-' . $today; } if (!isset($this->params['show_orders'])) { $this->params['show_orders'] = 0; } $pagination = new Pagination(array('action' => $this->action, 'controller' => $this->controller, 'params' => $this->params, 'ajax' => true)); $showOrders = AF::get($this->params, 'show_orders') ? true : false; if ($showOrders && isset($this->params['from']) && in_array($this->params['from'], Fulfillment::orderSType())) { switch ($this->params['from']) { case 'shippable_orders': $this->params['o_status'] = implode(',', array(Order::STATUS_OK, Order::STATUS_SENT)); $this->params['o_flag'] = Order::FlAG_PAID; $this->params['o_not_flag'] = Order::FlAG_TEST; break; case 'shippable_products': $this->params['o_status'] = implode(',', array(Order::STATUS_OK, Order::STATUS_SENT)); $this->params['o_flag'] = Order::FlAG_PAID; $this->params['o_not_flag'] = Order::FlAG_TEST; break; case 'orders_pending_post': $this->params['o_status'] = implode(',', array(Order::STATUS_OK)); $this->params['o_flag'] = Order::FlAG_PAID; $this->params['o_not_flag'] = Order::FlAG_TEST; break; case 'orders_sent_to_fulfillment': $this->params['o_status'] = implode(',', array(Order::STATUS_SENT)); $this->params['o_flag'] = Order::FlAG_PAID; $this->params['o_not_flag'] = Order::FlAG_TEST; break; case 'orders_pending_tracking': $this->params['o_status'] = implode(',', array(Order::STATUS_SENT, Order::STATUS_SHIPPED)); $this->params['o_flag'] = Order::FlAG_PAID; $this->params['p_tracking_number'] = ''; $this->params['o_not_flag'] = Order::FlAG_TEST; break; case 'shipped_orders': $this->params['o_status'] = implode(',', array(Order::STATUS_SHIPPED)); $this->params['o_flag'] = Order::FlAG_PAID; $this->params['o_not_flag'] = Order::FlAG_TEST; break; case 'returned_orders': $this->params['o_status'] = implode(',', array(Order::STATUS_RETURNED)); $this->params['o_not_flag'] = Order::FlAG_TEST; break; } } $models = AFActiveDataProvider::models('Fulfillment', $this->params, $pagination); if ($showOrders) { $dataProvider = $models->getStatusReportByOrder(); $total = null; $fields = array('order_id_link', 'created_formatted', 'shippable_products', 'return_reason_formatted', 'status'); } else { $dataProvider = $models->getStatusReport(); $total = $models->getTotalReport(); $fields = array('fulfillment_formatted', 'shippable_orders_link', 'shippable_products_link', 'orders_pending_post_link', 'orders_sent_to_fulfillment_link', 'orders_pending_tracking_link', 'shipped_orders_link', 'returned_orders_link'); } $filterFields = OrderLog::$FilterFields = $models->getoutFilterFields($clearArray, array('r_dates')); $fulfillments = $models->getReportFulfillments(); // set ajax table if (AF::isAjaxRequestModels()) { $this->view->includeFile('_fulfillment_table', array('application', 'views', 'reports'), array('access' => $this->access, 'controller' => $this->controller, 'dataProvider' => $dataProvider, 'pagination' => $pagination, 'filterFields' => $filterFields, 'total' => $total[0], 'fields' => $fields, 'ajax' => true, 'fulfillments' => $fulfillments)); die; } if (isset($this->params['download_csv'])) { $csvField = $fields; $changeArray = array('shippable_orders_link' => 'shippable_orders', 'shippable_products_link' => 'shippable_products', 'orders_pending_post_link' => 'orders_pending_post', 'orders_sent_to_fulfillment_link' => 'orders_sent_to_fulfillment', 'orders_pending_tracking_link' => 'orders_pending_tracking', 'shipped_orders_link' => 'shipped_orders', 'returned_orders_link' => 'returned_orders', 'order_id_link' => 'order_id', 'return_reason_formatted' => 'return_reason'); foreach ($changeArray as $k => $v) { $key = array_search($k, $csvField); if ($key || $key === 0) { $csvField[$key] = $v; } } Csv::printDataProviderCsv($dataProvider, $csvField, 'fulfillment_report'); } Assets::css('jquery-ui'); Assets::js('//code.jquery.com/ui/1.10.3/jquery-ui.js'); Assets::js('dateRange/jquery.daterange'); Assets::js('ajax_table'); $this->render('fulfillment', array('dataProvider' => $dataProvider, 'pagination' => $pagination, 'filterFields' => $filterFields, 'fields' => $fields, 'fulfillments' => $fulfillments, 'total' => $total[0])); }