Example #1
0
 public function saveUsuarioPermisoList($con = null)
 {
     if (!$this->isValid()) {
         throw $this->getErrorSchema();
     }
     if (!isset($this->widgetSchema['usuario_permiso_list'])) {
         // somebody has unset this widget
         return;
     }
     if (is_null($con)) {
         $con = $this->getConnection();
     }
     $c = new Criteria();
     $c->add(UsuarioPermisoPeer::FK_PERMISO_ID, $this->object->getPrimaryKey());
     UsuarioPermisoPeer::doDelete($c, $con);
     $values = $this->getValue('usuario_permiso_list');
     if (is_array($values)) {
         foreach ($values as $value) {
             $obj = new UsuarioPermiso();
             $obj->setFkPermisoId($this->object->getPrimaryKey());
             $obj->setFkUsuarioId($value);
             $obj->save();
         }
     }
 }
Example #2
0
 /**
  * Guarda los permisos del usuario
  */
 function executeSavePermiso($request)
 {
     // borrar todo los permisos para un usuarios determinado
     $usuarioId = $this->getRequestParameter('id');
     $aPermiso = $this->getRequest()->getParameterHolder()->get('usuarioPermisos');
     $c = new Criteria();
     $c->add(UsuarioPermisoPeer::FK_USUARIO_ID, $usuarioId);
     UsuarioPermisoPeer::doDelete($c);
     if (count($aPermiso) > 0) {
         // grabar todos los que vienen seleccionados
         // aqui se debe poder grabar haciendo un solo insert
         $c = new Criteria();
         foreach ($aPermiso as $permisoId) {
             $p = new UsuarioPermiso();
             $p->setFkUsuarioId($usuarioId);
             $p->setFkPermisoId($permisoId);
             $p->save();
             unset($p);
         }
     }
     //si los permisos que se estan guardando 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') == $usuarioId) {
         $this->logMessage("Modificando permisos del usuario actual", 'debug');
         $this->getUser()->cargarCredenciales($usuarioId);
     }
     return $this->redirect('usuario/editPermiso?id=' . $usuarioId);
 }