Exemplo n.º 1
0
 public function getShipmentList()
 {
     $keys_array = array('id_shipment', 'date_shipped', 'id_order', 'date_add', 'carrier', 'customer', 'quantity', 'manifest', 'label', 'date_pickup');
     if (Tools::isSubmit('submitFilterButtonShipments')) {
         foreach ($_POST as $key => $value) {
             if (strpos($key, 'ShipmentsFilter_') !== false) {
                 if (is_array($value)) {
                     $this->context->cookie->{$key} = Tools::jsonEncode($value);
                 } else {
                     $this->context->cookie->{$key} = $value;
                 }
             }
         }
     }
     if (Tools::isSubmit('submitResetShipments')) {
         foreach ($keys_array as $key) {
             if ($this->context->cookie->__isset('ShipmentsFilter_' . $key)) {
                 $this->context->cookie->__unset('ShipmentsFilter_' . $key);
                 unset($_POST['ShipmentsFilter_' . $key]);
             }
         }
     }
     $page = (int) Tools::getValue('submitFilterShipments');
     if (!$page) {
         $page = 1;
     }
     $selected_pagination = (int) Tools::getValue('pagination', $this->pagination[0]);
     $start = $selected_pagination * $page - $selected_pagination;
     $order_by = Tools::getValue('ShipmentOrderBy', self::DEFAULT_ORDER_BY);
     $order_way = Tools::getValue('ShipmentOrderWay', self::DEFAULT_ORDER_WAY);
     $filter = $this->getFilterQuery($keys_array, 'Shipments');
     $shipment = new DpdGroupShipment();
     $shipments = $shipment->getShipmentList($order_by, $order_way, $filter, $start, $selected_pagination);
     $list_total = count($shipment->getShipmentList($order_by, $order_way, $filter, null, null));
     $total_pages = ceil($list_total / $selected_pagination);
     if (!$total_pages) {
         $total_pages = 1;
     }
     $shipments_count = count($shipments);
     for ($i = 0; $i < $shipments_count; $i++) {
         $order = new Order((int) $shipments[$i]['id_order']);
         $carrier = new Carrier((int) $order->id_carrier, $order->id_lang);
         $shipments[$i]['carrier_url'] = $carrier->url;
     }
     $this->context->smarty->assign(array('full_url' => $this->module_instance->module_url . '&menu=shipment_list&ShipmentOrderBy=' . $order_by . '&ShipmentOrderWay=' . $order_way, 'employee' => $this->context->employee, 'shipments' => $shipments, 'page' => $page, 'selected_pagination' => $selected_pagination, 'pagination' => $this->pagination, 'total_pages' => $total_pages, 'list_total' => $list_total, 'order_by' => $order_by, 'order_way' => $order_way, 'order_link' => DpdGroup::getAdminOrderLink()));
     $template_filename = version_compare(_PS_VERSION_, '1.6', '>=') ? 'shipment_list_16' : 'shipment_list';
     return $this->context->smarty->fetch(_DPDGROUP_TPL_DIR_ . 'admin/' . $template_filename . '.tpl');
 }