public function removeRole(Request $request, Session $session, $view) { if (!$request->getParameter(SUBMIT_PARAM)) { return new Template('remove_role'); } else { $id = $request->getParameter('id'); $service = new SecurityService(); try { $result['response_code'] = 1; $service->removeRole($id); } catch (Exception $ex) { $result['response_code'] = -1; $message = $ex->getMessage(); if (preg_match('/user_roles/', $message)) { $result['message'] = 'This role can not be removed because it has already been assigned.'; } elseif (preg_match('/role_permissions/', $message)) { $result['message'] = 'This role can not be removed because it has associations to role permissions.'; } else { $result['message'] = 'This role can not be removed. Error message: ' . $message; } } return $this->showJsonResponse($result); } }