public function toggleActiveAction(System $system) { $this->assertUserRights(UserRole::ROLE_ADMIN); if ($system->getProject() != $this->getProject()) { throw new AccessDeniedException('System and project do not match'); } if ($system->isActive()) { $system->setIsActive(false); $message = "System deactivated."; } else { $system->setIsActive(true); $message = "System activated."; } $em = $this->getDoctrine()->getManager(); $em->persist($system); $em->flush(); return new JsonResponse(['status' => 'success', 'message' => $message]); }
/** * @return int */ public function isActive() { if ($this->isSystem()) { if ($this->getProject() && $this->getProject()->isDeleted()) { return false; } else { return $this->isActive; } } else { return $this->parent->isActive(); } }