local/modules/FairDelivery/Hook/BackHook.php line 30

  1. <?php
  2. namespace FairDelivery\Hook;
  3. use FairDelivery\FairDelivery;
  4. use FairDelivery\Model\FairDeliveryQuery;
  5. use HookFetes\Model\AgendaFetesQuery;
  6. use Thelia\Core\Event\Hook\HookRenderEvent;
  7. use Thelia\Core\Hook\BaseHook;
  8. use Thelia\Log\Tlog;
  9. use Thelia\Model\ModuleQuery;
  10. /**
  11.  * Class BackHook
  12.  * @package FairDelivery\Hook
  13.  * @author François Carfantan <f.carfantan@orange.fr>
  14.  */
  15. class BackHook extends BaseHook {
  16.     public function OnOrderEditBillDeliveryAddress(HookRenderEvent $event){
  17.         $orderId $event->getArgument('order_id');
  18.         $module $event->getArgument('module');
  19.         $currentFair FairDeliveryQuery::create()->findOneByOrderId($orderId);
  20.         if(!$this->checkModule($module) or is_null($currentFair)){
  21.             return;
  22.         }
  23.         $title $this->getFairTitleFromFairDelivery($currentFair->getAgendaFetesId());
  24.         $html $this->render('backDelivery.html',['fair_title'=>$title]);
  25.         $event->add($html);
  26.     }
  27.    //order-edit.delivery-module-bottom
  28.    public function onOrderEditDeliveryModuleBottom(HookRenderEvent $event){
  29.     $module $event->getArgument('module_id');
  30.     $orderId $event->getArgument('order_id');
  31.     if(!$this->checkModule($module)){
  32.         return;
  33.     }
  34.     if($this->checkModule($module) and $this->checkFairExistenceForOrder($orderId)){
  35.         return;
  36.     }
  37.     $html=$this->render('fair_edit.html',['orderId'=>$orderId]);
  38.     $event->add($html);
  39.    }
  40.     protected function checkModule($currentModule):bool{
  41.         $module_id FairDelivery::getModuleId();
  42.         if (strcmp($currentModule,$module_id)==0){
  43.             return true;
  44.         }
  45.         return false;
  46.     }
  47.     protected function checkFairExistenceForOrder(int $orderId){
  48.        
  49.         $currentFair FairDeliveryQuery::create()->findOneByOrderId(intval($orderId));
  50.         if(is_null($currentFair)){
  51.             return false;
  52.         }
  53.         return true;
  54.     }
  55.     protected function getFairTitleFromFairDelivery(int $fairId):string{
  56.         $selectedFair AgendaFetesQuery::create()->findOneByFetesId(intval($fairId));
  57.         if(is_null($selectedFair)){
  58.             return "";
  59.         }
  60.         return $selectedFair->getTitle();
  61.     }
  62.     public static function getSubscribedHooks():array
  63.     {
  64.         return [
  65.             "order-edit.bill-delivery-address" => [
  66.                 [
  67.                     "type" => "back",
  68.                     "method" => "OnOrderEditBillDeliveryAddress"
  69.                 ]               
  70.                 ],
  71.                 "order-edit.delivery-module-bottom" => [
  72.                     [
  73.                         "type" => "back",
  74.                         "method" => "onOrderEditDeliveryModuleBottom"
  75.                     ]               
  76.                     ]
  77.          
  78.             
  79.         ];
  80.     }
  81.  
  82.    
  83.   
  84. }
  85. ?>