]> git.llucax.com Git - mecon/samurai.git/blobdiff - sistema/www/sistemas/sistemas-permisos.php
BugFix en MECON_Usuario::asociarPerfil
[mecon/samurai.git] / sistema / www / sistemas / sistemas-permisos.php
index 5cd96a7176f11b87e9d90acb8e60b2ace4cba60f..020695a048343bad508903208a3de43ba0168f47 100644 (file)
 // | Author:  Martin Marrese <mmarre@mecon.gov.ar>
 // +----------------------------------------------------------------------+
 //
-// $Id: sistemas-permisos.php 21 2003-06-25 22:26:30Z mmarre e
+// $Id$
 // 
-    require_once 'MECON/HTML/QuickForm.php';
+
+//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 {{
+    // }}}
+// }}}
+//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
+$SAMURAI_PERM->chequear(SAMURAI_PERM_DEVELOPER);
+//}}}
+//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'];
     }
+    $_SESSION['samurai']['id_sistema'] = $idSistema;
 // }}}
 //CREO LOS OBJETO NECESARIOS {{{
-    $FORM      = new MECON_HTML_QuickForm ('sistemas_permisos','post','sistemas-permisos');
     $SISTEMA   = new SAMURAI_Sistema ($DB, $idSistema);
-    $TABLASIST = new Tabla ('cellpadding=2');
-    $TABLAPERM = new Tabla ('cellpadding=2');
+    $TABLASIST = new MECON_HTML_Tabla ('cellpadding=2');
+    $TABLAPERM = new MECON_HTML_Tabla ('cellpadding=2');
+    $SISTEMA->setResponsable($_SESSION['usuario']);
 // }}}
-    $SISTEMA->setResponsable($_SESSION['samurai']['login']);
 //AGREGO LA INFORMACION DEL SISTEMA {{{
+    $row = array ('Datos del sistema');
+    $TABLASIST->addRow($row, 'cabecera colspan=3');
     $row = array ('Id', 'Nombre', 'Descripcion');
-    $TABLASIST->addRow($row, 'cabecera');
+    $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_Permiso::getArrayPermisos($DB);
-    //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'); //Permiso anterior
-    $FORM->addElement ('hidden', 'obsant');  //Obseracion anterior
-    $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) {
-            $TABLA = new Tabla ('cellspacing=0');
-            $row = array ('<font color="red"><b>La asociacion ya existe, modifique alguno de sus datos</b></font>');
-            $TABLA->addRow($row,'align=left');
-        }
-        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.'">';
+    $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>';
+
+    $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', 'Observacion', 'Modif.', 'Elim.');
-    $TABLAPERM->addRow($row, 'cabecera');
+    $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 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('##OBS##'    , $obs        , $Modif     );
+        $Elim  = ereg_replace('##OBS##'    , $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';
-        }
-        
         $row = array ($permiso->getDescripcion(), $asoc['obs'], $Modif, $Elim);
         $TABLAPERM->addRow($row, $estilo);
     }
 
 // }}}
+//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 = new Marco ('../../conf/confSecciones.php');
+    $MARCO->addBody($TABLAVOLVER);
     $MARCO->addTitle('Asociar Permisos y Sistemas');
     //AGREGO LA TABLA DEL SISTEMA
     $MARCO->addBody($TABLASIST);
     $MARCO->addBody('<BR>');
-    //AGREGO EL ERROR
-    if (isset($TABLA)) {
-        $MARCO->addBody($TABLA);
-    }
-    //AGREGO LA TABLA DEL FORM
-    $MARCO->addBody($FORM);
-    $MARCO->addBody('<BR>');
     //AGREGO LA TABLA DE PERMISOS
+    $MARCO->addBody($TABLA2);
     $MARCO->addBody($TABLAPERM);
     $MARCO->display();
 // }}}