Пример #1
0
 function executeEditPermiso()
 {
     // estos son los permisos que tiene el rol
     $c = new Criteria();
     $c->add(RolPermisoPeer::FK_ROL_ID, $this->getRequestParameter('id'));
     $c->addAscendingOrderByColumn(PermisoPeer::NOMBRE);
     $rolPermisos = RolPermisoPeer::doSelectJoinPermiso($c);
     // esto puede ser descartado usando en el select_tag, objects_for_select
     $optionsRolPermisos = array();
     foreach ($rolPermisos as $rolPermiso) {
         $optionsRolPermisos[$rolPermiso->getFkPermisoId()] = sprintf("%s (%s)", $rolPermiso->getPermiso()->getNombre(), $rolPermiso->getPermiso()->getDescripcion());
     }
     //estos son todos los permisos existentes
     $permisos = PermisoPeer::doSelect(new Criteria());
     $todosLosPermisos = array();
     foreach ($permisos as $permiso) {
         $todosLosPermisos[$permiso->getId()] = $permiso->getNombre();
     }
     // estos son los permisos existentes menos los del usuario
     $this->optionsPermisos = array_diff_key($todosLosPermisos, $optionsRolPermisos);
     $c = new Criteria();
     $c->add(RolPeer::ACTIVO, 1);
     $roles = RolPeer::doSelect($c);
     $optionsRol = array();
     foreach ($roles as $rol) {
         $optionsRol[$rol->getId()] = $rol->getNombre();
     }
     $this->optionsRol = $optionsRol;
     $this->optionsRolPermisos = $optionsRolPermisos;
 }
Пример #2
0
 public function getRolPermisosJoinPermiso($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN)
 {
     if ($criteria === null) {
         $criteria = new Criteria(RolPeer::DATABASE_NAME);
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collRolPermisos === null) {
         if ($this->isNew()) {
             $this->collRolPermisos = array();
         } else {
             $criteria->add(RolPermisoPeer::FK_ROL_ID, $this->id);
             $this->collRolPermisos = RolPermisoPeer::doSelectJoinPermiso($criteria, $con, $join_behavior);
         }
     } else {
         $criteria->add(RolPermisoPeer::FK_ROL_ID, $this->id);
         if (!isset($this->lastRolPermisoCriteria) || !$this->lastRolPermisoCriteria->equals($criteria)) {
             $this->collRolPermisos = RolPermisoPeer::doSelectJoinPermiso($criteria, $con, $join_behavior);
         }
     }
     $this->lastRolPermisoCriteria = $criteria;
     return $this->collRolPermisos;
 }