示例#1
0
 /**
  * Deletes a Ticket entity.
  *
  * @param Request $request
  * @param Ticket  $ticket
  *
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function deleteAction(Request $request, Ticket $ticket)
 {
     $userManager = $this->get('hackzilla_ticket.user_manager');
     $user = $userManager->getCurrentUser();
     if (!\is_object($user) || !$userManager->hasRole($user, TicketRole::Admin)) {
         throw new \Symfony\Component\HttpKernel\Exception\HttpException(403);
     }
     $form = $this->createDeleteForm($ticket->getId());
     $form->submit($request);
     if ($form->isValid()) {
         if (!$ticket) {
             throw $this->createNotFoundException($this->get('translator')->trans('ERROR_FIND_TICKET_ENTITY'));
         }
         $ticketManager = $this->get('hackzilla_ticket.ticket_manager');
         $ticketManager->deleteTicket($ticket);
         $event = new TicketEvent($ticket);
         $this->get('event_dispatcher')->dispatch(TicketEvents::TICKET_DELETE, $event);
     }
     return $this->redirect($this->generateUrl('hackzilla_ticket'));
 }