public function toggleIgnoredIssueAction(Request $request, EventIdentifier $eventIdentifier) { $this->setProject($eventIdentifier->getProject()); $this->assertUserRights(UserRole::ROLE_COLLABORATOR); $eventIdentifier->setIgnoredIssue(!$eventIdentifier->isIgnoredIssue()); $eventIdentifier->setKnownIssue(false); $project = $eventIdentifier->getProject(); if ($eventIdentifier->isIgnoredIssue()) { $project->decOpenIncidentCount(); } else { $project->incOpenIncidentCount(); } $project = $eventIdentifier->getProject(); $em = $this->getDoctrine()->getManager(); $em->persist($eventIdentifier); $em->persist($project); $em->flush(); if ($request->isXmlHttpRequest()) { return new JsonResponse(['status' => "success", 'message' => "Ignored status changed. Reload page to see changes.", 'id' => $eventIdentifier->getId()]); } else { return $this->redirectToRoute("bauer_incident_dashboard_core_homepage", array('project' => $project->getIdentifier())); } }