From: Martín Marrese Date: Wed, 17 Sep 2003 22:37:26 +0000 (+0000) Subject: BugFixes despues de tocar los $_SESSION X-Git-Tag: svn_import~76 X-Git-Url: https://git.llucax.com/mecon/samurai.git/commitdiff_plain/52ec6b73aae5937cd9c04e150e6b261b8be98b01?hp=79ef65118eefbd09cf3007abb74b3b9e18ebb88e BugFixes despues de tocar los $_SESSION --- diff --git a/doc/uml/Samurai.xmi b/doc/uml/Samurai.xmi index f177692..a125bdb 100644 --- a/doc/uml/Samurai.xmi +++ b/doc/uml/Samurai.xmi @@ -75,8 +75,9 @@ x2c:get set" name="perfiles" static="0" scope="202" /> + - + @@ -199,7 +200,8 @@ x2c: get set" name="permisos" static="0" scope="201" /> - + diff --git a/lib/SAMURAI/HTML/Perfil.php b/lib/SAMURAI/HTML/Perfil.php index f447971..372abf8 100644 --- a/lib/SAMURAI/HTML/Perfil.php +++ b/lib/SAMURAI/HTML/Perfil.php @@ -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(); diff --git a/lib/SAMURAI/HTML/Usuario.php b/lib/SAMURAI/HTML/Usuario.php index 95d4eba..d33e814 100644 --- a/lib/SAMURAI/HTML/Usuario.php +++ b/lib/SAMURAI/HTML/Usuario.php @@ -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(); diff --git a/lib/SAMURAI/Perfil.php b/lib/SAMURAI/Perfil.php index 4a7edf0..9d32a5c 100644 --- a/lib/SAMURAI/Perfil.php +++ b/lib/SAMURAI/Perfil.php @@ -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; diff --git a/lib/SAMURAI/Sistema.php b/lib/SAMURAI/Sistema.php index 8cf5f97..14f3d7b 100644 --- a/lib/SAMURAI/Sistema.php +++ b/lib/SAMURAI/Sistema.php @@ -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 diff --git a/lib/SAMURAI/Usuario.php b/lib/SAMURAI/Usuario.php index 86cc24a..a394091 100644 --- a/lib/SAMURAI/Usuario.php +++ b/lib/SAMURAI/Usuario.php @@ -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 diff --git a/sistema/www/perfiles/perfiles-datos.php b/sistema/www/perfiles/perfiles-datos.php index 7083e07..8014f7c 100644 --- a/sistema/www/perfiles/perfiles-datos.php +++ b/sistema/www/perfiles/perfiles-datos.php @@ -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() ); diff --git a/sistema/www/sistemas/sistemas-permisos.php b/sistema/www/sistemas/sistemas-permisos.php index 7eeaeda..a5ef85a 100644 --- a/sistema/www/sistemas/sistemas-permisos.php +++ b/sistema/www/sistemas/sistemas-permisos.php @@ -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']); diff --git a/sistema/www/usuarios/usuarios-abm.php b/sistema/www/usuarios/usuarios-abm.php index 24ddb7f..a12bad7 100644 --- a/sistema/www/usuarios/usuarios-abm.php +++ b/sistema/www/usuarios/usuarios-abm.php @@ -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)) {