Files
newwalls.pl/modules/epaka/controllers/admin/AdminEpakaController.php
2024-12-17 13:43:22 +01:00

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')));
}
}