public function updateRolePermission(Request $request, Session $session, $view) { $service = new SecurityService(); if (!$request->getParameter(SUBMIT_PARAM)) { $id = $request->getParameter('id'); $info = $service->getRolePermissionById($id); $this->setAttribute('id', $id); $this->setAttribute('role_id', $request->getParameter('role_id')); $this->setAttribute('original_permission_handle', $info->permission); $this->setAttributes(get_object_vars($info)); return new Template('update_role_permission'); } else { $id = $request->getParameter('id'); $roleId = $request->getParameter('role_id'); $orginalPermissionHandle = $request->getParameter('original_permission_handle'); $permission = $request->getParameter('permission'); $info = $service->getRolePermissionByHandle($roleId, $permission); $permissionName = $info->permission; if (!empty($info) && strcmp($permissionName, $orginalPermissionHandle) != 0) { $result['response_code'] = -1; $result['message'] = 'This permission handle is taken. Please enter a different one.'; } else { $responseCode = 1; self::$_logger->debug('pattern = ' . $request->getParameter('pattern')); $data = $request->getParameters(true); $service->updateRolePermission($id, $data); $result['response_code'] = $responseCode; } return $this->showJsonResponse($result); } }