]> git.llucax.com Git - mecon/samurai.git/commitdiff
Agrego a la seccion perfiles la funcionalidad de tabladb.
authorMartín Marrese <marrese@gmail.com>
Tue, 9 Mar 2004 19:58:22 +0000 (19:58 +0000)
committerMartín Marrese <marrese@gmail.com>
Tue, 9 Mar 2004 19:58:22 +0000 (19:58 +0000)
lib/SAMURAI/Perfil.php
sistema/www/perfiles/perfiles-abm.php
sistema/www/perfiles/perfiles-nuevo.php
sistema/www/perfiles/perfiles.php

index 3a58940fa2584adeff4b4ee8343f0a1a0b96f696..c141619bb00c4e9703e34bda3b46d611d50cbaef 100644 (file)
@@ -626,6 +626,40 @@ class SAMURAI_Perfil {
     }
     // -X2C
 
+    /**
+     * Metodo que devuelve los datos necesarios para listar perfiles.
+     *
+     * @param  SAMURAI_DB &$db Base de Datos
+     * @param  string $filtro Filtro de perfiles
+     * @param  int $id_sistema Identificador del sistema
+     *
+     * @return mixed
+     * @access public
+     * @static
+     */
+    function getPerfilesPager(&$db, $filtro = null, $id_sistema = null) {
+
+        //@TODO REEMPLAZA A getPerfiles
+        $where[] = 'p.id_perfil = ps.id_perfil';
+        if ($id_sistema) {
+            $where[] = 'ps.id_sistema = '. $id_sistema;
+        }
+        if ($filtro) {
+            $where[] = 'p.desc_perfil LIKE '. $db->quote("%$filtro%");
+        }
+
+        $where = implode (' AND ', $where);
+        
+        $sql = "
+            SELECT p.id_perfil, p.desc_perfil AS descripcion
+            FROM samurai.perfil AS p, samurai.perfil_sist AS ps
+            WHERE $where
+            ORDER BY p.desc_perfil
+            ";
+        
+        return $db->query ($sql);
+    }
+
 } // -X2C Class :SAMURAI_Perfil
 
-?>
\ No newline at end of file
+?>
index 0440f45cc6a71fe05b610a1c4ab4cb8dea3a43b2..5d15fdfbbc776e3ac94bc323a700e3e0496af7fa 100644 (file)
@@ -55,8 +55,8 @@ switch (@$_REQUEST['accion']) {
     require_once 'MECON/HTML/Image.php';
 // }}}
 //CREO LOS OBJETO NECESARIOS {{{
-    if (@$_GET['id_perfil']) {
-        $id_perfil = $_GET['id_perfil'];
+    if (@$_GET['_id_perfil']) {
+        $id_perfil = $_GET['_id_perfil'];
     }
     elseif (@$_POST['id_perfil']) {
         $id_perfil = $_POST['id_perfil'];
@@ -77,7 +77,7 @@ switch (@$_REQUEST['accion']) {
         $responsable = $_SESSION['usuario'];
     }
     
-    if (!@$_GET['id_perfil']) {
+    if (!@$_GET['_id_perfil']) {
         if (@$_GET['desc_perfil']) {
             $PERFIL->setDescripcion(@$_GET['desc_perfil']);
         }
index c5dace9dd30261b2c1708f4a710084d86adf31b0..13eb360a82712a75644a11df130afae38231a6a3 100644 (file)
@@ -85,7 +85,7 @@ $MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones
                     $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']);
+                    header('Location: perfiles-abm?_id_perfil='.$tmp['0']);
                 }
             }
             elseif ($descripcion->getValue()) {
index d0e6f4636f23028de109befeeea1ced647e0b74c..719d8b9e5e5940f8ea60dd0d1f7f9f87b0ce3650 100644 (file)
@@ -30,77 +30,70 @@ $MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones
 //}}}
 
 //REQUIRE ONCE {{{
-    require_once 'MECON/HTML/Tabla.php';
-    require_once 'SAMURAI/Perfil.php';
-    require_once 'SAMURAI/Sistema.php';
+require_once 'SAMURAI/Sistema.php';
+require_once 'SAMURAI/Perfil.php';
+require_once 'MECON/HTML/Image.php';
+require_once 'MECON/HTML/TablaDB.php';
 //}}}
-//LINKS {{{
-    $aHrefPopup = '<a href="" onClick="window.open(\'perfiles-datos?id_perfil=##PERFIL##\',\'perfilesdatos\',\'height=300,width=400,scrollbars=yes\');return false;">';
-    $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']) {
     header('Location: ./../sel-sistema?redirect=perfiles/perfiles');    
 }
-// }}}   
-//CREO LOS OBJETOS NECESARIOS {{{
-    $TABLA2 = new MECON_HTML_Tabla ('cellspacing=0');
-    $TABLA  = new MECON_HTML_Tabla ('cellpadding=2');
-    $TABLA3 = new MECON_HTML_Tabla ('cellspacing=0');
-    $SISTEMA = new SAMURAI_Sistema($DB, $_SESSION['samurai']['id_sistema']);
-// }}}
-//OBTENGO LA INFORMACION DE LA BASE {{{
-    $perfiles = SAMURAI_Perfil::getPerfiles($DB, null, $_SESSION['samurai']['id_sistema']);
-// }}}
-//AGREGO LOS DATOS A LAS TABLAS {{{
-    $imagen = new MECON_HTML_Image('/MECON/images/vinetas_flecha_doble.gif');
-    $row    = array ($imagen->toHtml().'&nbsp;<b>SISTEMA: '.$SISTEMA->getNombre().'</b>');
-    $TABLA3->addRow($row,'align=left'); 
-    
-    //Agrego la posibilidad de seleccionar otro sistema para trabajar.
-    $row = array ();
-    $row[] = '<a href="/sistemas/samurai/sel-sistema?redirect=perfiles/perfiles"><img src="/MECON/images/general_volver.gif" border="0">Seleccionar otro sistema para trabajar.</a>';
-    //Agrego el link a nuevo
-    if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_ALTA)) {
-        $row[] = '<a href="perfiles-nuevo"><img src="/MECON/images/general_nuevo.gif" border="0">Ingresar&nbsp;Nuevo&nbsp;Perfil</a>';
-    }
-    $TABLA2->addRow($row,'align=right');    
-    $TABLA2->updateColAttributes(0,'align=left');
-    //Genero la cabecera de la tabla
-    $row   = array ('Id','Descripción');
-    if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_MODIF)) {
-        $row[] = 'Modif.';
-    }    
-    if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_BAJA)) {
-        $row[] = 'Elim.';
-    }    
-    
-    $TABLA->addRow($row,'cabecera');
-    foreach ($perfiles as $perfil) {
-        $Popup = ereg_replace('##PERFIL##', $perfil->getId(), $aHrefPopup);
-        $Modif = ereg_replace('##NUEVO##' , $perfil->getId(), $aHrefModif);
-        $Elim  = ereg_replace('##NUEVO##' , $perfil->getId(), $aHrefElim );
-        $Popup = $Popup.$perfil->getDescripcion().'</a>';
-        $Modif = ereg_replace('##ACCION##', 'm'             , $Modif     );
-        $Elim  = ereg_replace('##ACCION##', 'e'             , $Elim      );
-        $row = array ($perfil->getId(), $Popup);
-        
-        if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_MODIF)) {
-            $row[] = $Modif;
-        }    
-        if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_BAJA)) {
-            $row[] = $Elim;
-        }    
-        $TABLA->addRow($row);
-    }
-// }}}
+//}}}   
+
+//VIÑETA CON EL SISTEMA EN EL CUAL SE ESTA TRABAJANDO {{{
+$SISTEMA =& new SAMURAI_Sistema($DB, $_SESSION['samurai']['id_sistema']);
+$tmp =& new MECON_HTML_Image('/MECON/images/vinetas_flecha_doble.gif', '>>');
+$VINETA = '<div align="left">'. $tmp->toHTML() .'&nbsp;<b>SISTEMA: '. 
+    $SISTEMA->getNombre().'</b></div>';
+//}}}
+
+//OBTENGO LA INFORMACION DE LOS PERFILES {{{
+$res = SAMURAI_Perfil::getPerfilesPager($DB, null, $_SESSION['samurai']['id_sistema']);
+//}}}
+
+//CREO LA TABLA DE USUARIOS {{{
+$TABLA =& new MECON_HTML_TablaDB ('Perfiles');
+$TABLA->addLink(
+        'nuevo', 
+        new MECON_HTML_Link(
+            'perfiles-nuevo', 'Nuevo Perfil'
+            )
+        );
+$TABLA->addLink(
+        'volver', 
+        new MECON_HTML_Link(
+            './../sel-sistema?redirect=perfiles/perfiles', 
+            'Seleccionar otro sistema para trabajar'
+            )
+        );
+
+
+$cabecera[] = 'Id';
+$cabecera[] = 'Descripción';
+
+//Agrego las columnas de modificacion y eliminacion {{{
+$link = new MECON_HTML_Link ('perfiles-abm', null, array('accion' => 'm'));
+if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_MODIF)) {
+    $cabecera[] = 'Modif.';
+    $TABLA->addRowsIcon('modificar', 'id_perfil', $link);
+}
+if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_BAJA)) {
+    $cabecera[] = 'Elimn.';
+    $link->setGetVar('accion', 'e');
+    $TABLA->addRowsIcon('eliminar', 'id_perfil', $link);
+}
+//}}}
+
+$TABLA->addRow($cabecera, 'cabecera');
+$pager = $TABLA->addPager($res, null, new MECON_HTML_Link ('perfiles', null), 25);
+$TABLA->addRows($pager, array ('id_perfil', 'descripcion'));
+//}}}
+
 //DIBUJO LA PAGINA {{{
-    $MARCO->addBody($TABLA3);
-    $MARCO->addBody($TABLA2->toHtml(1));
-    $MARCO->addBody($TABLA);
-    $MARCO->display();
-// }}}
-//FIN
+$MARCO->addBody($VINETA);
+$MARCO->addBody($TABLA);
+$MARCO->display();
+//}}}
 ?>