[Alba-desarrollo] SVN Alba r6161 - in prosistem/alba/trunk/alba: apps/principal/lib apps/principal/modules/default/actions apps/principal/modules/default/templates apps/principal/modules/rol/actions apps/principal/modules/rol/templates apps/principal/modules/seguridad/actions apps/principal/modules/usuario/actions apps/principal/modules/usuario/templates data/fixtures

commits en pressenter.com.ar commits en pressenter.com.ar
Mar Mayo 5 08:39:30 CEST 2009


Author: ftoledo
Date: 2009-05-05 03:39:29 -0300 (Tue, 05 May 2009)
New Revision: 6161

Modified:
   prosistem/alba/trunk/alba/apps/principal/lib/albaUser.class.php
   prosistem/alba/trunk/alba/apps/principal/modules/default/actions/actions.class.php
   prosistem/alba/trunk/alba/apps/principal/modules/default/templates/indexSuccess.php
   prosistem/alba/trunk/alba/apps/principal/modules/rol/actions/actions.class.php
   prosistem/alba/trunk/alba/apps/principal/modules/rol/templates/editPermisoSuccess.php
   prosistem/alba/trunk/alba/apps/principal/modules/seguridad/actions/actions.class.php
   prosistem/alba/trunk/alba/apps/principal/modules/usuario/actions/actions.class.php
   prosistem/alba/trunk/alba/apps/principal/modules/usuario/templates/editPermisoSuccess.php
   prosistem/alba/trunk/alba/data/fixtures/00_datos_desde_cero.yml
Log:
mejora en los permisos de los fixtures
fix varios en albaUser
mejora en los modulos de usuario y rol para la nueva arquitectura de permisos



Modified: prosistem/alba/trunk/alba/apps/principal/lib/albaUser.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/lib/albaUser.class.php	2009-05-05 02:32:07 UTC (rev 6160)
+++ prosistem/alba/trunk/alba/apps/principal/lib/albaUser.class.php	2009-05-05 06:39:29 UTC (rev 6161)
@@ -1,31 +1,121 @@
 <?php
+/**
+ *    This file is part of Alba.
+ *
+ *    Alba is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    Alba is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ *    You should have received a copy of the GNU General Public License
+ *    along with Alba; if not, write to the Free Software
+ *    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
 
+/**
+ * Clase albaUser
+ * Maneja la autenticacion del usuario
+ *
+ * @package    alba
+ * @author     José Luis Di Biase <josx en interorganic.com.ar>
+ * @author     Héctor Sanchez <hsanchez en pressenter.com.ar>
+ * @author     Fernando Toledo <ftoledo en pressenter.com.ar>
+ * @version    SVN: $Id$
+ * @filesource
+ * @license GPL
+ */
+
 class albaUser extends sfBasicSecurityUser
 {
+    /**
+     * deuelve el establecimento del usuario
+     * @return array $establecimientos
+     * @todo: tienen que ser varios!
+     */
     public function getEstablecimientos() {
-        
-        $establecimientos = array();
-        $e = EstablecimientoPeer::retrieveByPk($this->getAttribute('fk_establecimiento_id'));
-        array_push($establecimientos,$e);    
-        return  $establecimientos;
-        
-    
-    
+      $establecimientos = array();
+      $e = EstablecimientoPeer::retrieveByPk($this->getAttribute('fk_establecimiento_id'));
+      array_push($establecimientos,$e);
+      return  $establecimientos;
     }
 
     /**
-    * obtiene el tema del la interfaz del usuario
-    */
+     * obtiene el tema del la interfaz del usuario
+     */
     public function getTheme() {
-        return $this->getAttribute('theme');
+      return $this->getAttribute('theme');
     }
 
     /**
-    * Asigna un tema al usuario
-    */
+     * Asigna un tema al usuario
+     */
     public function setTheme($theme) {
-        $this->setAttribute('theme',$theme);
+      $this->setAttribute('theme',$theme);
     }
+
+    /**
+     * Carga las credenciales del usuario
+     * en la session del usuario
+     *
+     * @param integer $usuario_id identificador del usuario a cargar
+     * en la session
+     */
+    public function cargarCredenciales($usuario_id)
+    {
+      //limpio las credenciales actuales si las hay
+      $this->clearCredentials();
+
+      /* asigno las credenciales x rol */
+      $crol = new Criteria();
+      $crol->add(UsuarioRolPeer::FK_USUARIO_ID, $usuario_id);
+      $roles = UsuarioRolPeer::doSelect($crol);
+      $user_roles = array();
+      //por cada rol los cargo y tambien busco los permisos y los asigno
+      foreach ($roles as $rol) {
+        $user_rol['id'] = $rol->getRol()->getId();
+        $user_rol['nombre'] = $rol->getRol();
+        array_push($user_roles, $user_rol);
+        $this->log('obteniendo rol: ' . $rol->getRol()->getNombre());
+        $permisos = $rol->getRol()->getRolPermisos();
+        foreach ($permisos as $permiso) {
+          $this->log(sprintf('permiso desde rol: %s', $permiso->getPermiso()));
+          $this->addCredential($permiso->getPermiso()->getNombre());
+        }
+      }
+      $this->setAttribute('roles', $user_roles);
+      /* asign credenciales por usuario */
+      $this->log('obteniendo permisos x usuario:');
+      $cuser = new Criteria();
+      $cuser->add(UsuarioPermisoPeer::FK_USUARIO_ID, $usuario_id);
+      $permisos = UsuarioPermisoPeer::doSelect($cuser);
+      foreach ($permisos as $permiso) {
+        $this->log('permiso desde usuario: ' . $permiso->getPermiso());
+        $this->addCredential($permiso->getPermiso()->getNombre());
+      }
+
+      // quitando credenciales para la demo
+      if(sfConfig::get('sf_environment') =='demo'){
+        $this->log('{DEMO} quitando credenciales');
+        $this->removeCredential('usuario');
+        $this->removeCredential('rol');
+      }
+
+    }
+
+    /***
+     * Log para debug
+     *
+     * @param string $msg texto
+     */
+    private function log($msg)
+    {
+      sfContext::getInstance()->getLogger()->debug($msg);
+    }
 }
 
-?>
\ No newline at end of file
+?>

Modified: prosistem/alba/trunk/alba/apps/principal/modules/default/actions/actions.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/default/actions/actions.class.php	2009-05-05 02:32:07 UTC (rev 6160)
+++ prosistem/alba/trunk/alba/apps/principal/modules/default/actions/actions.class.php	2009-05-05 06:39:29 UTC (rev 6161)
@@ -13,7 +13,11 @@
     public function executeIndex(sfWebRequest $request)
     {
     }
+    public function executeLogin(sfWebRequest $request)
+    {
+    }
+    public function executeSecure(sfWebRequest $request)
+    {
+    }
 
-    public function executeLogin($request) {
-    }
 }

Modified: prosistem/alba/trunk/alba/apps/principal/modules/default/templates/indexSuccess.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/default/templates/indexSuccess.php	2009-05-05 02:32:07 UTC (rev 6160)
+++ prosistem/alba/trunk/alba/apps/principal/modules/default/templates/indexSuccess.php	2009-05-05 06:39:29 UTC (rev 6161)
@@ -1,98 +1,105 @@
 <?php if ($sf_user->isAuthenticated()): ?>
-<div align="center">
-<h1>&iexcl;Bienvenidos al Sistema Libre de Gesti&oacute;n Educativa ALBA!</h1>
-<h3>Versi&oacute;n <?php echo link_to(sfConfig::get("app_alba_version"),"http://www.proyectoalba.com.ar/",array('title'=> 'Comprobar Versi&oacute;n...')) ?><h3>
-</div>
-<br/>
-<div align="center">
-El Proyecto Alba, es un proyecto de desarrollo de Software para la realizaci&oacute;n de un<br><b>&quot;Sistema Libre de Gesti&oacute;n Educativa&quot;</b>
-</div>
-<br>
-<br>
-<table align="center">
-    <tr>
-        <td>
-            <?php echo image_tag("gnu-head-banner.png");?>
-        </td>
-        <td>
-            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-        </td>
-        <td>
-            &Eacute;ste aplicativo es <b><a href="http://es.wikipedia.org/wiki/Software_Libre">Software Libre</a></b>, de acuerdo con tal definici&oacute;n, el software es <b>"libre"</b> si garantiza las siguientes libertades:
-            <ul>
-                <li><b>"libertad 0"</b>, ejecutar el programa con cualquier prop&oacute;sito (privado, educativo, p&uacute;blico, comercial, etc.)</li>
-                <li><b>"libertad 1"</b>, estudiar y modificar el programa (para lo cual es necesario poder acceder al c&oacute;digo fuente)</li>
-                <li><b>"libertad 2"</b>, copiar el programa de manera que se pueda ayudar al vecino o a cualquiera</li>
-                <li><b>"libertad 3"</b>, mejorar el programa, y hacer p&uacute;blicas las mejoras, de forma que se beneficie toda la comunidad.</li>
-            </ul>
-        </td>
-    </tr>
-</table>
+  <div align="center">
+  <h1>&iexcl;Bienvenidos al Sistema Libre de Gesti&oacute;n Educativa ALBA!</h1>
+  <h3>Versi&oacute;n <?php echo link_to(sfConfig::get("app_alba_version"),"http://www.proyectoalba.com.ar/",array('title'=> 'Comprobar Versi&oacute;n...')) ?><h3>
+  </div>
+  <br/>
+  <div align="center">
+  El Proyecto Alba, es un proyecto de desarrollo de Software para la realizaci&oacute;n de un<br><b>&quot;Sistema Libre de Gesti&oacute;n Educativa&quot;</b>
+  </div>
+  <br>
+  <br>
+  <table align="center">
+      <tr>
+          <td>
+              <?php echo image_tag("gnu-head-banner.png");?>
+          </td>
+          <td>
+              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+          </td>
+          <td>
+              &Eacute;ste aplicativo es <b><a href="http://es.wikipedia.org/wiki/Software_Libre">Software Libre</a></b>, de acuerdo con tal definici&oacute;n, el software es <b>"libre"</b> si garantiza las siguientes libertades:
+              <ul>
+                  <li><b>"libertad 0"</b>, ejecutar el programa con cualquier prop&oacute;sito (privado, educativo, p&uacute;blico, comercial, etc.)</li>
+                  <li><b>"libertad 1"</b>, estudiar y modificar el programa (para lo cual es necesario poder acceder al c&oacute;digo fuente)</li>
+                  <li><b>"libertad 2"</b>, copiar el programa de manera que se pueda ayudar al vecino o a cualquiera</li>
+                  <li><b>"libertad 3"</b>, mejorar el programa, y hacer p&uacute;blicas las mejoras, de forma que se beneficie toda la comunidad.</li>
+              </ul>
+          </td>
+      </tr>
+  </table>
 
-<br>
-<br>
+  <br>
+  <br>
 
-<table align="center">
-    <tr>
-        <td>
-            <?php echo image_tag("bug.jpg");?>
-        </td>
-        <td>
-            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-        </td>
-        <td>
-            Como est&aacute; en continuo desarrollo, puede encontrar errores que todav&iacute;a no han sido descubiertos. <br>
-            Si encuentra alguno, por favor rep&oacute;rtelo en nuestro sitio de seguimientos de errores: <b><a target="_blank" href="http://alba.pressenter.com.ar">http://alba.pressenter.com.ar</a></b>
-            <br/>
-        </td>
-    </tr>
+  <table align="center">
+      <tr>
+          <td>
+              <?php echo image_tag("bug.jpg");?>
+          </td>
+          <td>
+              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+          </td>
+          <td>
+              Como est&aacute; en continuo desarrollo, puede encontrar errores que todav&iacute;a no han sido descubiertos. <br>
+              Si encuentra alguno, por favor rep&oacute;rtelo en nuestro sitio de seguimientos de errores: <b><a target="_blank" href="http://alba.pressenter.com.ar">http://alba.pressenter.com.ar</a></b>
+              <br/>
+          </td>
+      </tr>
 
-    <tr>
-        <td>
+      <tr>
+          <td>
 
-        </td>
-        <td>
-         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-        </td>
-        <td>
-            <i>Para m&aacute;s informaci&oacute;n visite el Sitio Web del Proyecto Alba. <b><a href="http://www.proyectoalba.com.ar">P&aacute;gina Web del Proyecto.</a></b></i>
-        </td>
-    </tr>
+          </td>
+          <td>
+           &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+          </td>
+          <td>
+              <i>Para m&aacute;s informaci&oacute;n visite el Sitio Web del Proyecto Alba. <b><a href="http://www.proyectoalba.com.ar">P&aacute;gina Web del Proyecto.</a></b></i>
+          </td>
+      </tr>
 
-</table>
-    <?php if (sfConfig::get('sf_debug')):?>
-    <ul>
-        <li>Informaci&oacute;n del Sistema
-            <ul>
-                <li>PHP: <?php echo phpversion()?></li>
-            </ul>
-        </li>
-        <li>Permisos:
-            <ul>
-            <?php foreach ($sf_user->listCredentials() as $permiso):?>
-            <li><?php echo $permiso?></li>
-            <?php endforeach;?>
-            </ul>
-        </li>
-        <li>Establecimientos:
-            <ul>
-                <?php $establecimientos = $sf_user->getEstablecimientos()?>
-                <?php foreach ($establecimientos as $establecimiento): ?>
-                    <li><?php echo $establecimiento?></li>
-                <?php endforeach; ?>
-            </ul>
-        </li>
-        <li>Organizaci&oacute;n
-            <ul>
-                <?php echo "[" .$sf_user->getAttribute('fk_organizacion_id'). "] " . $sf_user->getAttribute('organizacion_nombre')?>
-            </ul>
-        </li>
-        <li>Tema (interfaz):
-            <ul>
-                <?php echo $sf_user->getTheme()?>
-            </ul>
-        </li>
-    </ul>
-    <?php endif;?>
+  </table>
+  <?php if (sfConfig::get('sf_debug')):?>
+  <ul>
+      <li>Informaci&oacute;n del Sistema
+          <ul>
+              <li>PHP: <?php echo phpversion()?></li>
+          </ul>
+      </li>
+      <li>Roles:
+        <ul>
+          <?php foreach ($sf_user->getAttribute('roles') as $rol):?>
+          <li><?php printf("[%d] %s",$rol['id'],$rol['nombre'])?></li>
+          <?php endforeach;?>
+        </ul>
+      </li>
+      <li>Permisos efectivos:
+          <ul>
+          <?php foreach ($sf_user->listCredentials() as $permiso):?>
+          <li><?php echo $permiso?></li>
+          <?php endforeach;?>
+          </ul>
+      </li>
+      <li>Establecimientos:
+          <ul>
+              <?php $establecimientos = $sf_user->getEstablecimientos()?>
+              <?php foreach ($establecimientos as $establecimiento): ?>
+                  <li><?php echo $establecimiento?></li>
+              <?php endforeach; ?>
+          </ul>
+      </li>
+      <li>Organizaci&oacute;n
+          <ul>
+              <?php echo "[" .$sf_user->getAttribute('fk_organizacion_id'). "] " . $sf_user->getAttribute('organizacion_nombre')?>
+          </ul>
+      </li>
+      <li>Tema (interfaz):
+          <ul>
+              <?php echo $sf_user->getTheme()?>
+          </ul>
+      </li>
+  </ul>
+  <?php endif;?>
 
 <?php endif; ?>

Modified: prosistem/alba/trunk/alba/apps/principal/modules/rol/actions/actions.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/rol/actions/actions.class.php	2009-05-05 02:32:07 UTC (rev 6160)
+++ prosistem/alba/trunk/alba/apps/principal/modules/rol/actions/actions.class.php	2009-05-05 06:39:29 UTC (rev 6161)
@@ -2,7 +2,7 @@
 
 /**
  *    This file is part of Alba.
- * 
+ *
  *    Alba is free software; you can redistribute it and/or modify
  *    it under the terms of the GNU General Public License as published by
  *    the Free Software Foundation; either version 2 of the License, or
@@ -37,13 +37,18 @@
     function executeEditPermiso() {
         // estos son los permisos que tiene el rol
         $c = new Criteria();
-        $c->add(RelRolPermisoPeer::FK_ROL_ID, $this->getRequestParameter('id'));
-        $rolPermisos = RelRolPermisoPeer::doSelectJoinPermiso($c);
-    
-            // esto puede ser descartado usando en el select_tag, objects_for_select                               
+        $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()] = $rolPermiso->getPermiso()->getNombre();
+            $optionsRolPermisos[$rolPermiso->getFkPermisoId()] =
+              sprintf("%s (%s)",
+              $rolPermiso->getPermiso()->getNombre(),
+              $rolPermiso->getPermiso()->getDescripcion()
+              );
         }
 
         //estos son todos los permisos existentes
@@ -52,53 +57,48 @@
         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->clearSelectColumns()->addSelectColumn(RolPeer::NOMBRE);
-        //$c->addSelectColumn(RolPeer::ID);
-        
         $c->add(RolPeer::ACTIVO, 1);
         $roles  = RolPeer::doSelect($c);
 
         $optionsRol = array();
         foreach($roles as $rol) {
-            $optionsRol[$rol->getId()] = $rol->getNombre(); 
+            $optionsRol[$rol->getId()] = $rol->getNombre();
         }
         $this->optionsRol = $optionsRol;
         $this->optionsRolPermisos = $optionsRolPermisos;
-    }        
-    
+    }
+
     function executeSavePermiso() {
-      
+
         // borrar todo los permisos para un usuarios determinado
         $rolId = $this->getRequestParameter('id');
         $aPermiso = $this->getRequest()->getParameterHolder()->get('rolPermisos');
 
         $c =  new Criteria();
-        $c->add(RelRolPermisoPeer::FK_ROL_ID, $rolId);
-        RelRolPermisoPeer::doDelete($c);
+        $c->add(RolPermisoPeer::FK_ROL_ID, $rolId);
+        RolPermisoPeer::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 RelRolPermiso();
+                $p = new RolPermiso();
                 $p->setFkRolId($rolId);
                 $p->setFkPermisoId($permisoId);
                 $p->save();
                 unset($p);
             }
         }
+        $this->getUser()->setFlash('notice', 'Los permisos para este Rol fueron actualizados correctamente.');
         return $this->redirect('rol/editPermiso?id='.$rolId);
-               
-    }        
-    
-
+    }
 }
 
 ?>

Modified: prosistem/alba/trunk/alba/apps/principal/modules/rol/templates/editPermisoSuccess.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/rol/templates/editPermisoSuccess.php	2009-05-05 02:32:07 UTC (rev 6160)
+++ prosistem/alba/trunk/alba/apps/principal/modules/rol/templates/editPermisoSuccess.php	2009-05-05 06:39:29 UTC (rev 6161)
@@ -1,16 +1,17 @@
-    
-    <script>     
-     function linkTo() {
-        var obj = document.getElementById('id');
-        location.href = "<?php echo url_for('rol/editPermiso', false);?>/id/"+obj.options[obj.selectedIndex].value;
-     }
-	</script>		
+<script>
+    function linkTo() {
+      var obj = document.getElementById('id');
+      location.href = "<?php echo url_for('rol/editPermiso', false);?>/id/"+obj.options[obj.selectedIndex].value;
+    }
+</script>
 <div id="sf_admin_container">
+  <?php include_partial('global/flashes')?>
+  <div id="sf_admin_content">
     <h1>Permisos por Roles</h1>
     <br>
     <?php echo form_tag('rol/savePermiso', 'onSubmit="selectItem()"')?>
     Rol: <?php echo select_tag('id', options_for_select($optionsRol, $sf_params->get('id')), 'onChange=linkTo()'); ?><br> <br>
-    <?php 
+    <?php
         echo select_tag('permisos', options_for_select($optionsPermisos), 'multiple=multiple id="fromBox"');
         echo select_tag('rolPermisos[]', options_for_select($optionsRolPermisos), 'multiple=multiple id="toBox"');
     //    echo select_tag('rolPermisos[]', objects_for_select($optionsRolPermisos,'getFkPermisoId','getPermiso()->getNombre',''), 'multiple=multiple id="toBox"');
@@ -20,8 +21,8 @@
         <li><?php echo button_to('Listado de Roles','rol/list',array('class'=>'sf_admin_action_list'))?></li>
     </ul>
     </form>
-
-    <script type="text/javascript">
-    createMovableOptions("fromBox","toBox",500,300,'Permisos Disponibles','Permisos Seleccionados');
-    </script>
+  </div>
 </div>
+<script type="text/javascript">
+createMovableOptions("fromBox","toBox",500,300,'Permisos Disponibles','Permisos Seleccionados');
+</script>

Modified: prosistem/alba/trunk/alba/apps/principal/modules/seguridad/actions/actions.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/seguridad/actions/actions.class.php	2009-05-05 02:32:07 UTC (rev 6160)
+++ prosistem/alba/trunk/alba/apps/principal/modules/seguridad/actions/actions.class.php	2009-05-05 06:39:29 UTC (rev 6161)
@@ -77,41 +77,10 @@
                     $this->getUser()->setAttribute('usuario',$user->getUsuario());
                     $this->getUser()->setCulture('es_AR');
 
-                    /* asigno las credenciales x rol*/
-                    $crol = new Criteria();
-                    $crol->add(UsuarioRolPeer::FK_USUARIO_ID, $user->getId());
-                    $roles = UsuarioRolPeer::doSelect($crol);
+                    //cargo las credenciales del usuario ylos roles
+                    $this->getUser()->cargarCredenciales($user->getId());
 
-                    //por cada rol busco los permisos y los asigno
-                    foreach ($roles as $rol) {
-
-                        $this->logMessage(' obteniendo rol: ' . $rol->getRol()->getNombre(), 'debug');
-                        $permisos = $rol->getRol()->getRolPermisos();
-                        foreach ($permisos as $permiso) {
-                            $this->logMessage(sprintf('permiso desde rol: %s', $permiso->getPermiso()),'debug');
-                            $this->getUser()->addCredential($permiso->getPermiso()->getNombre());
-                        }
-                    }
-
-                    /* asign credenciales por usuario */
-                    $this->logMessage('obteniendo permisos x usuario:', 'debug');
-                    $cuser = new Criteria();
-                    $cuser->add(UsuarioPermisoPeer::FK_USUARIO_ID, $user->getId());
-                    $permisos = UsuarioPermisoPeer::doSelect($cuser);
-                    foreach ($permisos as $permiso) {
-                        $this->logMessage('permiso desde usuario: ' . $permiso->getPermiso(),'debug');
-                        $this->getUser()->addCredential($permiso->getPermiso()->getNombre());
-                    }
-
-                    // quitando credenciales para la demo
-                    if(sfConfig::get('sf_environment') =='demo'){
-                        $this->logMessage('{DEMO} quitando credenciales');
-                        $this->getUser()->removeCredential('usuario');
-                        $this->getUser()->removeCredential('permiso');
-                        $this->getUser()->removeCredential('modulo');
-                        $this->getUser()->removeCredential('rol');
-                    }
-                    $this->debugMessage('Login ok');
+                    $this->logMessage('Login ok','debug');
                     return $this->redirect($this->getRequestParameter('referer', '@homepage'));
                 }
                 else {
@@ -121,7 +90,7 @@
 
             }
             else {
-                $this->debugMessage('Login Error');
+                $this->logMessage('Login Error','debug');
                 $this->error_inicio_sesion = true;
                 return sfView::SUCCESS;
             }
@@ -134,7 +103,7 @@
 
     /* cierre de session */
     public function executeLogout() {
-        $this->debugMessage("Logout");
+        $this->logMessage("Logout", 'debug');
         $this->getUser()->clearCredentials();
         $this->getUser()->setAuthenticated(false);
         $this->redirect('default/index');
@@ -190,7 +159,7 @@
     /* capturo el error de login */
    public function handleErrorLogin()
     {
-        $this->debugMessage("Error inicio de sesion");
+        $this->logMessage("Error inicio de sesion", 'debug');
         $this->error_inicio_sesion = true;
         return sfView::SUCCESS;
     }

Modified: prosistem/alba/trunk/alba/apps/principal/modules/usuario/actions/actions.class.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/usuario/actions/actions.class.php	2009-05-05 02:32:07 UTC (rev 6160)
+++ prosistem/alba/trunk/alba/apps/principal/modules/usuario/actions/actions.class.php	2009-05-05 06:39:29 UTC (rev 6161)
@@ -2,7 +2,7 @@
 
 /**
  *    This file is part of Alba.
- * 
+ *
  *    Alba is free software; you can redistribute it and/or modify
  *    it under the terms of the GNU General Public License as published by
  *    the Free Software Foundation; either version 2 of the License, or
@@ -33,63 +33,63 @@
 
 class usuarioActions extends autousuarioActions
 {
-    
-    function updateUsuarioFromRequest() {                                                                                     
-        $usuario = $this->getRequestParameter('usuario');                                   
-                                                                                        
-        if (isset($usuario['usuario'])) {                                                                                   
-          $this->usuario->setUsuario($usuario['usuario']);                                  
-        }                                                                                   
-        
-        if (isset($usuario['clave']) && $usuario['clave'] != '') {                                                                                   
-          $this->usuario->setClave(md5($usuario['clave']));                                      
-        }                                                       
-                                    
-        if (isset($usuario['correo_publico'])) {                                                                              
+
+    function updateUsuarioFromRequest() {
+        $usuario = $this->getRequestParameter('usuario');
+
+        if (isset($usuario['usuario'])) {
+          $this->usuario->setUsuario($usuario['usuario']);
+        }
+
+        if (isset($usuario['clave']) && $usuario['clave'] != '') {
+          $this->usuario->setClave(md5($usuario['clave']));
+        }
+
+        if (isset($usuario['correo_publico'])) {
           $this->usuario->setCorreoPublico(isset($usuario['correo_publico']) ? $usuario['correo_publico'] : 0);
-        }                                                                                   
-        
-        if (isset($usuario['email'])) {                                                                             
+        }
+
+        if (isset($usuario['email'])) {
           $this->usuario->setEmail($usuario['email']);
-        }                              
-                                                             
-        if (isset($usuario['activo'])) {                                                                                   
-          $this->usuario->setActivo(isset($usuario['activo']) ? $usuario['activo'] : 0);    
-        }                             
-                                                              
-        if ($this->usuario->isNew()) {                                                                                   
-          $this->usuario->setFechaCreado(date("Y-m-d"));                         
-        }                                              
+        }
 
-        $this->usuario->setFechaActualizado(date("Y-m-d H:i:s"));               
+        if (isset($usuario['activo'])) {
+          $this->usuario->setActivo(isset($usuario['activo']) ? $usuario['activo'] : 0);
+        }
 
-        if (isset($usuario['seguridad_pregunta'])) {                                                                                   
-          $this->usuario->setSeguridadPregunta($usuario['seguridad_pregunta']);             
-        }                                         
-                                                  
-        if (isset($usuario['seguridad_respuesta'])) {                                                                                   
-            $this->usuario->setSeguridadRespuesta($usuario['seguridad_respuesta']);           
-        }                                           
-                                                
-        if (isset($usuario['fk_establecimiento_id'])) {                                                                                   
-            $this->usuario->setFkEstablecimientoId($usuario['fk_establecimiento_id']);              
-        }                                                                                   
-    }                                                                                                                  
-    
-    
+        if ($this->usuario->isNew()) {
+          $this->usuario->setFechaCreado(date("Y-m-d"));
+        }
+
+        $this->usuario->setFechaActualizado(date("Y-m-d H:i:s"));
+
+        if (isset($usuario['seguridad_pregunta'])) {
+          $this->usuario->setSeguridadPregunta($usuario['seguridad_pregunta']);
+        }
+
+        if (isset($usuario['seguridad_respuesta'])) {
+            $this->usuario->setSeguridadRespuesta($usuario['seguridad_respuesta']);
+        }
+
+        if (isset($usuario['fk_establecimiento_id'])) {
+            $this->usuario->setFkEstablecimientoId($usuario['fk_establecimiento_id']);
+        }
+    }
+
+
     public function executeDelete($request) {
         $this->usuario = UsuarioPeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($this->usuario);
-        $this->usuario->setBorrado(1);          
-        $this->usuario->save();                    
+        $this->usuario->setBorrado(1);
+        $this->usuario->save();
         return $this->redirect('usuario/list');
     }
-                          
-    
+
+
     public function executeList($request) {
         $this->processSort();
         $this->processFilters();
-        $this->filters = $this->getUser()->getAttributeHolder()->getAll('sf_admin/usuario/filters'); 
+        $this->filters = $this->getUser()->getAttributeHolder()->getAll('sf_admin/usuario/filters');
         // pager
         $this->pager = new sfPropelPager('Usuario', 20);
         $c = new Criteria();
@@ -103,61 +103,58 @@
         $this->pager->setPage($this->getRequestParameter('page', 1));
         $this->pager->init();
     }
-                                
 
- 
+    /**
+     * Modificar los roles y permisos del usuario
+     */
     function executeEditPermiso($request) {
-      
+
+        $this->usuario = UsuarioPeer::retrieveByPk($this->getRequestParameter('id'));
+        $this->forward404Unless($this->usuario);
+
         // estos son los permisos que tiene el usuario
         $c = new Criteria();
-        $c->add(RelUsuarioPermisoPeer::FK_USUARIO_ID, $this->getRequestParameter('id'));
-        $usuarioPermisos = RelUsuarioPermisoPeer::doSelectJoinPermiso($c);
+        $c->add(UsuarioPermisoPeer::FK_USUARIO_ID, $this->usuario->getId());
+        $usuarioPermisos = UsuarioPermisoPeer::doSelectJoinPermiso($c);
 
         $optionsUsuarioPermisos = array();
         foreach($usuarioPermisos as $usuarioPermiso) {
             $optionsUsuarioPermisos[$usuarioPermiso->getFkPermisoId()] = $usuarioPermiso->getPermiso()->getNombre();
         }
         $this->optionsUsuarioPermisos = $optionsUsuarioPermisos;
-        
 
         // estos son todos los permisos existentes
         $todosLosPermisos = array();
-        if($this->getRequestParameter('rolId')) {
-            // permisos por rol
-            $c = new Criteria();        
-            $c->add(RelRolPermisoPeer::FK_ROL_ID, $this->getRequestParameter('rolId'));
-            $rolPermisos = RelRolPermisoPeer::doSelectJoinPermiso($c);
-            foreach($rolPermisos as $rolPermiso) {
-                $todosLosPermisos[$rolPermiso->getFkPermisoId()] = $rolPermiso->getPermiso()->getNombre();
-            }
-        } else {
-            // permisos
-            $permisos = PermisoPeer::doSelect(new Criteria());    
-            foreach($permisos as $permiso) {
-                $todosLosPermisos[$permiso->getId()] = $permiso->getNombre();
-            }
+        $c = new Criteria();
+        // permisos
+        $permisos = PermisoPeer::doSelect(new Criteria());
+        foreach($permisos as $permiso) {
+            $todosLosPermisos[$permiso->getId()] = $permiso->getNombre();
+        }
 
-        }
-        
         // estos son los permisos existentes menos los del usuario
-        $this->optionsPermisos = array_diff_key($todosLosPermisos, $this->optionsUsuarioPermisos);   
-        
-        
+        $this->optionsPermisos = array_diff_key($todosLosPermisos, $this->optionsUsuarioPermisos);
+
+        //cargo todos roles
         $c = new Criteria();
-        //$c->clearSelectColumns()->addSelectColumn(RolPeer::NOMBRE);
-        //$c->addSelectColumn(RolPeer::ID);
         $c->add(RolPeer::ACTIVO, 1);
-        $roles  = RolPeer::doSelect($c);
-     
-        $optionsRol = array( '' => 'Todos'); // muy feo
+        $roles = RolPeer::doSelect($c);
+
+        $optionsRol = array();
         foreach($roles as $rol) {
           $optionsRol[$rol->getId()] = $rol->getNombre();
         }
         $this->optionsRol = $optionsRol;
 
-        $this->usuario = UsuarioPeer::retrieveByPk($this->getRequestParameter('id'));
+        //cargo roles del usuario
+        $c = new Criteria();
+        $c->add(UsuarioRolPeer::FK_USUARIO_ID, $this->usuario->getId());
+        $this->usuarioroles = UsuarioRolPeer::doSelectJoinRol($c);
     }
-                        
+
+    /**
+     * Guarda los permisos del usuario
+     */
     function executeSavePermiso($request) {
 
         // borrar todo los permisos para un usuarios determinado
@@ -165,41 +162,86 @@
         $aPermiso = $this->getRequest()->getParameterHolder()->get('usuarioPermisos');
 
         $c =  new Criteria();
-        $c->add(RelUsuarioPermisoPeer::FK_USUARIO_ID, $usuarioId);
-        RelUsuarioPermisoPeer::doDelete($c);
+        $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 RelUsuarioPermiso();
+                $p = new UsuarioPermiso();
                 $p->setFkUsuarioId($usuarioId);
                 $p->setFkPermisoId($permisoId);
                 $p->save();
                 unset($p);
             }
-        }    
-        //si los permisos que se estan guardando son del 
+        }
+        //si los permisos que se estan guardando son del
         //usuario actual refresco las credenciales para evitar el logout/login
-        $this->logMessage("{debug} Comprobar si el usuario es es actual: " . $this->getUser()->getAttribute('id'));        
+        $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");
-            /* asigno las credenciales */                                                        
-            $cperm = new Criteria();                                                             
-            $cperm->add(RelUsuarioPermisoPeer::FK_USUARIO_ID, $usuarioId);
-            $usuarioPermisos = RelUsuarioPermisoPeer::doSelectJoinPermiso($cperm);               
-            foreach ($usuarioPermisos as $usuarioPermiso) {                                      
-                $this->getUser()->addCredential($usuarioPermiso->getPermiso()->getCredencial()); 
-                $message = "{Credenciales} " . $usuarioPermiso->getPermiso()->getCredencial();   
-                $this->logMessage($message);                                                   
-            }                                                                                    
-        } 
+          $this->logMessage("Modificando permisos del usuario actual", 'debug');
+          $this->getUser()->cargarCredenciales($usuarioId);
+        }
         return $this->redirect('usuario/editPermiso?id='.$usuarioId);
     }
-    
+
+  /**
+   * Asigna un rol al usuario
+   *
+   * @param integer $rol_id identificador del rol
+   * @param integer $usuario_id identificador del usuario
+   */
+  public function executeSaveRol(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->save();
+
+    //si el Rol 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') == $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());
+  }
+
+  /**
+   * 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());
+
+  }
 }
 
 ?>

Modified: prosistem/alba/trunk/alba/apps/principal/modules/usuario/templates/editPermisoSuccess.php
===================================================================
--- prosistem/alba/trunk/alba/apps/principal/modules/usuario/templates/editPermisoSuccess.php	2009-05-05 02:32:07 UTC (rev 6160)
+++ prosistem/alba/trunk/alba/apps/principal/modules/usuario/templates/editPermisoSuccess.php	2009-05-05 06:39:29 UTC (rev 6161)
@@ -1,27 +1,66 @@
 <div id="sf_admin_container">
-    <script>	
+    <script>
     function linkTo() {
         var obj = document.getElementById('rolId');
         location.href = "<?php echo url_for('usuario/editPermiso', false);?>/id/<?php echo $sf_params->get('id');?>/rolId/"+obj.options[obj.selectedIndex].value;
     }
-	</script>		
+	</script>
+<div id="sf_admin_content">
+  <h1>Permisos del Usuario (<?php echo $usuario->getUsuario()?>)</h1>
+  <br/>
+  <h2>Roles:</h2>
+  <?php echo form_tag('usuario/saveRol')?>
+    <?php echo input_hidden_tag('usuario_id', $usuario->getId())?>
+    <p>
+      <?php if(count($usuarioroles)> 0):?>
+        <table class="sf_admin_list" cellspacing="0" style="width:40%">
+          <thead>
+            <tr>
+              <th>Roles asignados:</th>
+              <th width="1%">Acciones</th>
+            </tr>
+          </thead>
+          <tfoot>
+            <th colspan="2">&nbsp;</th>
+          </tfoot>
+        <?php $row = 0?>
+        <?php foreach ($usuarioroles as $rol):?>
+          <tr class="sf_admin_row_<?php echo $row?>">
+            <td><?php echo $rol->getRol()?></td>
+            <td><?php echo link_to(image_tag('../sf/sf_admin/images/delete_icon.png',array('alt'=>'Eliminar rol', 'title'=>'Eliminar rol')),'usuario/deleteRol?usuario_id='.$usuario->getId().'&rol_id=' . $rol->getRol()->getId(),'confirm=Eliminar el rol del usuario?')?></td>
+          </tr>
+          <?php $row = ! $row;?>
+        <?php endforeach;?>
 
-<h1>Permisos por Usuario (<?php echo $usuario->getUsuario()?>) </h1>
-<br>
-<?php echo form_tag('usuario/savePermiso', 'onSubmit="selectItem()"')?>
-Rol:  <?php echo select_tag('rolId', options_for_select($optionsRol, $sf_params->get('rolId')), 'onChange=linkTo()'); ?><br><br>
-<?php 
-    echo select_tag('permisos', options_for_select($optionsPermisos), 'multiple=multiple id="fromBox"');
-    echo select_tag('usuarioPermisos[]', options_for_select($optionsUsuarioPermisos), 'multiple=multiple id="toBox"');
-    echo input_hidden_tag('id', $sf_params->get('id'));
-?>
-<ul class="sf_admin_actions">
-<li><?php echo submit_tag('submit', 'class=sf_admin_action_save value=Grabar');?></li>
-<li><?php echo button_to('Listado de usuarios','usuario/list',array('class'=>'sf_admin_action_list'))?></li>
-</ul>
-</form>
-<script type="text/javascript">
-createMovableOptions("fromBox","toBox",500,300,'Permisos Disponibles','Permisos Seleccionados');
-</script>
-
-</div>
\ No newline at end of file
+        </table>
+      <?php else:?>
+      <div class="error">No se ha asignado ningun Rol al usuario.</div>
+      <?php endif;?>
+    </p>
+    <br/>
+    <p>
+      Agregar el rol <?php echo select_tag('rol_id', options_for_select($optionsRol)) ?>
+      <?php echo submit_tag('Aceptar')?>
+    </p>
+  </form>
+  <br/>
+  <br/>
+  <h2>Permisos</h2>
+    <p>
+      <?php echo form_tag('usuario/savePermiso', 'onSubmit="selectItem()"')?>
+      <?php
+          echo select_tag('permisos', options_for_select($optionsPermisos), 'multiple=multiple id="fromBox"');
+          echo select_tag('usuarioPermisos[]', options_for_select($optionsUsuarioPermisos), 'multiple=multiple id="toBox"');
+          echo input_hidden_tag('id', $sf_params->get('id'));
+      ?>
+      <ul class="sf_admin_actions">
+      <li><?php echo submit_tag('submit', 'class=sf_admin_action_save value=Grabar');?></li>
+      <li><?php echo button_to('Listado de usuarios','usuario/list',array('class'=>'sf_admin_action_list'))?></li>
+      </ul>
+      </form>
+    </p>
+    <script type="text/javascript">
+    createMovableOptions("fromBox","toBox",500,300,'Permisos Disponibles','Permisos Seleccionados');
+    </script>
+  </div>
+</div>

Modified: prosistem/alba/trunk/alba/data/fixtures/00_datos_desde_cero.yml
===================================================================
--- prosistem/alba/trunk/alba/data/fixtures/00_datos_desde_cero.yml	2009-05-05 02:32:07 UTC (rev 6160)
+++ prosistem/alba/trunk/alba/data/fixtures/00_datos_desde_cero.yml	2009-05-05 06:39:29 UTC (rev 6161)
@@ -401,357 +401,333 @@
     borrado: 0
 
 Permiso:
-  Permiso_1:
+  Permiso_usuario:
     nombre: usuario
     descripcion: Modulo de usuario
-  Permiso_2:
-    nombre: permiso
-    descripcion: Administrar permisos de usuario
-  Permiso_3:
-    nombre: modulo
-    descripcion: Administración de módulos
-  Permiso_4:
+  Permiso_actividad:
     nombre: actividad
     descripcion:
-  Permiso_5:
+  Permiso_alumno:
     nombre: alumno
     descripcion:
-  Permiso_6:
+  Permiso_anio:
     nombre: anio
     descripcion:
-  Permiso_7:
+  Permiso_calendario:
     nombre: calendario
     descripcion:
-  Permiso_8:
+  Permiso_calendariovacunacion:
     nombre: calendariovacunacion
     descripcion:
-  Permiso_9:
+  Permiso_ciclolectivo:
     nombre: ciclolectivo
     descripcion:
-  Permiso_10:
+  Permiso_concepto:
     nombre: concepto
     descripcion:
-  Permiso_11:
-    nombre: creditos
-    descripcion:
-  Permiso_12:
+  Permiso_cuenta:
     nombre: cuenta
     descripcion:
-  Permiso_13:
+  Permiso_division:
     nombre: division
     descripcion:
-  Permiso_14:
+  Permiso_docente:
     nombre: docente
     descripcion:
-  Permiso_15:
-    nombre: docenteHorario
+  Permiso_docentehorario:
+    nombre: docentehorario
     descripcion:
-  Permiso_16:
+  Permiso_escalanota:
     nombre: escalanota
     descripcion:
-  Permiso_17:
+  Permiso_establecimiento:
     nombre: establecimiento
     descripcion:
-  Permiso_18:
+  Permiso_feriado:
     nombre: feriado
     descripcion:
-  Permiso_19:
+  Permiso_legajocategoria:
     nombre: legajocategoria
     descripcion:
-  Permiso_20:
+  Permiso_locacion:
     nombre: locacion
     descripcion:
-  Permiso_21:
+  Permiso_pais:
     nombre: pais
     descripcion:
-  Permiso_22:
+  Permiso_preferencia:
     nombre: preferencia
     descripcion:
-  Permiso_23:
+  Permiso_provincia:
     nombre: provincia
     descripcion:
-  Permiso_24:
-    nombre: relActividadDocente
+  Permiso_relactividaddocente:
+    nombre: relactividaddocente
     descripcion:
-  Permiso_25:
-    nombre: relAnioActividad
+  Permiso_relactividad:
+    nombre: relactividad
     descripcion:
-  Permiso_26:
-    nombre: relCalendariovacunacionAlumno
+  Permiso_relcalendariovacunacionalumno:
+    nombre: relcalendariovacunacionalumno
     descripcion:
-  Permiso_27:
+  Permiso_responsable:
     nombre: responsable
     descripcion:
-  Permiso_28:
+  Permiso_rol:
     nombre: rol
     descripcion:
-  Permiso_29:
+  Permiso_tipoiva:
     nombre: tipoiva
     descripcion:
-  Permiso_30:
+  Permiso_turno:
     nombre: turno
     descripcion:
-  Permiso_31:
+  Permiso_tipolocacion:
     nombre: tipolocacion
     descripcion:
-  Permiso_32:
+  Permiso_tipoespacio:
     nombre: tipoespacio
     descripcion:
-  Permiso_33:
+  Permiso_espacio:
     nombre: espacio
     descripcion:
-  Permiso_34:
+  Permiso_cargobaja:
     nombre: cargoabaja
     descripcion:
-  Permiso_35:
+  Permiso_conceptobaja:
     nombre: conceptobaja
     descripcion:
-  Permiso_36:
+  Permiso_distritoescolar:
     nombre: distritoescolar
     descripcion:
-  Permiso_37:
+  Permiso_horarioescolar:
     nombre: horarioescolar
     descripcion:
-  Permiso_38:
+  Permiso_horarioescolartipo:
     nombre: horarioescolartipo
     descripcion:
-  Permiso_39:
+  Permiso_tipodocente:
     nombre: tipodocente
     descripcion:
-  Permiso_40:
+  Permiso_organizacion:
     nombre: organizacion
     descripcion:
-  Permiso_41:
-    nombre: Asistencia
-    descripcion: Asistencia
-  Permiso_42:
-    nombre: distrito
-    descripcion: distrito
-  Permiso_43:
-    nombre: distritoescolar
-    descripcion: Distrito Escolar
-  Permiso_44:
+  Permiso_asistencia:
+    nombre: asistencia
+    descripcion: Asistencias
+  Permiso_legajopedagogico:
     nombre: legajopedagogico
     descripcion:
-  Permiso_45:
+  Permiso_tipoasistencia:
     nombre: tipoasistencia
     descripcion:
-  Permiso_46:
+  Permiso_formatofecha:
     nombre: formatofecha
     descripcion:
-  Permiso_47:
-    nombre: relLocacionEspacio
+  Permiso_rellocacionespacio:
+    nombre: rellocacionespacio
     descripcion:
-  Permiso_48:
-    nombre: relAlumnoDivision
+  Permiso_relalumnodivision:
+    nombre: relalumnodivision
     descripcion:
-  Permiso_49:
+  Permiso_boletin:
     nombre: boletin
     descripcion:
-  Permiso_50:
+  Permiso_boletinconcepto:
     nombre: boletinconcepto
     descripcion: boletinconcepto
-  Permiso_51:
+  Permiso_boletinnotas:
     nombre: boletinnotas
     descripcion: boletinnotas
-  Permiso_52:
+  Permiso_tipodocumento:
     nombre: tipodocumento
     descripcion: tipodocumento
-  Permiso_53:
-    nombre: informes
+  Permiso_informe:
+    nombre: informe
     descripcion: informes
-  Permiso_54:
-    nombre: rolResponsable
+  Permiso_rolresponsable:
+    nombre: rolresponsable
     descripcion: Rol de Responsables
-  Permiso_55:
+  Permiso_orientacion:
     nombre: orientacion
     descripcion: Orientacion
-  Permiso_56:
+  Permiso_tiponivel:
     nombre: tiponivel
     descripcion: Tipo de Nivel
-  Permiso_57:
+  Permiso_carrera:
     nombre: carrera
     descripcion: Carreras
+  Permiso_legajosalud:
+    nombre: legajosalud
+    descripcion: Legajo de Salud
 Rol:
-  Rol_1:
+  Rol_administrador:
     nombre: Administrador
     descripcion: Administrador del sistema
     activo: 1
 
 RolPermiso:
   Rol_permiso_1_1:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_1
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_actividad
   Rol_permiso_1_2:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_2
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_alumno
   Rol_permiso_1_3:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_3
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_anio
   Rol_permiso_1_4:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_4
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_asistencia
   Rol_permiso_1_5:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_5
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_boletin
   Rol_permiso_1_6:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_6
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_boletinconcepto
   Rol_permiso_1_7:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_7
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_boletinnotas
   Rol_permiso_1_8:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_8
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_calendario
   Rol_permiso_1_9:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_9
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_calendariovacunacion
   Rol_permiso_1_10:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_10
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_cargobaja
   Rol_permiso_1_11:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_11
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_carrera
   Rol_permiso_1_12:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_12
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_ciclolectivo
   Rol_permiso_1_13:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_13
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_conceptobaja
   Rol_permiso_1_14:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_14
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_concepto
   Rol_permiso_1_15:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_15
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_cuenta
   Rol_permiso_1_16:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_16
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_distritoescolar
   Rol_permiso_1_17:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_17
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_division
   Rol_permiso_1_18:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_18
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_docente
   Rol_permiso_1_19:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_19
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_docentehorario
   Rol_permiso_1_20:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_20
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_escalanota
   Rol_permiso_1_21:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_21
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_espacio
   Rol_permiso_1_22:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_22
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_establecimiento
   Rol_permiso_1_23:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_23
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_feriado
   Rol_permiso_1_24:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_24
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_formatofecha
   Rol_permiso_1_25:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_25
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_horarioescolar
   Rol_permiso_1_26:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_26
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_horarioescolartipo
   Rol_permiso_1_27:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_27
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_informe
   Rol_permiso_1_28:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_28
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_legajocategoria
   Rol_permiso_1_29:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_29
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_legajopedagogico
   Rol_permiso_1_30:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_30
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_legajosalud
   Rol_permiso_1_31:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_31
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_locacion
   Rol_permiso_1_32:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_32
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_organizacion
   Rol_permiso_1_33:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_33
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_orientacion
   Rol_permiso_1_34:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_34
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_pais
   Rol_permiso_1_35:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_35
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_preferencia
   Rol_permiso_1_36:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_36
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_provincia
   Rol_permiso_1_37:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_37
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_relactividad
   Rol_permiso_1_38:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_38
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_relactividaddocente
   Rol_permiso_1_39:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_39
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_relalumnodivision
   Rol_permiso_1_40:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_40
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_relcalendariovacunacionalumno
   Rol_permiso_1_41:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_41
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_rellocacionespacio
   Rol_permiso_1_42:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_42
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_responsable
   Rol_permiso_1_43:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_43
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_rol
   Rol_permiso_1_44:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_44
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_rolresponsable
   Rol_permiso_1_45:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_45
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_tipoasistencia
   Rol_permiso_1_46:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_46
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_tipodocente
   Rol_permiso_1_47:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_47
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_tipodocumento
   Rol_permiso_1_48:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_48
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_tipoespacio
   Rol_permiso_1_49:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_49
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_tipoiva
   Rol_permiso_1_50:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_50
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_tipolocacion
   Rol_permiso_1_51:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_51
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_tiponivel
   Rol_permiso_1_52:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_52
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_turno
   Rol_permiso_1_53:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_53
-  Rol_permiso_1_54:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_54
-  Rol_permiso_1_55:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_55
-  Rol_permiso_1_56:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_56
-  Rol_permiso_1_57:
-    fk_rol_id: Rol_1
-    fk_permiso_id: Permiso_57
+    fk_rol_id: Rol_administrador
+    fk_permiso_id: Permiso_usuario
 
 UsuarioRol:
-  Usuario_rol_1_1:
+  Usuario_Rol_administrador_1:
     fk_usuario_id: Usuario_1
-    fk_rol_id: Rol_1
+    fk_rol_id: Rol_administrador




Más información sobre la lista de distribución Alba-desarrollo