You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.5KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Controller\Ticket;
  3. use EasyCorp\Bundle\EasyAdminBundle\Config\Actions;
  4. use Lc\CaracoleBundle\Controller\AdminControllerTrait;
  5. use Lc\CaracoleBundle\Definition\ActionDefinition;
  6. use Lc\SovBundle\Controller\Ticket\TicketAdminController as SovTicketAdminController;
  7. abstract class TicketAdminController extends SovTicketAdminController
  8. {
  9. use AdminControllerTrait;
  10. public function createEntity(string $entityFqcn)
  11. {
  12. return $this->getTicketContainer()
  13. ->getFactory()
  14. ->setSection($this->getSectionCurrent())
  15. ->setMerchant($this->getMerchantCurrent())
  16. ->create();
  17. }
  18. public function configureFields(string $pageName): iterable
  19. {
  20. return $this->getTicketContainer()->getFieldDefinition()
  21. ->setMerchant($this->getMerchantCurrent())
  22. ->setSection($this->getSectionCurrent())
  23. ->getFields($pageName);
  24. }
  25. public function configureActions(Actions $actions): Actions
  26. {
  27. $actions = parent::configureActions($actions);
  28. if(!$this->getSectionCurrent()) {
  29. $actions->disable(ActionDefinition::NEW, ActionDefinition::EDIT, ActionDefinition::DUPLICATE,ActionDefinition::DUPLICATE_TO_OTHER_SECTION, ActionDefinition::DELETE);
  30. }else{
  31. $actions->disable( ActionDefinition::EDIT, ActionDefinition::DUPLICATE,ActionDefinition::DUPLICATE_TO_OTHER_SECTION, ActionDefinition::DELETE);
  32. }
  33. return $actions;
  34. }
  35. }