]> git.llucax.com Git - mecon/samurai.git/blobdiff - sistema/www/sistemas/sistemas-permisos.php
Agrego los popups de datos en perfiles y usuarios.
[mecon/samurai.git] / sistema / www / sistemas / sistemas-permisos.php
index e10b0b37da5d48e1e95fb54ddb77aeeea3918dec..fb4a5061b39d0422fa9ee216e6bbd3c5f3fd2f9a 100644 (file)
@@ -1,5 +1,5 @@
 <?php
-// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4 foldmethod=marker:
 // +----------------------------------------------------------------------+
 // | PHP Version 4                                                        |
 // +----------------------------------------------------------------------+
 // | Author:  Martin Marrese <mmarre@mecon.gov.ar>
 // +----------------------------------------------------------------------+
 //
-// $Id: sistemas-permisos.php 21 2003-06-25 22:26:30Z mmarre e
-// $Author$
-// $URL$
-// $Date$
-// $Rev$
+// $Id$
 // 
-    require_once 'HTML/QuickForm.php';
-    require_once 'MECON/HTML/QuickForm/Renderer/Tabla.php';
-    require_once 'MECON/HTML/Tabla.php';
+//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
+$SAMURAI_PERM->setSistema(SAMURAI_PERM);
+if (!$SAMURAI_PERM->tiene(SAMURAI_PERM_DEVELOPER)) {
+    $SAMURAI_PERM->chequear(SAMURAI_PERM_DEVELOPER);
+}
+$MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones.php', $SAMURAI_PERM);
+//}}}
 
-//OBTENGO EL ID DEL SISTEMA
+//REQUIRE_ONCE {{{
+    //MECON {{{
+    require_once 'MECON/HTML/Tabla.php';
+    // }}}
+    //SAMURAI {{{
+    require_once 'SAMURAI/Sistema.php';
+    require_once 'SAMURAI/Permiso.php';
+    // }}}
+// }}}
+//OBTENGO EL ID DEL SISTEMA {{{
     //El id de sistema viene por get o por post, no hay otra posibilidad
     $idSistema = 0;
     if (isset($_GET['idSistema'])) {
     elseif (isset($_POST['idSistema'])) {
         $idSistema = $_POST['idSistema'];
     }
-//
-//CREO LOS OBJETO NECESARIOS
-    $SAMURAI   = new Samurai($DB);
-    $FORM      = new HTML_QuickForm ('sistemas_permisos','post','sistemas-permisos');
-    $SISTEMA   = new Sistema ($DB, $idSistema);
-    $TABLASIST = new Tabla ('cellpadding=2');
-    $TABLAPERM = new Tabla ('cellpadding=2');
-//
-    $SISTEMA->setResponsable($_SESSION['samurai']['login']);
-//AGREGO LA INFORMACION DEL SISTEMA
-    $row = array ('Id', 'Nombre', 'Descripcion');
-    $TABLASIST->addRow($row, 'cabecera');
+    $_SESSION['samurai']['id_sistema'] = $idSistema;
+// }}}
+//CREO LOS OBJETO NECESARIOS {{{
+    $SISTEMA   = new SAMURAI_Sistema ($DB, $idSistema);
+    $TABLASIST = new MECON_HTML_Tabla ('cellpadding=2');
+    $TABLAPERM = new MECON_HTML_Tabla ('cellpadding=2');
+    $SISTEMA->setResponsable($_SESSION['usuario']);
+// }}}
+//AGREGO LA INFORMACION DEL SISTEMA {{{
+    $row = array ('Datos del sistema');
+    $TABLASIST->addRow($row, 'cabecera colspan=3');
+    $row = array ('Id', 'Nombre', 'Descripción');
+    $TABLASIST->addRow($row, 'titulo');
     $row = array ($SISTEMA->getId(), $SISTEMA->getNombre(), $SISTEMA->getDescripcion());
     $TABLASIST->addRow($row, 'comun');
-//
-//AGREGO LOS ELEMENTOS DEL FORM
-    //Obtengo la lista de permisos
-    $PERMISOS = $SAMURAI->getSelectPermisos();
-    //Agrego elementos
-    $FORM->addElement ('header', 'cabecera'   , 'Agregar una asociacion');
-    $FORM->addElement ('hidden', 'idSistema'  , $idSistema);
-    $FORM->addElement ('select', 'permisos'   , 'Permisos'   , $PERMISOS, array('size' => '1'));
-    $FORM->addElement ('hidden', 'permant');
-    $FORM->addElement ('hidden', 'obsant');
-    $FORM->addElement ('text'  , 'observacion', 'Observacion', array('size' => '30'));
-    $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
-    $FORM->addGroup($group,'botones', '', ',&nbsp;');
-//
-//VALIDO EL FORMULARIO
-    if ($FORM->validate()) {
-        $idPermiso   =& $FORM->getElement  ('permisos'   );
-        $idPerm_ant  =& $FORM->getElement  ('permant'    );
-        $observacion =& $FORM->getElement  ('observacion');
-        $obs_ant     =& $FORM->getElement  ('obsant'    );
-        $group       =& $FORM->getElement  ('botones'    );
-        $group       =& $group->getElements('aceptar'    );
-        $aceptar     =& $group[0];
-
-        $tmp = $idPermiso->getSelected();
-        $tmp = $tmp['0'];
-        if ($aceptar->getValue() == 'Grabar') {
-            $error = $SISTEMA->guardarAsociacion($tmp, $observacion->getValue());
-        }
-        elseif ($aceptar->getValue() == 'Modificar') {
-            $error = $SISTEMA->modificarAsociacion($tmp, $idPerm_ant->getValue(), $observacion->getValue(), $obs_ant->getValue());
-        }
-        elseif ($aceptar->getValue() == 'Eliminar') {
-            $error = $SISTEMA->eliminarAsociacion($tmp, $observacion->getValue());
-        }
-
-        if ($error) {
-            $group = array ();
-            $group[] = HTML_QuickForm::createElement('static', 'error' , 'Error', 'La asociacion ya existe, modifique alguno de sus datos.');
-            $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
-            $FORM->removeElement('botones');
-            $FORM->addGroup($group,'botones', '', '<br>');
-        }
-        else {
-            $idPermiso->setSelected(null);
-            $observacion->setValue(null);
-            $aceptar->setValue('Grabar');
-        }
-    }
-//
-//VERIFICO COMO DEBO LLAMAR AL BOTON SUBMIT
-    if (isset($_GET['accion'])) { 
-        $group   =& $FORM->getElement  ('botones');
-        $group   =& $group->getElements('aceptar');
-        $aceptar =& $group[0];
-        
-        if ($_GET['accion'] == 'm') {
-            $aceptar->setValue('Modificar');
-        }
-        elseif ($_GET['accion'] == 'e') {
-            $aceptar->setValue('Eliminar');
-            $FORM->freeze();
-        }
-    } 
-//
-//CAPTURO SI HAY ACCION -> MODIFICAR O ELIMINAR -> MUESTRO LOS DATOS EN EL FORM
-    if (isset($_GET['accion'])) {
-        $idPermiso   =& $FORM->getElement ('permisos'   );
-        $idPerm_ant  =& $FORM->getElement ('permant'    );
-        $observacion =& $FORM->getElement ('observacion');
-        $obs_ant     =& $FORM->getElement ('obsant'     );  
-        $idPermiso->setSelected($_GET['idPermiso']);
-        $idPerm_ant->setValue($_GET['idPermiso']);
-        $observacion->setValue($_GET['observacion']);
-        $obs_ant->setValue($_GET['observacion']);    
-    }
-//
-//AGREGO LA INFORMACION DE LAS ASOCIACIONES
-    $aHref      = '<a href="sistemas-permisos?accion=##ACCION##&idPermiso=##PERMISO##&observacion=##OBS##&idSistema='.$idSistema.'">';
+// }}}
+//AGREGO LA INFORMACION DE LAS ASOCIACIONES {{{
+    $aHref      = '<a href="sistemas-permisos-abm?accion=##ACCION##&idPermiso=##PERMISO##&observacion=##OBS##&idSistema='.$idSistema.'">';
     $aHrefModif = $aHref.'<img src="/MECON/images/general_modificar.gif" border="0" alt="Modificar"></a>';
     $aHrefElim  = $aHref.'<img src="/MECON/images/general_eliminar.gif"  border="0" alt="Eliminar" ></a>';
-    $row = array ('Nombre', 'Observacion', 'Modif.', 'Elim.');
-    $TABLAPERM->addRow($row, 'cabecera');
+
+    $TABLA2 = new MECON_HTML_Tabla ('cellspacing=0');
+    $tt = ereg_replace ('##ACCION##' , 'n', $aHref);
+    $tt = ereg_replace ('##PERMISO##', 'p', $tt   );
+    $tt = ereg_replace ('##OBS##'    , 'o', $tt   );
+    $row = array ($tt.'<img src="/MECON/images/general_nuevo.gif" border="0">Asociar nuevo permiso al sistema</a>');
+    $TABLA2->addRow($row, 'align=right');
+
+    $row = array ('Permisos Asociados al Sistema');
+    $TABLAPERM->addRow($row, 'cabecera colspan=4');
+    $row = array ('Nombre', 'Observación', 'Modif.', 'Elim.');
+    $TABLAPERM->addRow($row, 'titulo');
     
     $asocs = $SISTEMA->getAsociaciones();
-    $idPerm_ant  =& $FORM->getElement ('permant'    );
-    $obs_ant     =& $FORM->getElement ('obsant'     );  
-   
-    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 Permiso($DB, $asoc['id']);
+        $permiso = new SAMURAI_Permiso($DB, $asoc['id']);
         $Modif = ereg_replace('##PERMISO##', $asoc['id'] , $aHrefModif);
-        $Elim  = ereg_replace('##PERMISO##', $asoc['id'] , $aHrefElim);
-        $Modif = ereg_replace('##OBS##'    , $asoc['obs'], $Modif);
-        $Elim  = ereg_replace('##OBS##'    , $asoc['obs'], $Elim);
-        $Modif = ereg_replace('##ACCION##' , 'm', $Modif);
-        $Elim  = ereg_replace('##ACCION##' , 'e', $Elim);
-        
-        if ($permiso->getId() == $idPerm_ant->getValue() && $asoc['obs'] == $obs_ant->getValue()) {
-            $estilo = 'titulo';
-        }
-        
+        $Elim  = ereg_replace('##PERMISO##', $asoc['id'] , $aHrefElim );
+        $Modif = ereg_replace('##OBS##'    , $obs        , $Modif     );
+        $Elim  = ereg_replace('##OBS##'    , $obs        , $Elim      );
+        $Modif = ereg_replace('##ACCION##' , 'm'         , $Modif     );
+        $Elim  = ereg_replace('##ACCION##' , 'e'         , $Elim      );
         $row = array ($permiso->getDescripcion(), $asoc['obs'], $Modif, $Elim);
         $TABLAPERM->addRow($row, $estilo);
     }
 
-//
-//DIBUJO LA PAGINA
-    $renderer =& new HTML_QuickForm_Renderer_Tabla('width="100%"');
-    $FORM->accept($renderer);
-
-    $MARCO = new Marco ('../../conf/confSecciones.php');
+// }}}
+//OPCION VOLVER {{{
+    $TABLAVOLVER = new MECON_HTML_Tabla ('cellspacing=0');
+    $row = array ('<a href="sistemas" alt="Volver a la lista de Sistemas" ><img src="/MECON/images/general_volver4.gif" border="0">&nbsp;Volver a Sistemas</a>');
+    $TABLAVOLVER->addRow($row,'align=left');
+// }}}
+//DIBUJO LA PAGINA {{{
+    $MARCO->addBody($TABLAVOLVER);
     $MARCO->addTitle('Asociar Permisos y Sistemas');
     //AGREGO LA TABLA DEL SISTEMA
     $MARCO->addBody($TABLASIST);
     $MARCO->addBody('<BR>');
-    //AGREGO LA TABLA DEL FORM
-    $MARCO->addBody($renderer);
-    $MARCO->addBody('<BR>');
     //AGREGO LA TABLA DE PERMISOS
+    $MARCO->addBody($TABLA2);
     $MARCO->addBody($TABLAPERM);
     $MARCO->display();
-//
+// }}}
 //FIN
 
 ?>