diff --git a/modules/ant_returnprocess/AdminAntReturnprocess.php b/modules/ant_returnprocess/AdminAntReturnprocess.php
new file mode 100644
index 00000000..faddff35
--- /dev/null
+++ b/modules/ant_returnprocess/AdminAntReturnprocess.php
@@ -0,0 +1,590 @@
+countProduct()) > 1) {
+ if (OrderReturn::deleteOrderReturnDetail($id_order_return, $id_order_detail, (int)(Tools::getValue('id_customization', 0)))){
+ Tools::redirectAdmin($currentIndex.'&conf=4token='.$this->token);
+ } else {
+ HelperFormBootstrap::displayErrors(Tools::displayError('An error occurred while deleting an order return detail.'));
+ }
+ } else {
+ HelperFormBootstrap::displayErrors(Tools::displayError('You need at least one product.'));
+ }
+ } else {
+ HelperFormBootstrap::displayErrors(Tools::displayError('The order return is invalid.'));
+ }
+ } else {
+ HelperFormBootstrap::displayErrors(Tools::displayError('The order return detail is invalid.'));
+ }
+ } elseif (Tools::isSubmit('submitAddorder_return')) {
+ if (($id_order_return = (int)(Tools::getValue('id_order_return'))) AND Validate::isUnsignedId($id_order_return))
+ {
+ $orderReturn = new OrderReturn($id_order_return);
+ $order = new Order($orderReturn->id_order);
+ $customer = new Customer($orderReturn->id_customer);
+ $orderReturn->state = (int)(Tools::getValue('state'));
+ if ($orderReturn->save())
+ {
+ $orderReturnState = new OrderReturnState($orderReturn->state);
+ $vars = array(
+ '{lastname}' => $customer->lastname,
+ '{firstname}' => $customer->firstname,
+ '{id_order_return}' => $id_order_return,
+ '{state_order_return}' => (isset($orderReturnState->name[(int)$order->id_lang]) ? $orderReturnState->name[(int)$order->id_lang] : $orderReturnState->name[(int)Configuration::get('PS_LANG_DEFAULT')]));
+ Mail::Send((int)$order->id_lang, 'order_return_state', Mail::l('Your order return state has changed', (int)$order->id_lang),
+ $vars, $customer->email, $customer->firstname.' '.$customer->lastname, NULL, NULL, NULL,
+ NULL, _PS_MAIL_DIR_, true);
+ Tools::redirectAdmin($currentIndex.'&id_order_return='.(int)$id_order_return.'&updateorder_return&conf=4&token='.$this->token);
+ }
+ } else {
+ HelperFormBootstrap::displayErrors(Tools::displayError('No order return ID.'));
+ }
+ }
+ }
+
+ public function display()
+ {
+ global $cookie, $currentIndex;
+
+ if($return_number = Tools::getValue('return_number')) {
+ if($return = Db::getInstance()->getRow('
+ SELECT *
+ FROM `'._DB_PREFIX_.'order_return_link`
+ WHERE `return_number` = "'.pSQL($return_number).'"
+ ')) {
+ header('Location: /adm/index.php?tab=AdminAntReturnprocess&id_order_return='.(int) $return['id_order_return'].'&updateorder_return&token='.Tools::getValue('token'));
+ exit;
+ }
+ }
+
+ if (isset($_GET['updateorder_return']))
+ {
+
+ $this->displayForm();
+ echo '
'.$this->l('Back to list').'
';
+ }
+ else
+ {
+ $this->displaylist();
+ }
+ }
+
+ public function displayForm()
+ {
+ global $cookie, $currentIndex;
+
+ if (($id_order_return = (int)(Tools::getValue('id_order_return'))) AND Validate::isUnsignedId($id_order_return)) {
+ $orderReturn = new OrderReturn($id_order_return);
+ if (!Validate::isLoadedObject($orderReturn)) {
+ die(Tools::displayError());
+ }
+ }
+ $order = new Order($orderReturn->id_order);
+ $cart = new Cart((int)$order->id_cart);
+ $customer = new Customer((int)$order->id_customer);
+ $data = $this->getOrderDetail($cart,(int)$cart->id_lang,$order);
+ $currency = new Currency((int)(Configuration::get('PS_CURRENCY_DEFAULT')));
+ $currentState = OrderHistory::getLastOrderState((int)$orderReturn->id_order);
+ $shipping_numbers = Db::getInstance()->ExecuteS('
+ SELECT DISTINCT lpws.`shipping_number`, lpws.`date_add`
+ FROM `'._DB_PREFIX_.'lapostews` lpws
+ LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON (od.`id_order_detail` = lpws.`id_order_detail`)
+ WHERE `id_order` ='. (int)$order->id
+ );
+ $shipping_numbers2 = Db::getInstance()->ExecuteS('
+ SELECT DISTINCT ppp.`shipping_number`, ppp.`date_add`
+ FROM `'._DB_PREFIX_.'philea_parcel` ppp
+ LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON (od.`id_order_detail` = ppp.`id_order_detail`)
+ WHERE od.`id_order` ='. (int)$order->id
+ );
+ $query_thread = Db::getInstance()->getValue('
+ SELECT `id_customer_thread`
+ FROM `'._DB_PREFIX_.'customer_thread`
+ WHERE id_customer ='.(int)$order->id_customer.' AND id_order = '.(int)$order->id.'
+ ');
+ if($query_thread) {
+ $thread = new CustomerThread((int)$query_thread);
+ }
+
+ $returnProducts = OrderReturn::getOrdersReturnProducts($orderReturn->id, $order);
+ $orderReturnState = new OrderReturnState($orderReturn->state);
+
+ $colorStates = array(
+ 1 => "anticon anticon-hour-glass text-orange",
+ 2 => "anticon anticon-hour-glass text-orange",
+ 3 => "anticon anticon-box-add text-orange",
+ 4 => "anticon anticon-cross text-rose",
+ 5 => "anticon anticon-checkmark text-green-light",
+ );
+
+ $helper = new HelperFormBootstrap();
+ $helper->_select2 = true;
+ $helper->_inputMask = true;
+ $html = $helper->renderStyle();
+ $html .= '
+
'.$orderReturnState->name[(int)$cookie->id_lang].'
+ +'.$this->l('Produit').' | +'.$this->l('Qté').' | +'.$this->l('Action').' | +
---|---|---|
+ + '.mb_strimwidth($product['product_name'], 0, 55, "...").' + + + | +'.$product['product_quantity'].' | ++ |
'.$this->l('Products').' | '.Tools::displayPrice($order->getTotalProductsWithTaxes(), $currency, false).' |
'.$this->l('Discounts').' | -'.Tools::displayPrice($order->total_discounts, $currency, false).' |
'.$this->l('Wrapping').' | '.Tools::displayPrice($order->total_wrapping, $currency, false).' |
'.$this->l('Shipping').' | '.Tools::displayPrice($order->total_shipping, $currency, false).' |
'.$this->l('Total').' | '.Tools::displayPrice($order->total_paid, $currency, false).($order->total_paid != $order->total_paid_real ? ' ('.$this->l('Paid:').' '.Tools::displayPrice($order->total_paid_real, $currency, false, false).')' : '').' |
'.$data['carrier_name'].'
+'.$data['order_invoice_address'].'
+'.$data['order_address'].'
+'.$this->l('Produit').' | +'.$this->l('Prix U').' | +'.$this->l('Qté').' | + '.($order->hasBeenPaid() ?''.$this->l('Remb').' | ':'').' + '.($order->hasBeenDelivered() ?''.$this->l('Retour').' | ':'').' +'.$this->l('Stock').' | +'.$this->l('Total').' | +
---|---|---|---|---|---|---|
+
+ '.$product['product_name'].' + '.($product['product_reference'] ? ''.$this->l('Ref:').' '.$product['product_reference'].' ' : '') + .($product['product_supplier_reference'] ? ''.$this->l('Ref Supplier:').' '.$product['product_supplier_reference'].'' : '') + .' + |
+ '.Tools::displayPrice($product_price,$currency).' | +'.$quantity.' | + '.($order->hasBeenPaid() ? ''.(int)($product['product_quantity_refunded']).' | ' : '').' + '.($order->hasBeenDelivered() ? ''.(int)($product['product_quantity_return']).' | ' : '').' +'.(int)$stock['quantity'].' | +'.Tools::displayPrice(Tools::ps_round($product_price, 2) * ((int)($product['product_quantity']) - $product['customizationQuantityTotal']), $currency, false).' | +
Pas de conversation en rapport avec cette commande !
'; + } + $html .=''.$this->l('#').' | +'.$this->l('# Order').' | +'.$this->l('# Customer').' | +'.$this->l('Status').' | +'.$this->l('Date').' | +'.$this->l('Action').' | +
---|---|---|---|---|---|
'.$return['id_order_return'].' | +n° '.$return['id_order'].' | +'.$return['id_customer'].' | +'.$return['name'].' | +'.date('d/m/Y H:i',strtotime($return['date_add'])).' | ++ + | +