]> git.llucax.com Git - mecon/samurai.git/commitdiff
Permisos, Sistemas y Perfiles terminado.
authorMartín Marrese <marrese@gmail.com>
Tue, 15 Jul 2003 14:39:07 +0000 (14:39 +0000)
committerMartín Marrese <marrese@gmail.com>
Tue, 15 Jul 2003 14:39:07 +0000 (14:39 +0000)
Faltan algunos retoques, pero la funcionalidad ya esta lista.

sistema/www/perfiles/perfiles-abm.php
sistema/www/perfiles/perfiles-nuevo.php [new file with mode: 0644]
sistema/www/perfiles/perfiles.php
sistema/www/permisos/permisos-abm.php
sistema/www/permisos/permisos.php
sistema/www/sel-sistema.php
sistema/www/sistemas/sistemas-abm.php
sistema/www/sistemas/sistemas-permisos.php
sistema/www/sistemas/sistemas.php

index fdc25fccb9ccc41782857782cde8af5f32173188..42082d44c3715cfae29b012f9cf07f985728f84c 100644 (file)
 //
 // $Id$
 // 
 //
 // $Id$
 // 
-    
+
+// REQUIRE_ONCE {{{
     require_once 'MECON/HTML/QuickForm.php';
     require_once 'MECON/HTML/Tabla.php';
     require_once 'MECON/HTML/QuickForm.php';
     require_once 'MECON/HTML/Tabla.php';
-
+    require_once 'SAMURAI/Perfil.php';
+    require_once 'SAMURAI/Permiso.php';
+    require_once 'SAMURAI/Sistema.php';
+// }}}
 //CREO LOS OBJETO NECESARIOS {{{
 //CREO LOS OBJETO NECESARIOS {{{
-    $SAMURAI = new Samurai($DB);
-    $FORM    = new MECON_HTML_QuickForm ('perfiles_abm','post','perfiles-abm');
+    if (@$_GET['id_perfil']) {
+        $id_perfil = $_GET['id_perfil'];
+    }
+    elseif (@$_POST['id_perfil']) {
+        $id_perfil = $_POST['id_perfil'];
+    }
+    else {
+        $id_perfil = null;
+    }
+    $FORM = new MECON_HTML_QuickForm ('perfiles_abm','post','perfiles-abm');
+    $SISTEMA = new SAMURAI_Sistema ($DB, $_SESSION['samurai']['id_sistema']);
+    $PERFIL = new SAMURAI_Perfil ($DB, $id_perfil);
+
+    if ($PERFIL->getResponsable()) {
+        $responsable = $PERFIL->getResponsable();
+    }
+    else {
+        $responsable = $_SESSION['samurai']['login'];
+    }
+    
+    if (!@$_GET['id_perfil']) {
+        if (@$_GET['desc_perfil']) {
+            $PERFIL->setDescripcion(@$_GET['desc_perfil']);
+        }
+        else {
+            $PERFIL->setDescripcion(@$_POST['desc_ant']);
+        }
+    }
+    $descripcion = $PERFIL->getDescripcion();
+// }}}
+//OBTENGO LOS PERMISOS DEL SISTEMA {{{
+    $ASOCIACIONES = $SISTEMA->getAsociaciones();
+    $PERMISOS = array ();
+    foreach ($ASOCIACIONES as $as) {
+        $clave = $as['id'].'##'.$as['obs'];
+        $texto = ($as['obs'] != '') ? $as['desc'].' - '.$as['obs']: $as['desc'];
+        $PERMISOS[$clave] = $texto;
+    }
 // }}}
 //AGREGO LOS ELEMENTOS DEL FORM {{{
 // }}}
 //AGREGO LOS ELEMENTOS DEL FORM {{{
-    $FORM->addElement ('header', 'cabecera', 'ABM Permisos');
-    $FORM->addElement ('hidden', 'id_perfil');
-    $FORM->addElement ('text'  , 'desc_permiso', 'Descripcion', array('size'=>'50'));
-    $FORM->addElement ('static', 'responsable' , 'Responsable', $_SESSION['samurai']['login']);
+    $FORM->addElement ('header', 'cabecera', 'ABM Perfiles');
+    $FORM->addElement ('hidden', 'id_perfil', $id_perfil);
+    $FORM->addElement ('hidden', 'desc_ant'   , $descripcion);
+    $FORM->addElement ('static', 'desc_perfil', 'Descripcion', $descripcion);
+    $FORM->addElement ('select', 'permisos'   , 'Permisos'   , $PERMISOS, array('size' => '5', 'multiple' => 'true'));
+    $FORM->addElement ('select', 'tipo_perfil', 'Tipo Perfil', array('E' => 'Externo', 'I' => 'Interno', 'D' => 'Dios'), array ('size' => '1'));
+    $FORM->addElement ('static', 'responsable', 'Responsable', $responsable);
     $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
     $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
+    $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:history.go(-1);return true;'));
     $FORM->addGroup($group,'botones');
 // }}}
     $FORM->addGroup($group,'botones');
 // }}}
-//AGREGO LAS REGLAS DE VALIDACION DE LOS ELEMENTOS {{{
-    $FORM->addRule('desc_permiso', 'El campo descripcion es obligatorio', 'required', '', 'client');
-// }}}
-//CREO EL OBJETO PERMISO {{{
-    //Obtengo el id del permiso.
-    $idPermiso =& $FORM->getElement('id_permiso');
-    if (isset($_GET['accion']) && $_GET['accion'] != '') {
-        //Viene en el get es -> modificar o eliminar, me ocupo yo.
-        $id_permiso = $_GET['idPermiso'];
-        $idPermiso->setValue($id_permiso);
-    }
-    else {
-        //Viene en el post, no me ocupo yo.
-        $id_permiso = $idPermiso->getValue();
-    }
-    $PERMISO = new Permiso ($DB, $id_permiso);
+//AGREGO LAS REGLAS DE VALIDACION {{{
+    $FORM->addRule ('permisos', 'Se debe seleccionar al menos un permiso', 'required');
 // }}}
 // }}}
-//SETEO LOS VALORES DE LOS ELEMENTOS DEL OBJETO FORM {{{
+//CARGO LOS DATOS SI YA EXISTEN EN BASE {{{
+// TODO Terminar de armar la parte de modificacion y eliminacion
     if (isset($_GET['accion']) && $_GET['accion'] != '') {
     if (isset($_GET['accion']) && $_GET['accion'] != '') {
-        //MODIFICACION -> agrego la info a los elementos
-        $desc_permiso =& $FORM->getElement  ('desc_permiso');
-        $responsable  =& $FORM->getElement  ('responsable' );
-        $group        =& $FORM->getElement  ('botones'     );
-        $group        =& $group->getElements('aceptar'     );
+        //MODIFICACION
+        $id_perfil    =& $FORM->getElement  ('id_perfil'  );
+        $desc_perfil  =& $FORM->getElement  ('desc_perfil');
+        $permisos     =& $FORM->getElement  ('permisos'   );
+        $tipo_perfil  =& $FORM->getElement  ('tipo_perfil');
+        $responsable  =& $FORM->getElement  ('responsable');
+        $group        =& $FORM->getElement  ('botones'    );
+        $group        =& $group->getElements('aceptar'    );
         $aceptar      =& $group[0];
 
         $aceptar      =& $group[0];
 
-        $desc_permiso->setValue ($PERMISO->getDescripcion());
-        
-        if ($PERMISO->getResponsable() != '') {
-            $responsable->setValue($PERMISO->getResponsable());
+        $permisos->setSelected($PERFIL->getPermisos());
+        $tipo_perfil->setSelected($PERFIL->getTipo());
+
+        if ($PERFIL->getResponsable() != '') {
+            $responsable->setValue($PERFIL->getResponsable());
         }
         }
-        
+
+        //Modifico el valor del boton
         $aceptar->setValue('Modificar');
         $aceptar->setValue('Modificar');
-        
+            
         //ELIMINACION -> modifico el valor del boton
         if ($_GET['accion'] == 'e') {
             $aceptar->setValue('Eliminar');
         //ELIMINACION -> modifico el valor del boton
         if ($_GET['accion'] == 'e') {
             $aceptar->setValue('Eliminar');
 // }}}
 //VALIDO EL FORMULARIO {{{
     if ($FORM->validate()) {
 // }}}
 //VALIDO EL FORMULARIO {{{
     if ($FORM->validate()) {
-        $desc_permiso =& $FORM->getElement  ('desc_permiso');
-        $responsable  =& $FORM->getElement  ('responsable' );
-        $group        =& $FORM->getElement  ('botones'     );
-        $group        =& $group->getElements('aceptar'     );
-        $aceptar      =& $group[0];
-        
-        $PERMISO->setDescripcion($desc_permiso->getValue());
-        $PERMISO->setResponsable($responsable->_text); //TODO URGENTE Modificar esto. No tiene metodo static::getValue()
-        
-        //Verifico si se produjo algun error
-        $res = $PERMISO->guardarDatos($aceptar->getValue());
-
-        if (PEAR::isError($res)) {
-            $TABLA = new Tabla ('cellspacing=0');
-            $row = array ('<font color="red"><b>'.$res->getMessage().'</b></font>');
-            $TABLA->addRow($row,'align=left');
+        // VEO SI SE CANCELO {{{
+        $botones = $FORM->getSubmitValue('botones');
+        if (@$botones['cancelar']) {
+            header('Location: perfiles');
         }
         }
+        // }}}
         else {
         else {
-            $FORM->freeze();
-            header('Location: permisos');
+            $id_perfil    =& $FORM->getElement  ('id_perfil'  );
+            $desc_perfil  =& $FORM->getElement  ('desc_perfil');
+            $permisos     =& $FORM->getElement  ('permisos'   );
+            $tipo_perfil  =& $FORM->getElement  ('tipo_perfil');
+            $tipo_perfil_tmp  =  $tipo_perfil->getSelected();
+            $responsable  =& $FORM->getElement  ('responsable');
+            $group        =& $FORM->getElement  ('botones'    );
+            $group        =& $group->getElements('aceptar'    );
+            $aceptar      =& $group[0];
+      
+            $PERFIL->setDescripcion($desc_perfil->_text     );
+            $PERFIL->setResponsable($responsable->_text     ); //TODO URGENTE Modificar esto. No tiene metodo static::getValue()
+            $PERFIL->setPermisos   ($permisos->getSelected()); //Le asigno al perfil los permisos seleccionados
+            $PERFIL->setTipo       ($tipo_perfil_tmp['0']   );
+            
+            //Grabo y verifico si se produjo algun error
+            $res = $PERFIL->guardarDatos($aceptar->getValue());
+
+            if (PEAR::isError($res)) {
+                $TABLA = new Tabla ('cellspacing=0');
+                $row = array ('<font color="red"><b>'.$res->getMessage().'</b></font>');
+                $TABLA->addRow($row,'align=left');
+                if ($aceptar->getValue() == 'Eliminar') {
+                    $FORM->freeze();
+                }
+            }
+            else {
+                $FORM->freeze();
+                header('Location: perfiles');
+            }
         }
     }
 // }}}
         }
     }
 // }}}
-        
 //DIBUJO LA PAGINA {{{
 //DIBUJO LA PAGINA {{{
+    $TABLA3 = new Tabla ('cellspacing=0');
+    $row   = array ('<b>SISTEMA: '.$SISTEMA->getNombre().'</b>');
+    $TABLA3->addRow($row,'titulo align=left');    
+
     $MARCO = new Marco ('../../conf/confSecciones.php');
     $MARCO = new Marco ('../../conf/confSecciones.php');
-    $MARCO->addTitle('ABM Permisos');
+    $MARCO->addTitle('ABM Perfil');
+    $MARCO->addBody($TABLA3);
     if (isset($TABLA)) {
     if (isset($TABLA)) {
-        $MARCO->addBody($TABLA->toHtml(1));
+        $MARCO->addBody($TABLA);
     }
     $MARCO->addBody($FORM);
     $MARCO->display();
     }
     $MARCO->addBody($FORM);
     $MARCO->display();
diff --git a/sistema/www/perfiles/perfiles-nuevo.php b/sistema/www/perfiles/perfiles-nuevo.php
new file mode 100644 (file)
index 0000000..111241d
--- /dev/null
@@ -0,0 +1,123 @@
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4 foldmethod=marker:
+// +----------------------------------------------------------------------+
+// | PHP Version 4                                                        |
+// +----------------------------------------------------------------------+
+// | Copyright (c) 1997-2003 The PHP Group                                |
+// +----------------------------------------------------------------------+
+// | This source file is subject to version 2.02 of the PHP license,      |
+// | that is bundled with this package in the file LICENSE, and is        |
+// | available at through the world-wide-web at                           |
+// | http://www.php.net/license/2_02.txt.                                 |
+// | If you did not receive a copy of the PHP license and are unable to   |
+// | obtain it through the world-wide-web, please send a note to          |
+// | license@php.net so we can mail you a copy immediately.               |
+// +----------------------------------------------------------------------+
+// | Created: mar jul  8 12:58:06 ART 2003
+// | Author:  Martin Marrese <mmarre@mecon.gov.ar>
+// +----------------------------------------------------------------------+
+//
+// $Id$
+// 
+
+    require_once 'PEAR.php';
+    require_once 'MECON/HTML/QuickForm.php';
+    require_once 'MECON/HTML/Tabla.php';
+    require_once 'SAMURAI/Perfil.php';
+    require_once 'SAMURAI/Sistema.php';
+
+//CREO LOS OBJETO NECESARIOS {{{
+    $FORM = new MECON_HTML_QuickForm ('perfiles_nuevo','post','perfiles-nuevo');
+    $SISTEMA = new SAMURAI_Sistema ($DB, $_SESSION['samurai']['id_sistema']);
+// }}}
+//AGREGO LOS ELEMENTOS DEL FORM {{{
+    $FORM->addElement ('header', 'cabecera'   , 'Nuevo Perfil');
+    $FORM->addElement ('select', 'perfiles'   , 'Perfiles', '', 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');
+    $group[] = HTML_QuickForm::createElement('submit', 'filtrar'  , 'Filtrar'  );
+    $group[] = HTML_QuickForm::createElement('submit', 'cancelar' , 'Cancelar' );
+    $FORM->addGroup($group,'botones');
+// }}}
+///RESTRINJO EL FORMATO DEL NOMBRE DEL PERFIL
+    $FORM->addRule ('descripcion', 'El nombre del perfil solo puede contener letras y/o numeros.', 'regex','/^[a-zA-Z0-9 ]+$/');
+// }}}
+// CARGO LA INFORMACION EN EL SELECT DE PERFILES
+    $botones     = $FORM->getSubmitValue('botones');
+    $perfiles    =& $FORM->getElement('perfiles');
+    $descripcion =& $FORM->getElement('descripcion');
+    if (@$botones['cancelar']) {
+        header('Location: perfiles');
+    }
+    if (!isset($botones['filtrar'])) {
+        $PERFILES = SAMURAI_Perfil::getArrayPerfiles($DB);
+    }
+    elseif (@$botones['filtrar']) {
+        $filtro   =& $FORM->getElement('filtro'); 
+        $PERFILES = SAMURAI_Perfil::getArrayPerfiles($DB, $filtro->getValue());
+    }
+    $perfiles->addOption('--', '--');
+    $perfiles->loadArray($PERFILES);
+// }}}
+// VALIDO EL FORMULARIO {{{
+    if ($FORM->validate()) {
+        if (@$botones['continuar']) { //Ya selecciono un nombre para el perfil
+            $res = '';
+            $tmp = $perfiles->getSelected();
+            if ((!@$descripcion->getvalue() && $tmp['0'] == '--') || ($descripcion->getvalue() && $tmp['0'] != '--')) {
+                $res = new PEAR_Error("Debe seleccionar un perfil del combo o ingresar un nombre en la casilla correspondiente.<br>Solo una de las dos opciones.");
+                @$descripcion->setValue('');
+            }
+            elseif ($tmp['0'] != '--') {
+                //verificar que el sistema no tenga una asociacion con ese perfil
+                if (SAMURAI_Perfil::existeAsociacion($DB, $tmp['0'], $_SESSION['samurai']['id_sistema'])) {
+                    $res = new PEAR_Error("El sistema ya tiene asociado el perfil seleccionado, modifique sus permisos desde la seccion perfiles.");
+                }
+                else {
+                    header('Location: perfiles-abm?id_perfil='.$tmp['0']);
+                }
+            }
+            elseif ($descripcion->getValue()) {
+                //Verificar que no exista un perfil con la misma descripcion
+                //Reduzco los blancos
+                $temp = $descripcion->getValue();
+                $tt = split (' ', $temp);
+                $rta = ''; 
+                foreach ($tt as $t) {
+                    if ($t != '') {
+                        $rta.= $t.' ';
+                    }
+                }
+                $rta = rtrim($rta);
+                // 
+                if (SAMURAI_Perfil::existePerfil($DB, $rta)) {
+                    $res = new PEAR_Error("Ya existe un perfil con ese nombre, seleccionelo del combo.<br>Recuerde que varios espacios se reduciran a uno solo (Ej: Agregar&nbsp;&nbsp;&nbsp;&nbsp; Usuario -> Agregar Usuario)");
+                }
+                else {
+                    $temp = ereg_replace(' ' , '%20', $rta); //Cambio los espacios por %20 para que no chille el netscape
+                    header('Location: perfiles-abm?desc_perfil='.$temp);
+                }
+            }
+            if (PEAR::isError($res)) {
+                $TABLA = new Tabla ('cellspacing=0');
+                $row = array ('<font color="red"><b>'.$res->getMessage().'</b></font>');
+                $TABLA->addRow($row,'align=left');
+            }
+        } 
+    }
+// }}}
+//MUESTRO LA PAGINA {{{
+    $TABLA3 = new Tabla ('cellspacing=0');
+    $row   = array ('<b>SISTEMA: '.$SISTEMA->getNombre().'</b>');
+    $TABLA3->addRow($row,'titulo align=left');    
+
+    $MARCO = new Marco ('../../conf/confSecciones.php');
+    $MARCO->addBody($TABLA3);
+    if (isset($TABLA)) {
+        $MARCO->addBody($TABLA);
+    }
+    $MARCO->addBody($FORM);
+    $MARCO->display();
+// }}}
+?>
index 2d90f2d700e375fd6abef75a4504f175832d4a3c..c51625bacc836a950a7e178b0e1b84372f730dae 100644 (file)
     
     require_once 'MECON/HTML/Tabla.php';
     require_once 'SAMURAI/Perfil.php';
     
     require_once 'MECON/HTML/Tabla.php';
     require_once 'SAMURAI/Perfil.php';
+    require_once 'SAMURAI/Sistema.php';
 
 //LINKS A PERFILES-ABM {{{
 
 //LINKS A PERFILES-ABM {{{
-    $aHref      = '<a href="perfiles-abm?accion=##ACCION##&idPerfil=##NUEVO##">';
+    $aHref      = '<a href="perfiles-abm?accion=##ACCION##&id_perfil=##NUEVO##">';
     $aHrefModif = $aHref.'<img src="/MECON/images/general_modificar.gif" border="0" alt="Modificar Perfil"></a>';
     $aHrefElim  = $aHref.'<img src="/MECON/images/general_eliminar.gif"  border="0" alt="Eliminar Perfil" ></a>';
 // }}}
 //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{
 if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) {
     $aHrefModif = $aHref.'<img src="/MECON/images/general_modificar.gif" border="0" alt="Modificar Perfil"></a>';
     $aHrefElim  = $aHref.'<img src="/MECON/images/general_eliminar.gif"  border="0" alt="Eliminar Perfil" ></a>';
 // }}}
 //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{
 if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) {
-    header('Location: sel-sistema');    
+    header('Location: ./../sel-sistema');    
 }
 // }}}   
 //CREO LOS OBJETOS NECESARIOS {{{
     $TABLA2 = new Tabla ('cellspacing=0');
     $TABLA  = new Tabla ('cellpadding=2');
 }
 // }}}   
 //CREO LOS OBJETOS NECESARIOS {{{
     $TABLA2 = new Tabla ('cellspacing=0');
     $TABLA  = new Tabla ('cellpadding=2');
-    
+    $TABLA3 = new Tabla ('cellspacing=0');
+    $SISTEMA = new SAMURAI_Sistema($DB, $_SESSION['samurai']['id_sistema']);
 // }}}
 //OBTENGO LA INFORMACION DE LA BASE {{{
 // }}}
 //OBTENGO LA INFORMACION DE LA BASE {{{
-    $perfiles = SAMURAI_Perfil::getPerfiles($DB);
+    $perfiles = SAMURAI_Perfil::getPerfiles($DB, null, $_SESSION['samurai']['id_sistema']);
 // }}}
 //AGREGO LOS DATOS A LAS TABLAS {{{
 // }}}
 //AGREGO LOS DATOS A LAS TABLAS {{{
-    $row   = array ($aHref.'<img src="/MECON/images/general_nuevo.gif" border="0">Ingresar Nuevo Perfil</a>');
+    $row   = array ('<b>SISTEMA: '.$SISTEMA->getNombre().'</b>');
+    $TABLA3->addRow($row,'titulo align=left');    
+    $row   = array ('<a href="perfiles-nuevo"><img src="/MECON/images/general_nuevo.gif" border="0">Ingresar Nuevo Perfil</a>');
     $TABLA2->addRow($row,'align=right');    
     $row   = array ('Id','Descripcion','Tipo','Modif.','Elim.');
     $TABLA->addRow($row,'cabecera');
     $TABLA2->addRow($row,'align=right');    
     $row   = array ('Id','Descripcion','Tipo','Modif.','Elim.');
     $TABLA->addRow($row,'cabecera');
@@ -62,6 +66,7 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) {
 // }}}
 //DIBUJO LA PAGINA {{{
     $MARCO = new Marco ('../../conf/confSecciones.php');
 // }}}
 //DIBUJO LA PAGINA {{{
     $MARCO = new Marco ('../../conf/confSecciones.php');
+    $MARCO->addBody($TABLA3);
     $MARCO->addBody($TABLA2->toHtml(1));
     $MARCO->addBody($TABLA);
     $MARCO->display();
     $MARCO->addBody($TABLA2->toHtml(1));
     $MARCO->addBody($TABLA);
     $MARCO->display();
index eb7e95fbc47a24af6fec486da002b1a9c1c70884..b4a6d92230892a71b365928a4f6fd1988a8fa055 100644 (file)
 // $Id$
 // 
     
 // $Id$
 // 
     
+//REQUIRE_ONCE {{{    
+    //MECON {{{
     require_once 'MECON/HTML/QuickForm.php';
     require_once 'MECON/HTML/Tabla.php';
     require_once 'MECON/HTML/QuickForm.php';
     require_once 'MECON/HTML/Tabla.php';
+    require_once 'MECON/HTML/Error.php';
+    // }}}
+    //SAMURAI {{{
     require_once 'SAMURAI/Permiso.php';
     require_once 'SAMURAI/Permiso.php';
-
+    //}}}
+//}}}
 //CREO LOS OBJETO NECESARIOS {{{
     $FORM = new MECON_HTML_QuickForm ('permisos_abm','post','permisos-abm');
 // }}}
 //CREO LOS OBJETO NECESARIOS {{{
     $FORM = new MECON_HTML_QuickForm ('permisos_abm','post','permisos-abm');
 // }}}
@@ -33,6 +39,7 @@
     $FORM->addElement ('text'  , 'desc_permiso', 'Descripcion', array('size'=>'50'));
     $FORM->addElement ('static', 'responsable' , 'Responsable', $_SESSION['samurai']['login']);
     $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
     $FORM->addElement ('text'  , 'desc_permiso', 'Descripcion', array('size'=>'50'));
     $FORM->addElement ('static', 'responsable' , 'Responsable', $_SESSION['samurai']['login']);
     $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
+    $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:history.go(-1);return true;'));
     $FORM->addGroup($group,'botones');
 // }}}
 //AGREGO LAS REGLAS DE VALIDACION DE LOS ELEMENTOS {{{
     $FORM->addGroup($group,'botones');
 // }}}
 //AGREGO LAS REGLAS DE VALIDACION DE LOS ELEMENTOS {{{
 // }}}
 //VALIDO EL FORMULARIO {{{
     if ($FORM->validate()) {
 // }}}
 //VALIDO EL FORMULARIO {{{
     if ($FORM->validate()) {
+       // VEO SI SE CANCELO {{{
+        $botones = $FORM->getSubmitValue('botones');
+        if (@$botones['cancelar']) {
+            header('Location: perfiles');
+        }
+        // }}}
         $desc_permiso =& $FORM->getElement  ('desc_permiso');
         $responsable  =& $FORM->getElement  ('responsable' );
         $group        =& $FORM->getElement  ('botones'     );
         $desc_permiso =& $FORM->getElement  ('desc_permiso');
         $responsable  =& $FORM->getElement  ('responsable' );
         $group        =& $FORM->getElement  ('botones'     );
         $res = $PERMISO->guardarDatos($aceptar->getValue());
 
         if (PEAR::isError($res)) {
         $res = $PERMISO->guardarDatos($aceptar->getValue());
 
         if (PEAR::isError($res)) {
-            $TABLA = new Tabla ('cellspacing=0');
-            $row = array ('<font color="red"><b>'.$res->getMessage().'</b></font>');
-            $TABLA->addRow($row,'align=left');
+            $ERROR = new MECON_HTML_Error($res->getMessage());
             if ($aceptar->getValue() == 'Eliminar') {
                 $FORM->freeze();
             }
             if ($aceptar->getValue() == 'Eliminar') {
                 $FORM->freeze();
             }
         }
     }
 // }}}
         }
     }
 // }}}
-        
 //DIBUJO LA PAGINA {{{
     $MARCO = new Marco ('../../conf/confSecciones.php');
     $MARCO->addTitle('ABM Permisos');
 //DIBUJO LA PAGINA {{{
     $MARCO = new Marco ('../../conf/confSecciones.php');
     $MARCO->addTitle('ABM Permisos');
-    if (isset($TABLA)) {
-        $MARCO->addBody($TABLA->toHtml(1));
+    if (isset($ERROR)) {
+        $MARCO->addBody($ERROR);
     }
     $MARCO->addBody($FORM);
     $MARCO->display();
     }
     $MARCO->addBody($FORM);
     $MARCO->display();
-//
+// }}}
 //FIN
 ?>
 //FIN
 ?>
index 57a50677a0c228733319454fa96bade925bbf077..6a2ef611aa5ad820df19fea97b0854c407ba64a8 100644 (file)
@@ -40,6 +40,7 @@
     $TABLA2->addRow($row,'align=right');    
     $row   = array ('Id','Descripcion','Modif.','Elim.');
     $TABLA->addRow($row,'cabecera');
     $TABLA2->addRow($row,'align=right');    
     $row   = array ('Id','Descripcion','Modif.','Elim.');
     $TABLA->addRow($row,'cabecera');
+    
     foreach ($permisos as $permiso) {
         $Modif = ereg_replace('##NUEVO##'  , $permiso->getId(), $aHrefModif);
         $Elim  = ereg_replace('##NUEVO##'  , $permiso->getId(), $aHrefElim );
     foreach ($permisos as $permiso) {
         $Modif = ereg_replace('##NUEVO##'  , $permiso->getId(), $aHrefModif);
         $Elim  = ereg_replace('##NUEVO##'  , $permiso->getId(), $aHrefElim );
index 8f21d4d12586a0f504fa7d9806e3c1d64873e1c1..75ad23ca227606b8abe8327e6d27d18def1b25f7 100644 (file)
@@ -1,5 +1,5 @@
 <?php
 <?php
-// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4 foldmethod=marker:
 // +----------------------------------------------------------------------+
 // | PHP Version 4                                                        |
 // +----------------------------------------------------------------------+
 // +----------------------------------------------------------------------+
 // | PHP Version 4                                                        |
 // +----------------------------------------------------------------------+
@@ -41,7 +41,6 @@
     $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Seleccionar');
     $FORM->addGroup($group,'botones', '', ',&nbsp;');
 // }}}
     $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Seleccionar');
     $FORM->addGroup($group,'botones', '', ',&nbsp;');
 // }}}
-    
 //VALIDO EL FORMULARIO {{{
     if ($FORM->validate()) {
         $sistema =& $FORM->getElement ('sistemas');
 //VALIDO EL FORMULARIO {{{
     if ($FORM->validate()) {
         $sistema =& $FORM->getElement ('sistemas');
index 7a02ab9ea149d3fa185cf8312a173bdc1085aa95..43c144f833f6364fbc678c22f2e776abcc9352a6 100644 (file)
 //
 // $Id$
 //
 //
 // $Id$
 //
+
+//REQUIRE ONCE {{{
+    //MECON {{{
     require_once 'MECON/HTML/QuickForm.php';
     require_once 'MECON/HTML/QuickForm.php';
+    require_once 'MECON/HTML/Error.php';
     require_once 'MECON/HTML/Tabla.php';
     require_once 'MECON/HTML/Tabla.php';
+    // }}}
+    //SAMURAI {{{
     require_once 'SAMURAI/Sistema.php';
     require_once 'SAMURAI/Permiso.php';
     require_once 'SAMURAI/Sistema.php';
     require_once 'SAMURAI/Permiso.php';
-
+    // }}}
+// }}}
 //CREO LOS OBJETO NECESARIOS {{{
     $FORM = new MECON_HTML_QuickForm ('sistemas_abm','post','sistemas-abm');
 // }}}
 //CREO LOS OBJETO NECESARIOS {{{
     $FORM = new MECON_HTML_QuickForm ('sistemas_abm','post','sistemas-abm');
 // }}}
     $FORM->addElement ('select'  , 'permisos'            , 'Permisos'            , $PERMISOS, array('size' => '5', 'multiple' => 'multiple'));
     $FORM->addElement ('static'  , 'responsable'         , 'Responsable'         , $_SESSION['samurai']['login']); 
     $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
     $FORM->addElement ('select'  , 'permisos'            , 'Permisos'            , $PERMISOS, array('size' => '5', 'multiple' => 'multiple'));
     $FORM->addElement ('static'  , 'responsable'         , 'Responsable'         , $_SESSION['samurai']['login']); 
     $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
+    $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar');
     $FORM->addGroup($group,'botones');
 // }}}
 //AGREGO LAS REGLAS DE VALIDACION DE LOS ELEMENTOS {{{
     $FORM->addGroup($group,'botones');
 // }}}
 //AGREGO LAS REGLAS DE VALIDACION DE LOS ELEMENTOS {{{
-    $FORM->addRule('nombre_sistema'      , 'El campo nombre es obligatorio'      , 'required');
-    $FORM->addRule('desc_sistema'        , 'El campo descripcion es obligatorio' , 'required');
-    $FORM->addRule('fecha_inicio'        , 'El campo fecha inicio es obligatorio', 'required');
-    if (isset($_GET['accion']) && $_GET['accion'] != 'e') {
-        $FORM->addRule('fecha_inicio'        , 'La fecha no es válida'               , 'fecha'   );
-        $FORM->addRule('fecha_fin'           , 'La fecha no es válida'               , 'fecha'   );
-        $FORM->addRule('fecha_implementacion', 'La fecha no es válida'               , 'fecha'   );
+    $botones = $FORM->getSubmitValue('botones');
+    if (!@$botones['cancelar']) {
+        $FORM->addRule('nombre_sistema'      , 'El campo nombre es obligatorio'      , 'required');
+        $FORM->addRule('desc_sistema'        , 'El campo descripcion es obligatorio' , 'required');
+        $FORM->addRule('fecha_inicio'        , 'El campo fecha inicio es obligatorio', 'required');
+        if (isset($_GET['accion']) && $_GET['accion'] != 'e') {
+            $FORM->addRule('fecha_inicio'        , 'La fecha no es válida'               , 'fecha'   );
+            $FORM->addRule('fecha_fin'           , 'La fecha no es válida'               , 'fecha'   );
+            $FORM->addRule('fecha_implementacion', 'La fecha no es válida'               , 'fecha'   );
+        }
+        $FORM->addRule('contacto'            , 'El campo contacto es obligatorio'    , 'required');
     }
     }
-    $FORM->addRule('contacto'            , 'El campo contacto es obligatorio'    , 'required');
 // }}}
 //CREO EL OBJETO SISTEMA {{{
     //Obtengo el id del sistema.
 // }}}
 //CREO EL OBJETO SISTEMA {{{
     //Obtengo el id del sistema.
         $SISTEMA->setContacto($contacto->getValue());        
         $SISTEMA->setPermisos($permisos->getSelected());
         $SISTEMA->setResponsable($responsable->_text); //TODO URGENTE Modificar esto. No tiene hay metodo static::getValue()
         $SISTEMA->setContacto($contacto->getValue());        
         $SISTEMA->setPermisos($permisos->getSelected());
         $SISTEMA->setResponsable($responsable->_text); //TODO URGENTE Modificar esto. No tiene hay metodo static::getValue()
-        $res = $SISTEMA->guardarDatos($aceptar->getValue());
-        print '<PRE>';var_dump($res);print '</PRE>';
-        if (PEAR::isError($res)) {
-            $TABLA = new Tabla ('cellspacing=0');
-            $row = array ('<font color="red"><b>'.$res->getMessage().'</b></font>');
-            $TABLA->addRow($row,'align=left');
-        }
+        $botones = $FORM->getSubmitValue('botones');
+        if (@$botones['cancelar']) {
+            header ('Location: sistemas');
+        } 
         else {
         else {
-            $FORM->freeze();
-            header('Location: sistemas');
+            $res = $SISTEMA->guardarDatos($aceptar->getValue());
+            if (PEAR::isError($res)) {
+                $ERROR = new MECON_HTML_Error($res->getMessage());
+            }
+            else {
+                $FORM->freeze();
+                header('Location: sistemas');
+            }
         }
     }
 // }}}
         }
     }
 // }}}
 //DIBUJO LA PAGINA {{{
     $MARCO = new Marco ('../../conf/confSecciones.php');
     $MARCO->addTitle('ABM Sistema');
 //DIBUJO LA PAGINA {{{
     $MARCO = new Marco ('../../conf/confSecciones.php');
     $MARCO->addTitle('ABM Sistema');
-    if (isset($TABLA)) {
-        $MARCO->addBody($TABLA->toHtml(1));
+    if (isset($ERROR)) {
+        $MARCO->addBody($ERROR);
     }
     $MARCO->addBody($FORM);
     $MARCO->display();
     }
     $MARCO->addBody($FORM);
     $MARCO->display();
index 5cd96a7176f11b87e9d90acb8e60b2ace4cba60f..9cece23240259116a9731b538109f86fa347b9ca 100644 (file)
 // | Author:  Martin Marrese <mmarre@mecon.gov.ar>
 // +----------------------------------------------------------------------+
 //
 // | Author:  Martin Marrese <mmarre@mecon.gov.ar>
 // +----------------------------------------------------------------------+
 //
-// $Id: sistemas-permisos.php 21 2003-06-25 22:26:30Z mmarre e
+// $Id$
 // 
 // 
+
+//REQUIRE_ONCE {{{
+    //MECON {{{
     require_once 'MECON/HTML/QuickForm.php';
     require_once 'MECON/HTML/Tabla.php';
     require_once 'MECON/HTML/QuickForm.php';
     require_once 'MECON/HTML/Tabla.php';
+    require_once 'MECON/HTML/Error.php';
+    // }}}
+    //SAMURAI {{{
     require_once 'SAMURAI/Sistema.php';
     require_once 'SAMURAI/Permiso.php';
     require_once 'SAMURAI/Sistema.php';
     require_once 'SAMURAI/Permiso.php';
-
-//OBTENGO EL ID DEL SISTEMA {{
+    // }}}
+// }}}
+//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'])) {
     //El id de sistema viene por get o por post, no hay otra posibilidad
     $idSistema = 0;
     if (isset($_GET['idSistema'])) {
     $SISTEMA   = new SAMURAI_Sistema ($DB, $idSistema);
     $TABLASIST = new Tabla ('cellpadding=2');
     $TABLAPERM = new Tabla ('cellpadding=2');
     $SISTEMA   = new SAMURAI_Sistema ($DB, $idSistema);
     $TABLASIST = new Tabla ('cellpadding=2');
     $TABLAPERM = new Tabla ('cellpadding=2');
-// }}}
     $SISTEMA->setResponsable($_SESSION['samurai']['login']);
     $SISTEMA->setResponsable($_SESSION['samurai']['login']);
+// }}}
 //AGREGO LA INFORMACION DEL SISTEMA {{{
 //AGREGO LA INFORMACION DEL SISTEMA {{{
+    $row = array ('Datos del sistema');
+    $TABLASIST->addRow($row, 'cabecera colspan=3');
     $row = array ('Id', 'Nombre', 'Descripcion');
     $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');
 // }}}
     $row = array ($SISTEMA->getId(), $SISTEMA->getNombre(), $SISTEMA->getDescripcion());
     $TABLASIST->addRow($row, 'comun');
 // }}}
@@ -83,9 +92,7 @@
         }
 
         if ($error) {
         }
 
         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');
+            $ERROR = new MECON_HTML_Error('La asociacion ya existe, modifique alguno de sus datos');
         }
         else {
             $idPermiso->setSelected(null);
         }
         else {
             $idPermiso->setSelected(null);
     }
 
 // }}}
     }
 
 // }}}
+//OPCION VOLVER {{{
+    $TABLAVOLVER = new Tabla ('cellspacing=0');
+    $row = array ('<a href="sistemas" alt="Volver a la lista de Sistemas" ><img src="/MECON/images/general_volver4.gif"><b>&nbsp;Volver a Sistemas</b></a>');
+    $TABLAVOLVER->addRow($row,'align=left');
+// }}}
 //DIBUJO LA PAGINA {{{
     $MARCO = new Marco ('../../conf/confSecciones.php');
     $MARCO->addTitle('Asociar Permisos y Sistemas');
 //DIBUJO LA PAGINA {{{
     $MARCO = new Marco ('../../conf/confSecciones.php');
     $MARCO->addTitle('Asociar Permisos y Sistemas');
     $MARCO->addBody($TABLASIST);
     $MARCO->addBody('<BR>');
     //AGREGO EL ERROR
     $MARCO->addBody($TABLASIST);
     $MARCO->addBody('<BR>');
     //AGREGO EL ERROR
-    if (isset($TABLA)) {
-        $MARCO->addBody($TABLA);
+    if (isset($ERROR)) {
+        $MARCO->addBody($ERROR);
     }
     //AGREGO LA TABLA DEL FORM
     $MARCO->addBody($FORM);
     $MARCO->addBody('<BR>');
     //AGREGO LA TABLA DE PERMISOS
     $MARCO->addBody($TABLAPERM);
     }
     //AGREGO LA TABLA DEL FORM
     $MARCO->addBody($FORM);
     $MARCO->addBody('<BR>');
     //AGREGO LA TABLA DE PERMISOS
     $MARCO->addBody($TABLAPERM);
+    $MARCO->addBody($TABLAVOLVER);
     $MARCO->display();
 // }}}
 //FIN
     $MARCO->display();
 // }}}
 //FIN
index 96d9d6770ad4a17ac57ec6c4f9992d11b83780ca..505b59661208bc512e46ee059ed93ce699bc28a5 100644 (file)
 
         $TABLA->addRow($row);
     }
 
         $TABLA->addRow($row);
     }
-    
+
+    //Agrego la opcion de seleccionar otro sistema para trabajar
+    $TABLA3 = new Tabla ('cellspacing=0');
+    $row = array ('<a href="../sel-sistema.php">Seleccionar otro sistema para trabajar&nbsp;<img src="/MECON/images/general_ir4" border="0"></a>');
+    $TABLA3->addRow($row,'align=right');
+
+
+
     //Agrego las cosas al cuerpo de la pagina
 
     $MARCO = new Marco ('../../conf/confSecciones.php');
     $MARCO->addBody($TABLA2->toHtml(1));
     $MARCO->addBody($TABLA);
     //Agrego las cosas al cuerpo de la pagina
 
     $MARCO = new Marco ('../../conf/confSecciones.php');
     $MARCO->addBody($TABLA2->toHtml(1));
     $MARCO->addBody($TABLA);
+    $MARCO->addBody($TABLA3->toHtml(1));
     $MARCO->display();
 ?>
     $MARCO->display();
 ?>