//
// $Id$
//
+//
+//
+/** \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).
+
+\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.
+
+ \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.
+
+\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:
+ \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.
+
+ Antes o despues de esto se pueden agregar componentes pertenecientes al
+ sistema.
+
+ \note Es necesario para ver el contenido de la pagina hacer
+ $MARCO->display() al final de la misma.
+*/
//REQUIRE ONCE {{{
require_once 'MECON/HTML/QuickForm.php';
require_once 'MECON/HTML/Error.php';
require_once 'MECON/HTML/Tabla.php';
require_once 'MECON/HTML/Image.php';
+ require_once 'SAMURAI/Perm.php';
require_once 'SAMURAI/Perfil.php';
require_once 'SAMURAI/Usuario.php';
require_once 'SAMURAI/Sistema.php';
require_once 'SAMURAI/constantes.php';
//}}}
-// Funciones para agregar la seccion SAMURAI_Usuario en los sistemas.
-// Con esto se pueden embeber el abm de usuarios como una seccion/subseccion mas
-// de un sistema cualquiera.
-
-/**
- * Funcion que se encarga agregar los componentes necesarios al sistema para que
- * se pueda realizar un abm de usuarios.
+/** Funcion que se encarga agregar los componentes necesarios al sistema para
+ * que se pueda realizar un abm de usuarios.
*
* @param MECON_Marco &$MARCO Referencia al objeto MECON_Marco que se este
* utilizando en la pagina
*
* @return void
*/
-//SAMURAI_Usuario_Html {{{
-function SAMURAI_Usuario_Html(&$MARCO, $id_sistema) {
+//SAMURAI_HTML_Usuario {{{
+function SAMURAI_HTML_Usuario(&$MARCO, $id_sistema) {
$_SESSION['samurai']['id_sistema'] = $id_sistema;
$_SESSION['samurai']['login'] = $_SESSION['usuario'];
//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
$SAMURAI_PERM->chequear(SAMURAI_ALTA_USUARIO, SAMURAI_BAJA_USUARIO, SAMURAI_MODI_USUARIO);
//}}}
+
+ if (@$_POST['samurai_accion'] == 'abm' || @$_GET['samurai_usuarios'] == 'abm') {
+ $OPCION = 'abm';
+ }
+ else {
+ $OPCION = 'listado';
+ }
//POSIBLES ACCIONES
// listado -> Listado de los usuarios ya creados en el sistema.
// abm -> Formulario para la carga de la info del usuario.
//LISTADO {{{
- if ((!@$_GET['samurai_usuarios'] && !@$_POST['samurai_accion'])|| @$_GET['samurai_usuarios'] == 'listado') {
+ if ($OPCION == 'listado') {
//LINKS {{{
- $aHref = '<a href="'.$_SERVER['PHP_SELF'].'?accion=##ACCION##&login=##NUEVO##&samurai_usuarios=abm">';
+ $aHref = '<a href="'.$_SERVER['PHP_SELF'].'?samurai_usuarios=abm&accion=##ACCION##&login=##NUEVO##">';
$aHrefModif = $aHref.'<img src="/MECON/images/general_modificar.gif" border="0" alt="Modificar Usuario"></a>';
$aHrefElim = $aHref.'<img src="/MECON/images/general_eliminar.gif" border="0" alt="Eliminar Usuario" ></a>';
// }}}
$MARCO->addBody($TABLA3);
$MARCO->addBody($TABLA2->toHtml(1));
$MARCO->addBody($TABLA);
-
// }}}
}
//}}}
//ABM {{{
- elseif (@$_GET['samurai_usuarios'] == 'abm' || @$_POST['samurai_accion'] == 'abm') {
+ elseif ($OPCION == 'abm') {
//CREO LOS OBJETOS NECESARIOS {{{
if (@$_GET['login']) {
$login = $_GET['login'];
// VEO SI SE CANCELO {{{
$botones = $FORM->getSubmitValue('botones');
if (@$botones['cancelar']) {
- header('Location: '.$_SERVER['PHP_SELF']);
+ header('Location: '.$_SERVER['PHP_SELF'].'/');
}
// }}}
else {
}
}
else {
- $FORM->removeElement();
+// $FORM->removeElement();
$FORM->freeze();
- header('Location: '.$_SERVER['PHP_SELF']);
+ header('Location: '.$_SERVER['PHP_SELF'].'/');
}
}
}