vendor/uvdesk/automation-bundle/Repository/WorkflowRepository.php line 33

Open in your IDE?
  1. <?php
  2. namespace Webkul\UVDesk\AutomationBundle\Repository;
  3. use Doctrine\Common\Collections\Criteria;
  4. use Webkul\UVDesk\AutomationBundle\Entity\Workflow;
  5. /**
  6. * WorkflowRepository
  7. *
  8. * This class was generated by the Doctrine ORM. Add your own custom
  9. * repository methods below.
  10. */
  11. class WorkflowRepository extends \Doctrine\ORM\EntityRepository
  12. {
  13. const LIMIT = 10;
  14. public function getEventWorkflows($eventName, $isActive = true, $isPredefined = true)
  15. {
  16. $queryBuilder = $this->getEntityManager()->createQueryBuilder()
  17. ->select('workflow')
  18. ->from(Workflow::class, 'workflow')
  19. ->leftJoin('workflow.workflowEvents', 'workflowEvents')
  20. ->where('workflow.status = :status')->setParameter('status', $isActive)
  21. ->andWhere('workflow.isPredefind = :isPredefined')->setParameter('isPredefined', $isPredefined)
  22. ->andWhere('workflowEvents.event = :eventType')->setParameter('eventType', $eventName)
  23. ->orderBy('workflow.sortOrder', Criteria::ASC)
  24. ;
  25. return $queryBuilder->getQuery()->getResult();
  26. }
  27. public function getWorkflows(\Symfony\Component\HttpFoundation\ParameterBag $obj = null, $container)
  28. {
  29. $queryBuilder = $this->getEntityManager()->createQueryBuilder()
  30. ->select('w.id, w.name, w.status')
  31. ->from($this->getEntityName(), 'w')
  32. ->orderBy('w.sortOrder', Criteria::ASC)
  33. ;
  34. return ['workflows' => $queryBuilder->getQuery()->getArrayResult()];
  35. }
  36. }