Exemplo n.º 1
0
 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);
     }
 }