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.     
  15.     public function getEventWorkflows($eventName$isActive true$isPredefined true)
  16.     {
  17.         $queryBuilder $this->getEntityManager()->createQueryBuilder()
  18.             ->select('workflow')
  19.             ->from(Workflow::class, 'workflow')
  20.             ->leftJoin('workflow.workflowEvents''workflowEvents')
  21.             ->where('workflow.status = :status')->setParameter('status'$isActive)
  22.             ->andWhere('workflow.isPredefind = :isPredefined')->setParameter('isPredefined'$isPredefined)
  23.             ->andWhere('workflowEvents.event = :eventType')->setParameter('eventType'$eventName)
  24.             ->orderBy('workflow.sortOrder'Criteria::ASC)
  25.         ;
  26.         return $queryBuilder->getQuery()->getResult();
  27.     }
  28.     public function getWorkflows(\Symfony\Component\HttpFoundation\ParameterBag $obj null$container)
  29.     {
  30.         $queryBuilder $this->getEntityManager()->createQueryBuilder()
  31.             ->select('w.id, w.name, w.status')
  32.             ->from($this->getEntityName(), 'w')
  33.             ->orderBy('w.sortOrder'Criteria::ASC)
  34.         ;
  35.         return ['workflows' => $queryBuilder->getQuery()->getArrayResult()];
  36.     }
  37. }