]> git.llucax.com Git - mecon/samurai.git/commitdiff
BugFixes despues de tocar los $_SESSION
authorMartín Marrese <marrese@gmail.com>
Wed, 17 Sep 2003 22:37:26 +0000 (22:37 +0000)
committerMartín Marrese <marrese@gmail.com>
Wed, 17 Sep 2003 22:37:26 +0000 (22:37 +0000)
doc/uml/Samurai.xmi
lib/SAMURAI/HTML/Perfil.php
lib/SAMURAI/HTML/Usuario.php
lib/SAMURAI/Perfil.php
lib/SAMURAI/Sistema.php
lib/SAMURAI/Usuario.php
sistema/www/perfiles/perfiles-datos.php
sistema/www/sistemas/sistemas-permisos.php
sistema/www/usuarios/usuarios-abm.php

index f1776927a37a27b824d1281ec6ccdc2ab16a2a1d..a125bdb9c0802b23818855c5a011599b32594656 100644 (file)
@@ -75,8 +75,9 @@ x2c:get set" name="perfiles" static="0" scope="202" />
     <UML:Operation stereotype="" package="" xmi.id="356" type="array()" abstract="0" documentation="Devuelve la informacion de los perfiles en un array." name="getArrayPerfiles" static="1" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
      <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="string" abstract="0" documentation="Filtro por descripcion del perfil" name="filtro" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="null" type="int" abstract="0" documentation="Identificador del sistema con el que se esta trabajando" name="id_sistema" static="0" scope="201" />
     </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="339" type="array(Perfil)" abstract="0" documentation="" name="getPerfiles" static="1" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="339" type="array(Perfil)" abstract="0" documentation="Devuelve un array de perfiles" name="getPerfiles" static="1" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de datos" name="db" static="0" scope="200" />
      <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="string" abstract="0" documentation="Filtro por nombre del perfil" name="filtro" static="0" scope="200" />
      <UML:Parameter stereotype="" package="" xmi.id="3" value="null" type="int" abstract="0" documentation="Identificador del sistema" name="id_sistema" static="0" scope="200" />
@@ -199,7 +200,8 @@ x2c: get set" name="permisos" static="0" scope="201" />
     <UML:Attribute stereotype="" package="" xmi.id="272" value="" type="SAMURAI_DB" abstract="0" documentation="Objeto Samurai_DB" name="db" static="0" scope="202" />
     <UML:Attribute stereotype="" package="" xmi.id="289" value="" type="string" abstract="0" documentation="Login del responsable de los ultimos cambios del sistema." name="responsable" static="0" scope="202" />
     <UML:Attribute stereotype="" package="" xmi.id="300" value="" type="array" abstract="0" documentation="Array asociativo (id - descripcion) con los permisos asociados al sistema." name="permisos" static="0" scope="202" />
-    <UML:Attribute stereotype="" package="" xmi.id="310" value="" type="array" abstract="0" documentation="" name="asociaciones" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="310" value="" type="array" abstract="0" documentation="Array con los permisos asociados al sistema
+x2c: get set" name="asociaciones" static="0" scope="202" />
    </UML:Class>
    <UML:Class stereotype="" package="" xmi.id="210" abstract="0" documentation="Clase para el manejo de los Permisos." name="SAMURAI_Permiso" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="259" type="void" abstract="0" documentation="Constructor. Si recibe como parametro el identificador del permiso, busca la informacion en la DB." name="SAMURAI_Permiso" static="0" scope="200" >
index f447971e24430a2e23b90cb98fa89f6e5d7e4f1f..372abf88a7591e3044bea152d2a56ce21857f37a 100644 (file)
@@ -98,9 +98,6 @@ require_once 'PEAR.php';
 //SAMURAI_HTML_Perfil {{{
 function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
 
-    $_SESSION['samurai']['id_sistema'] = $id_sistema;
-    $_SESSION['samurai']['login'] = $_SESSION['usuario'];
-    
     //INICIALIZO OBJETOS GENERALES {{{
     //REALIZO CONEXION
     $tmp = new SAMURAI_DB();
@@ -109,7 +106,6 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
     $SAMURAI_PERM = new SAMURAI_Perm ($_SESSION['usuario'], $id_sistema, $DB);
     //}}}
 
-    
     if (@$_POST['samurai_accion'] == 'abm' || @$_GET['samurai_perfiles'] == 'abm') {
         $OPCION = 'abm';
     }
@@ -206,7 +202,7 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
         //AGREGO LOS ELEMENTOS DEL FORM {{{
             $FORM->addElement ('hidden', 'samurai_accion', 'nuevo');
             $FORM->addElement ('header', 'cabecera'   , 'Nuevo Perfil');
-            $FORM->addElement ('select', 'perfiles'   , 'Perfiles', '', array('size' => '1'));
+            $FORM->addElement ('select', 'perfiles'   , 'Perfiles', null, array('size' => '1'));
             $FORM->addElement ('text'  , 'filtro'     , 'Filtrar' , array('size' => '50'));
             $FORM->addElement ('text'  , 'descripcion', 'Nombre'  , array('size' => '50'));
             $group[] = HTML_QuickForm::createElement('submit', 'continuar', 'Continuar');
@@ -317,7 +313,7 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
             }
             $FORM    =& new MECON_HTML_QuickForm ('samurai_perfiles','post',$_SERVER['PHP_SELF']);
             $SISTEMA =& new SAMURAI_Sistema ($DB, $id_sistema);
-            $PERFIL  =& new SAMURAI_Perfil ($DB, $id_perfil);
+            $PERFIL  =& new SAMURAI_Perfil ($DB, $id_perfil, $id_sistema);
 
             if ($PERFIL->getResponsable()) {
                 $responsable = $PERFIL->getResponsable();
index 95d4ebadd8751f2e29a0b20b542c1096427db8ab..d33e814817f646ce9d5d6318ace0df60e6193aff 100644 (file)
@@ -196,7 +196,7 @@ function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) {
             $TABLA   = new MECON_HTML_Tabla ('cellspacing=0');
             $FORM    = new MECON_HTML_QuickForm ('samurai_usuarios','post', $_SERVER['PHP_SELF']);
             $SISTEMA = new SAMURAI_Sistema($DB, $id_sistema);
-            $USUARIO = new SAMURAI_Usuario($DB, $login);
+            $USUARIO = new SAMURAI_Usuario($DB, $login, $id_sistema);
         // }}}
         //OBTENGO LOS DATOS DE LA BASE {{{
             $tmps = SAMURAI_Perfil::getPerfiles($DB, null, $id_sistema);
@@ -269,7 +269,6 @@ function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) {
                 // }}}
                 else {
                     $login2   =& $FORM->getElement  ('login'   ); 
-                    $nombre   =& $FORM->getElement  ('nombre'  );
                     $perfiles =& $FORM->getElement  ('perfiles');
                     $group    =& $FORM->getElement  ('botones' );
                     $group    =& $group->getElements('aceptar' );
@@ -278,6 +277,7 @@ function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) {
 
                     if ($login) {
                         $login3 = $login2->_text;
+                        $nombre   =& $FORM->getElement  ('nombre'  );
                     }
                     else {
                         $login3 = $login2->getValue();
index 4a7edf03c0eb15ad3ea38e1a9f84e73ba3c2e421..9d32a5c1caf9bd40621c0989a65609327fa19075 100644 (file)
@@ -82,6 +82,8 @@ class SAMURAI_Perfil {
     var $_permisos;
 
     /**
+     * Identificador del sistema en el cual se esta trabajando
+     *
      * @var    int $idSistema
      * @access protected
      */
@@ -218,9 +220,9 @@ class SAMURAI_Perfil {
     function SAMURAI_Perfil(&$db, $id = null, $idSistema = null) // ~X2C
     {
         $this->_db = $db;
+        $this->_idSistema = $idSistema;
         if (!is_null($id)) {
             $this->setId($id);
-            $this->_idSistema = $idSistema;
             $this->_obtenerDatosDb();
         }
         else {
@@ -229,7 +231,6 @@ class SAMURAI_Perfil {
             $this->_descripcion = null; 
             $this->_tipo        = null;
             $this->_permisos    = null;
-            $this->_idSistema   = null;
         }
     }
     // -X2C
@@ -486,6 +487,8 @@ class SAMURAI_Perfil {
 
     // +X2C Operation 339
     /**
+     * Devuelve un array de perfiles
+     *
      * @param  SAMURAI_DB &$db Base de datos
      * @param  string $filtro Filtro por nombre del perfil
      * @param  int $id_sistema Identificador del sistema
@@ -511,16 +514,17 @@ class SAMURAI_Perfil {
      *
      * @param  SAMURAI_DB $db Base de Datos
      * @param  string $filtro Filtro por descripcion del perfil
+     * @param  int $id_sistema Identificador del sistema con el que se esta trabajando
      *
      * @return array()
      * @access public
      * @static
      */
-    function getArrayPerfiles($db, $filtro = null) // ~X2C
+    function getArrayPerfiles($db, $filtro = null, $id_sistema = null) // ~X2C
     {
         //FORECHEO LO QUE ME DEVUELVA GET PERMISOS
         $rta = array ();
-        foreach (SAMURAI_Perfil::getPerfiles($db, $filtro) as $perfil) {
+        foreach (SAMURAI_Perfil::getPerfiles($db, $filtro, $id_sistema) as $perfil) {
             $rta[$perfil->getId()] = $perfil->getDescripcion();
         }
         return $rta;
index 8cf5f9788d100b5428e40d68c20e5a5695989b2d..14f3d7bb093db5c8c27fdc6f177669b0530fe854 100644 (file)
@@ -116,11 +116,36 @@ class SAMURAI_Sistema {
     var $_permisos;
 
     /**
+     * Array con los permisos asociados al sistema
+     *
      * @var    array $asociaciones
      * @access protected
      */
     var $_asociaciones;
 
+    /**
+     * Gets Asociaciones.
+     *
+     * @return array
+     * @access public
+     */
+    function getAsociaciones()
+    {
+        return $this->_asociaciones;
+    }
+    /**
+     * Sets Asociaciones.
+     *
+     * @param  array $asociaciones Asociaciones.
+     *
+     * @return void
+     * @access public
+     */
+    function setAsociaciones($asociaciones)
+    {
+        $this->_asociaciones = $asociaciones;
+    }
+
     // ~X2C
 
     // +X2C Operation 243
@@ -968,4 +993,4 @@ class SAMURAI_Sistema {
 
 } // -X2C Class :SAMURAI_Sistema
 
-?>
+?>
\ No newline at end of file
index 86cc24a639f8bf17c3458851a2692a43948c2403..a394091ea34ce810315d28fe173d22ea3d94d865 100644 (file)
@@ -85,6 +85,8 @@ class SAMURAI_Usuario {
     var $_perfiles;
 
     /**
+     * Identificador del sistema en el cual se esta trabajando.
+     *
      * @var    int $idSistema
      * @access protected
      */
@@ -199,11 +201,11 @@ class SAMURAI_Usuario {
     {
         $this->_db = $db; 
         $this->setLogin($login);
+        $this->_idSistema = $idSistema;
         if (!is_null($login)) {
             $tmp =& new MECON_Usuario(null, $login);
             $this->setNrodoc($tmp->getDni());
             $this->setNombre($tmp->getNombre());
-            $this->_idSistema = $idSistema;
             $this->_obtenerDatosDb();
         }
     }
@@ -492,4 +494,4 @@ class SAMURAI_Usuario {
     // -X2C
 
 } // -X2C Class :SAMURAI_Usuario
-?>
+?>
\ No newline at end of file
index 7083e0774f7af24e51c9c6dc13e3e740c008ccce..8014f7cb37fb281bbf43f74f330983d9c48205f6 100644 (file)
@@ -55,9 +55,9 @@ $SAMURAI_PERM->chequear(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PER
         $SISTEMA = new SAMURAI_Sistema ($DB, $_SESSION['samurai']['id_sistema']);
     }
 // }}}
-
 //OBTENGO LOS PERMISOS DEL SISTEMA {{{
     $ASOCIACIONES = $SISTEMA->getAsociaciones();
+
     $PERMISOS = array ();
     foreach ($ASOCIACIONES as $as) {
         $clave = $as['id'].'##'.$as['obs'];
@@ -77,7 +77,6 @@ $SAMURAI_PERM->chequear(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PER
                     break;
     }
 //}}}
-
 //AGREGO LOS ELEMENTOS AL FORM {{{
     $FORM->addElement         ('static', 'id_perfil'  , 'Id Perfil'    , $PERFIL->getId()              );
     $FORM->addElement         ('static', 'desc_perfil', 'Descricion'   , $PERFIL->getDescripcion()     );
index 7eeaedaf4ddc6956acfa0367c91a561dace0c22c..a5ef85ac4da82a8e8ff41e108f3f2ba4b7fb5075 100644 (file)
@@ -75,8 +75,8 @@ $SAMURAI_PERM->chequear(SAMURAI_DEVELOPER);
     $TABLAPERM->addRow($row, 'titulo');
     
     $asocs = $SISTEMA->getAsociaciones();
-    
-    foreach ($asocs as $key => $asoc) {
+
+    foreach ($asocs as $asoc) {
         $obs = ereg_replace(' ' , '%20', $asoc['obs']); //Cambio los espacios por %20 para que funcione bien con el netscape
         $estilo = 'comun';
         $permiso = new SAMURAI_Permiso($DB, $asoc['id']);
index 24ddb7fc03a4a1ed087292c15bc1d41b1b84a9ac..a12bad7faf817b00a6820f8751792e60c85cb16e 100644 (file)
@@ -50,6 +50,8 @@ if (!@$_SESSION['samurai']['id_sistema']) {
         $validar = 1;
         $login = null;
     }
+
+
     $TABLA   = new MECON_HTML_Tabla ('cellspacing=0');
     $FORM    = new MECON_HTML_QuickForm ('usuarios_abm','post','usuarios-abm');
     $SISTEMA = new SAMURAI_Sistema($DB, $_SESSION['samurai']['id_sistema']);
@@ -151,7 +153,7 @@ if (!@$_SESSION['samurai']['id_sistema']) {
             }
             else {
                 $USUARIO->setPerfiles($perfiles->getSelected());
-
+                
                 $res = $USUARIO->guardarDatos($aceptar->getValue());
 
                 if (PEAR::isError($res)) {