src/App/EventListener/Custom/Eshop/PostListener.php line 28

Open in your IDE?
  1. <?php
  2. namespace App\EventListener\Custom\Eshop;
  3. use App\Entity\Central\Client\Client;
  4. use App\Entity\Client\PointOfSale\PointOfSaleMove;
  5. use App\Entity\Client\Store\StoreHeader;
  6. use App\EventListener\GenericEvent;
  7. use App\Model\ShellExec;
  8. use App\Service\AppManager;
  9. use App\Service\Central\Client\ClientFlagManager;
  10. use App\Service\ShellExecManager;
  11. use App\Utils\ClientUtils;
  12. use Eshop\Entity\Customer\CustomerOrder;
  13. use GraphQL\Resolver\FlagResolver;
  14. use Symfony\Component\HttpKernel\KernelInterface;
  15. class PostListener
  16. {
  17.     private ShellExecManager $shellExecManager;
  18.     public function __construct(ShellExecManager $shellExecManager)
  19.     {
  20.         $this->shellExecManager $shellExecManager;
  21.     }
  22.     public function sendConfirmedOrderEmail(GenericEvent $genericEvent)
  23.     {
  24.         /** @var CustomerOrder $entity */
  25.         $entity $genericEvent->getSubject();
  26.         if (!$entity instanceof CustomerOrder || !$entity->isConfirmed()) {
  27.             return;
  28.         }
  29.         $client $genericEvent->getAppManager()->getClient();
  30.         if(!$client instanceof Client || $client->hasFlag(ClientFlagManager::HAVE_ESHOP) === false){
  31.             return;
  32.         }
  33.         $shellExec = new ShellExec('eshop:send_confirmed_order'$client->getId() . ' ' $entity->getId() . ' --kernel=eshop');
  34.         $this->shellExecManager->runShellExec($shellExectrue);
  35.     }
  36. }