local/modules/FairDelivery/Hook/BackHook.php line 30
<?php
namespace FairDelivery\Hook;
use FairDelivery\FairDelivery;
use FairDelivery\Model\FairDeliveryQuery;
use HookFetes\Model\AgendaFetesQuery;
use Thelia\Core\Event\Hook\HookRenderEvent;
use Thelia\Core\Hook\BaseHook;
use Thelia\Log\Tlog;
use Thelia\Model\ModuleQuery;
/**
* Class BackHook
* @package FairDelivery\Hook
* @author François Carfantan <f.carfantan@orange.fr>
*/
class BackHook extends BaseHook {
public function OnOrderEditBillDeliveryAddress(HookRenderEvent $event){
$orderId = $event->getArgument('order_id');
$module = $event->getArgument('module');
$currentFair = FairDeliveryQuery::create()->findOneByOrderId($orderId);
if(!$this->checkModule($module) or is_null($currentFair)){
return;
}
$title = $this->getFairTitleFromFairDelivery($currentFair->getAgendaFetesId());
$html = $this->render('backDelivery.html',['fair_title'=>$title]);
$event->add($html);
}
//order-edit.delivery-module-bottom
public function onOrderEditDeliveryModuleBottom(HookRenderEvent $event){
$module = $event->getArgument('module_id');
$orderId = $event->getArgument('order_id');
if(!$this->checkModule($module)){
return;
}
if($this->checkModule($module) and $this->checkFairExistenceForOrder($orderId)){
return;
}
$html=$this->render('fair_edit.html',['orderId'=>$orderId]);
$event->add($html);
}
protected function checkModule($currentModule):bool{
$module_id = FairDelivery::getModuleId();
if (strcmp($currentModule,$module_id)==0){
return true;
}
return false;
}
protected function checkFairExistenceForOrder(int $orderId){
$currentFair = FairDeliveryQuery::create()->findOneByOrderId(intval($orderId));
if(is_null($currentFair)){
return false;
}
return true;
}
protected function getFairTitleFromFairDelivery(int $fairId):string{
$selectedFair = AgendaFetesQuery::create()->findOneByFetesId(intval($fairId));
if(is_null($selectedFair)){
return "";
}
return $selectedFair->getTitle();
}
public static function getSubscribedHooks():array
{
return [
"order-edit.bill-delivery-address" => [
[
"type" => "back",
"method" => "OnOrderEditBillDeliveryAddress"
]
],
"order-edit.delivery-module-bottom" => [
[
"type" => "back",
"method" => "onOrderEditDeliveryModuleBottom"
]
]
];
}
}
?>