Example #1
0
 /**
  * Технический фильтр по параметрам
  * @param array $filter
  * @return array|mixed|\PropelObjectCollection
  */
 public function filter($filter = array())
 {
     $this->filter = $filter;
     $query = TicketQuery::create();
     if (isset($this->filter['is_done']) && $this->filter['is_done']) {
         $query->filterByIsDone($this->filter['is_done']);
     }
     if (isset($this->filter['is_done']) && !$this->filter['is_done']) {
         $query->filterByIsDone(null, \Criteria::ISNULL);
     }
     if (isset($this->filter['resolution']) && $this->filter['resolution']) {
         $query->filterByTicketResolutionId(null, \Criteria::ISNOTNULL);
     }
     if (isset($this->filter['resolution']) && !$this->filter['resolution']) {
         $query->filterByTicketResolutionId(null, \Criteria::ISNULL);
     }
     $query->filterByIsDeleted(null, \Criteria::ISNULL);
     $query->orderByCreatedAt(\Criteria::DESC);
     return $query->find();
 }
Example #2
0
 /**
  * Получение списка доступных операций для статуса и роли
  * @Route("/operation", name="operation")
  * @param Request $request
  * @return JsonResponse
  */
 public function operationAction(Request $request)
 {
     $id = $request->get('id');
     if (!$id) {
         throw $this->createNotFoundException('Page not found');
     }
     $ticket_service = $this->get('app.ticket_service');
     $ticket = TicketQuery::create()->findOneById($id);
     if (!$ticket instanceof Ticket) {
         throw $this->createNotFoundException('Ticket not found');
     }
     return $ticket_service->generateActionResponse($ticket);
 }