/** * Elimina un rol del usuario * * @param integer $user_id identificador del usuari * @param integer $rol_id identificador del rol * */ public function executeDeleteRol(sfWebRequest $request) { $this->usuario = UsuarioPeer::retrieveByPk($request->getParameter('usuario_id')); $this->forward404Unless($this->usuario); $this->rol = RolPeer::retrieveByPk($request->getParameter('rol_id')); $this->forward404Unless($this->rol); $ur = new UsuarioRol(); $ur->setRol($this->rol); $ur->setUsuario($this->usuario); $ur->delete(); //si el Rol que se estan eliminando son del //usuario actual refresco las credenciales para evitar el logout/login $this->logMessage("Comprobar si el usuario es el actual: " . $this->getUser()->getAttribute('id'), 'debug'); if ($this->getUser()->getAttribute('id') == $this->usuario->getId()) { $this->logMessage("Modificando permisos del usuario actual", 'debug'); $this->getUser()->cargarCredenciales($this->usuario->getId()); } return $this->redirect('usuario/editPermiso?id=' . $this->usuario->getId()); }