120 lines
4.8 KiB
PHP
120 lines
4.8 KiB
PHP
<?php
|
|
class AdminEpakaController extends ModuleAdminController
|
|
{
|
|
public function displayAjaxGetEpakaOrderHtml()
|
|
{
|
|
$orderId = Tools::getValue('id_order');
|
|
$epakaOrder = new EpakaOrder();
|
|
try{
|
|
$htmlOrderForm = $epakaOrder->getFormOrderHtml($orderId);
|
|
}catch(Exception $e){
|
|
die(json_encode(array('status' => 'ERROR', 'ERROR' => $e->getMessage())));
|
|
}
|
|
$this->context->smarty->assign(array('htmlOrderForm' => $htmlOrderForm));
|
|
$htmlContent = $this->context->smarty->fetch(__DIR__.'/../../views/templates/admin/order-html.tpl');
|
|
|
|
header('Content-Type: text/html');
|
|
echo $htmlContent;
|
|
}
|
|
|
|
public function displayAjaxGetEpakaOrderIframe()
|
|
{
|
|
$url_html = Tools::getValue('url_html');
|
|
$this->context->smarty->assign(array('url_html' => $url_html));
|
|
|
|
$htmlIframe = $this->context->smarty->fetch(__DIR__.'/../../views/templates/admin/order-iframe.tpl');
|
|
|
|
header('Content-Type: text/html');
|
|
echo $htmlIframe;
|
|
}
|
|
|
|
public function displayAjaxSendOrder()
|
|
{
|
|
$orderId = Tools::getValue('id_order');
|
|
$prestaOrder = new Order($orderId);
|
|
$epakaOrder = new EpakaOrder();
|
|
$newOrderData = $epakaOrder->prepareOrderData($_POST['data']);
|
|
$apiResponse = $epakaOrder->sendOrder($newOrderData);
|
|
|
|
if ($apiResponse && $apiResponse->status == "OK") {
|
|
// dodanie ID Epaka do tabeli w prescie
|
|
$epakaDB = new EpakaDB();
|
|
$updateResult = $epakaDB->addEpakaId($prestaOrder->id_cart, $apiResponse->orderId);
|
|
|
|
// aktualizacja statusu zamowienia presty
|
|
// $history = new OrderHistory();
|
|
// $history->id_order = (int)$objOrder->id;
|
|
// $result = $history->changeIdOrderState(4, (int)($objOrder->id));
|
|
|
|
die(json_encode($apiResponse));
|
|
} elseif ($apiResponse && $apiResponse->status == "ERROR") {
|
|
die(json_encode($apiResponse));
|
|
}
|
|
die(json_encode(array('status' => 'ERROR', 'message' => 'Błąd akcji wysyłania zamówienia. Skontaktuj się z administratorem serwisu epaka.pl')));
|
|
}
|
|
|
|
public function displayAjaxChangeOrderState()
|
|
{
|
|
$orderId = Tools::getValue('id_order');
|
|
$statusId = Tools::getValue('id_status');
|
|
|
|
$objOrder = new Order($orderId);
|
|
$history = new OrderHistory();
|
|
$history->id_order = (int)$objOrder->id;
|
|
$result = $history->changeIdOrderState((int)$statusId, (int)($objOrder->id));
|
|
|
|
die(json_encode(array('status' => 'OK', 'message' => 'Pomyślnie przestawiono status')));
|
|
}
|
|
|
|
public function displayAjaxGetOrderLabel()
|
|
{
|
|
$id_order = Tools::getValue('id_order');
|
|
$zebra = Tools::getValue('zebra');
|
|
|
|
$prestaOrder = new Order((int)$id_order);
|
|
$carrierReference = EpakaDB::checkIfIsOrderReferenceIsOK((int)$prestaOrder->id_cart, (int)$prestaOrder->id_carrier);
|
|
|
|
$epakaOrder = new EpakaOrder();
|
|
$apiResponse = $epakaOrder->getOrderLabel($carrierReference['id_epaka_order'], $zebra);
|
|
if ($apiResponse && $apiResponse->status == "OK") {
|
|
die(json_encode($apiResponse));
|
|
}
|
|
die(json_encode(array('status' => 'ERROR', 'message' => 'Błąd pobierania etykiety. Skontaktuj się z administratorem serwisu epaka.pl')));
|
|
}
|
|
|
|
public function displayAjaxGetOrderProtocol()
|
|
{
|
|
$id_order = Tools::getValue('id_order');
|
|
|
|
$prestaOrder = new Order((int)$id_order);
|
|
$carrierReference = EpakaDB::checkIfIsOrderReferenceIsOK((int)$prestaOrder->id_cart, (int)$prestaOrder->id_carrier);
|
|
|
|
$epakaOrder = new EpakaOrder();
|
|
$apiResponse = $epakaOrder->getOrderProtocol($carrierReference['id_epaka_order']);
|
|
if ($apiResponse && $apiResponse->status == "OK") {
|
|
die(json_encode($apiResponse));
|
|
}
|
|
die(json_encode(array('status' => 'ERROR', 'message' => 'Błąd pobierania protokołu. Skontaktuj się z administratorem serwisu epaka.pl')));
|
|
}
|
|
|
|
public function displayAjaxGetOrderCancel()
|
|
{
|
|
$id_order = Tools::getValue('id_order');
|
|
|
|
$prestaOrder = new Order((int)$id_order);
|
|
$carrierReference = EpakaDB::checkIfIsOrderReferenceIsOK((int)$prestaOrder->id_cart, (int)$prestaOrder->id_carrier);
|
|
|
|
$epakaOrder = new EpakaOrder();
|
|
$apiResponse = $epakaOrder->cancelOrder($carrierReference['id_epaka_order']);
|
|
if ($apiResponse) {
|
|
if ($apiResponse->status=="OK" || $apiResponse->status=="ERROR") {
|
|
$epakaDB = new EpakaDB();
|
|
$updateResult = $epakaDB->delEpakaId($prestaOrder->id_cart);
|
|
}
|
|
die(json_encode($apiResponse));
|
|
}
|
|
|
|
die(json_encode(array('status' => 'ERROR', 'message' => 'Błąd anulowania zlecenia. Skontaktuj się z administratorem serwisu epaka.pl')));
|
|
}
|
|
}
|