X-Git-Url: https://git.llucax.com/mecon/samurai.git/blobdiff_plain/52ec6b73aae5937cd9c04e150e6b261b8be98b01..04fa3d055ad6d878257eda34c3347efccc5c9caa:/lib/SAMURAI/HTML/Usuario.php?ds=sidebyside diff --git a/lib/SAMURAI/HTML/Usuario.php b/lib/SAMURAI/HTML/Usuario.php index d33e814..8206fda 100644 --- a/lib/SAMURAI/HTML/Usuario.php +++ b/lib/SAMURAI/HTML/Usuario.php @@ -21,58 +21,57 @@ // // // -/** \page page_samurai_html_usuario Usuario Embebido +/** \page page_samurai_html_usuario Usuario Embebido \section page_samurai_html_usuario_descripcion Descripcion - - Funcion que sirve para embeber la funcionalidad de los usuario dentro de - los sistemas que asi lo requieran (Es una copia de la funcionalidad de la - seccion). - Necesita para funcionar que se le pase como parametro la referencia al - objeto MECON_Marco que se este utilizando, ademas del identificador del - sistema del sistema en el cual se esta trabajando. - El funcionamiento es completamente independiente del sistema en el cual se - trabaje, no es necesario que se ingrese como seccion o subseccion. De hecho - como se ve en el ejemplo solo se embebe una tabla o formulario pero se - pueden agregar cosas particulares antes y despues de el. - - \note Trabaja con variables de sesion asi que es necesario que antes de llamar a - esta funcion se haya realizado un session_start() (Por ejemplo en el prepend). + Samurai provee de una funcion que permite embeber la funcionalidad de + usuarios dentro de aquellos sistemas que asi lo requieran. + Es completamente independiente del sistema en el cual trabaja y puede ser + agregado de cualquier manera (Seccion, Subseccion o Contenido) al sistema. + + \note Es necesario para embeber los usuarios que se haya realizado un + session_start(). \section page_samurai_html_usuario_funcionamiento Funcionamiento - Al ser una copia de la seccion de Samurai, los permisos y validaciones que - se realizan en esta funcion son las mismas que se realizan en Samurai. + Es una copia de la seccion Usuarios dentro de SAMURAI. Se relizan las mismas + verificaciones, tiene las mismas condiciones y se utilizan los mismos + permisos que en este. - \subsection page_samurai_html_usuario_funcionamiento_validaciones Validaciones - Se realizan las siguientes validaciones: - - Cualquier usuario que se quiera agregar debe haberse logueado al - menos una vez a la intranet. - - No puede cargarse dos veces el mismo usuario en un sistema. Solo - se modifican sus datos. - - Cada vez que se carga un usuario es necesario asignarle al menos - un permiso, sino no va a permitir que se ingrese el mismo. + \subsection page_samurai_html_usuario_funcionamiento_validaciones Validaciones y Condiciones + - Cualquier usuario que se quiera agregar debe haberse logueado al + menos una vez a la intranet. + - No puede cargarse dos veces el mismo usuario en un sistema. + - Cada vez que se carga un usuario es necesario asignarle al menos + un perfil, sino no va a permitir que se ingrese el mismo. \section page_samurai_html_usuario_ejemplo Ejemplo - La utilizacion de usuario embebido no genera condiciones, queda a criterio - del desarrollador incluir esta funcionalidad en el lugar que quiera. - - De esta manera se agrega la funcionalidad: + SAMURAI_HTML_Usuario agrega el contenido directamente en el marco que se + este utilizando. + Para embeber los usuarios hay que hacerlo de la siguiente manera + \code include 'SAMURAI/HTML/Usuario.php'; - SAMURAI_HTML_Usuario($MARCO, $ID_SISTEMA); \endcode - - En donde $MARCO es el objeto MECON_Marco que utiliza el sistema y - $ID_SISTEMA es el identificador numerico del sistema en el cual se esta - trabajando. + + \note $MARCO es el objeto MECON_Marco o el objeto HTML_DietMarco de + intranet. + $ID_SISTEMA es el identificador numerico en el cual se esta realizando la + accion de embeber. - Antes o despues de esto se pueden agregar componentes pertenecientes al - sistema. +\section page_samurai_html_usuario_permisos Pasos Finales + Para que los usuarios puedan acceder a los usuarios embebidos es necesario + que en el sistema en el cual se este embebiendo se agregen los permisos que + utiliza la seccion Usuarios (enumerados mas abajo), y que estos mediante + perfiles se asignen a usuarios. + Esto implica que por lo menos un usuario tendra que ser cargado desde + SAMURAI para que este tenga acceso a la zona embebida. - \note Es necesario para ver el contenido de la pagina hacer - $MARCO->display() al final de la misma. + Permisos + - usuario alta + - usuario baja + - usuario modificacion */ //REQUIRE ONCE {{{ @@ -87,8 +86,10 @@ require_once 'SAMURAI/constantes.php'; //}}} -/** Funcion que se encarga agregar los componentes necesarios al sistema para +/** + * Funcion que se encarga agregar los componentes necesarios al sistema para * que se pueda realizar un abm de usuarios. +@see \ref page_samurai_html_usuario * * @param MECON_Marco &$MARCO Referencia al objeto MECON_Marco que se este * utilizando en la pagina @@ -111,7 +112,7 @@ function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) { $SAMURAI_PERM = new SAMURAI_Perm ($_SESSION['usuario'], $id_sistema, $DB); //}}} //VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{ - $SAMURAI_PERM->chequear(SAMURAI_ALTA_USUARIO, SAMURAI_BAJA_USUARIO, SAMURAI_MODI_USUARIO); + $SAMURAI_PERM->chequear(SAMURAI_PERM_USUARIO_ALTA, SAMURAI_PERM_USUARIO_BAJA, SAMURAI_PERM_USUARIO_MODIF); //}}} if (@$_POST['samurai_accion'] == 'abm' || @$_GET['samurai_usuarios'] == 'abm') { @@ -146,16 +147,16 @@ function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) { $TABLA3->addRow($row,'align=left'); //Agrego el link a nuevo - if ($SAMURAI_PERM->tiene(SAMURAI_ALTA_USUARIO)) { + if ($SAMURAI_PERM->tiene(SAMURAI_PERM_USUARIO_ALTA)) { $row = array ($aHref.'Agregar Nuevo Usuario'); $TABLA2->addRow($row,'align=right'); } //Genero la cabecera de la tabla $row = array ('Login','Nombre'); - if ($SAMURAI_PERM->tiene(SAMURAI_MODI_USUARIO)) { + if ($SAMURAI_PERM->tiene(SAMURAI_PERM_USUARIO_MODIF)) { $row[] = 'Modif.'; } - if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_USUARIO)) { + if ($SAMURAI_PERM->tiene(SAMURAI_PERM_USUARIO_BAJA)) { $row[] = 'Elim.'; } $TABLA->addRow($row,'cabecera'); @@ -165,10 +166,10 @@ function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) { $Modif = ereg_replace('##ACCION##', 'm' , $Modif ); $Elim = ereg_replace('##ACCION##', 'e' , $Elim ); $row = array ($usuario->getLogin(), $usuario->getNombre()); - if ($SAMURAI_PERM->tiene(SAMURAI_MODI_USUARIO)) { + if ($SAMURAI_PERM->tiene(SAMURAI_PERM_USUARIO_MODIF)) { $row[] = $Modif; } - if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_USUARIO)) { + if ($SAMURAI_PERM->tiene(SAMURAI_PERM_USUARIO_BAJA)) { $row[] = $Elim; } @@ -176,9 +177,9 @@ function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) { } // }}} //DIBUJO LA PAGINA {{{ - $MARCO->addBody($TABLA3); - $MARCO->addBody($TABLA2->toHtml(1)); - $MARCO->addBody($TABLA); + $MARCO->addBodyContent($TABLA3); + $MARCO->addBodyContent($TABLA2->toHtml(1)); + $MARCO->addBodyContent($TABLA); // }}} } //}}} @@ -193,6 +194,22 @@ function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) { $validar = 1; $login = null; } + //XXX OBTENGO LA ACCION {{{ + switch (@$_REQUEST['accion']) { + case 'm': + $b_accion = 'Modificar'; + $accion = 'm'; + break; + case 'e': + $b_accion = 'Eliminar'; + $accion = 'e'; + break; + default: + $b_accion = 'Grabar'; + $accion = ''; + break; + } + //}}} $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); @@ -223,7 +240,8 @@ function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) { } $FORM->addElement ('select', 'perfiles' , 'Perfiles', $PERFILES, array('size' => '5', 'multiple' => 'true')); $FORM->addElement ('hidden', 'responsable', $_SESSION['samurai']['login']); - $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar'); + $FORM->addElement ('hidden', 'accion', $accion); + $group[] = HTML_QuickForm::createElement('submit', 'aceptar', $b_accion); $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location = \''.$_SERVER['PHP_SELF'].'\';return false;')); $FORM->addGroup($group,'botones'); } @@ -314,11 +332,11 @@ function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) { } // }}} //DIBUJO LA PAGINA {{{ - $MARCO->addBody($TABLA); + $MARCO->addBodyContent($TABLA); if (isset($ERROR)) { - $MARCO->addBody($ERROR); + $MARCO->addBodyContent($ERROR); } - $MARCO->addBody($FORM); + $MARCO->addBodyContent($FORM); // }}} } //}}}