/** * 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')); }