]> git.llucax.com Git - mecon/samurai.git/blobdiff - sistema/www/permisos/permisos.php
Agrego paginacion a la lista de permisos
[mecon/samurai.git] / sistema / www / permisos / permisos.php
index 310da6cb4a6e0e60cc9d941f80861ff515f6ed72..bafa5f60d7ba02b48209b3802b6571d5a09d94f6 100644 (file)
 //
 // $Id$
 // 
 //
 // $Id$
 // 
-    
-    require_once 'MECON/HTML/Tabla.php';
-    require_once 'SAMURAI/Permiso.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);
+//}}}
+
+//REQUIRE ONCE {{{
+require_once 'MECON/HTML/Image.php';
+require_once 'MECON/HTML/Link.php';
+require_once 'MECON/HTML/TablaDB.php';
+require_once 'SAMURAI/Permiso.php';
+//}}}
 
 
-//LINKS A PERMISOS-ABM {{{
-    $aH         = '<a href="permisos-abm?accion=##ACCION##&idPermiso=##NUEVO##">';
-    $aHModif    = $aH.'<img src="/MECON/images/general_modificar.gif" border="0" alt="Modificar Permiso"></a>';
-    $aHElim     = $aH.'<img src="/MECON/images/general_eliminar.gif"  border="0" alt="Eliminar Permiso" ></a>';
-    $aHModifdes = '<img src="/MECON/images/general_modificar_des.gif" border="0" alt="No se puede modificar Permiso">';
-    $aHElimdes  = '<img src="/MECON/images/general_eliminar_des.gif"  border="0" alt="No se puede eliminar Permiso">';
-// }}}
 //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{
 //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{
-if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) {
-    header('Location: ./../sel-sistema');    
+if (!@$_SESSION['samurai']['id_sistema']) {
+    header('Location: ./../sel-sistema?redirect=permisos/permisos');    
 }
 }
-// }}}   
-//CREO LOS OBJETOS NECESARIOS {{{
-    $TABLA2 = new Tabla ('cellspacing=0');
-    $TABLA  = new Tabla ('cellpadding=2');
-// }}}
+//}}}   
+
 //OBTENGO LA INFORMACION DE LA BASE {{{
 //OBTENGO LA INFORMACION DE LA BASE {{{
-    $permisos = SAMURAI_Permiso::getPermisos($DB);
+$res = SAMURAI_Permiso::getPermisosPager($DB);
+if (PEAR::isError($res)) {
+    trigger_error('Error: ' . $res->getMessage() . "\n", E_USER_ERROR);
+}
+
 // }}}
 // }}}
-//AGREGO LOS DATOS A LAS TABLAS {{{
-    $row   = array ($aH.'<img src="/MECON/images/general_nuevo.gif" border="0">Ingresar Nuevo Permiso</a>');
-    $TABLA2->addRow($row,'align=right');    
-    $row   = array ('Id','Descripcion','Modif.','Elim.');
-    $TABLA->addRow($row,'cabecera');
-    
-    foreach ($permisos as $permiso) {
-        if ($permiso->asociadoASistema()) {
-            $Modif = $aHModifdes;
-            $Elim  = $aHElimdes;
-        }
-        else {
-            $Modif = ereg_replace('##NUEVO##'  , $permiso->getId(), $aHModif);
-            $Elim  = ereg_replace('##NUEVO##'  , $permiso->getId(), $aHElim );
-            $Modif = ereg_replace('##ACCION##' , 'm'              , $Modif     );
-            $Elim  = ereg_replace('##ACCION##' , 'e'              , $Elim      );
-        }
-        $row = array (  $permiso->getId(),
-                        $permiso->getDescripcion(),
-                        $Modif,
-                        $Elim,
-                    );
-        $TABLA->addRow($row);
+
+//CREO LA TABLA DE PERMISOS {{{
+$TABLA =& new MECON_HTML_TablaDB ('Permisos');
+$TABLA->addLink(
+        'nuevo', 
+        new MECON_HTML_Link(
+            'permisos-abm', 'Nuevo Permiso', 
+            array (
+                'accion' => '##ACCION##',
+                'idPermiso' => '##NUEVO##'
+                )
+            )
+        );
+$TABLA->addRow(array('Id', 'DescripciĆ³n', 'Modif.', 'Elimn.'), 'cabecera');
+$pager = $TABLA->addPager($res, null, new MECON_HTML_Link ('permisos', null), 25);
+
+//Agrego las columnas de modificacion y eliminacion {{{
+//Modificar {{{
+$TABLA->addRowsData('%s',
+            array (
+                array (
+                    array (
+                        'id_permiso',
+                        'cuenta'
+                        ),
+                    'modificar_callback'
+                    )
+                )
+        );
+
+function modificar_callback($param) {
+    if ($param['cuenta']) {
+        //DesHabilitado
+        $tmp =& new MECON_HTML_Image (
+                '/MECON/images/general_modificar_des.gif',
+                '(m)'
+                );
+        return $tmp->toHtml();
     }
     }
-// }}}
+    else {
+        //Habilitado
+        $tmp =& new MECON_HTML_Link (
+                'permisos-abm',
+                new MECON_HTML_Image (
+                    '/MECON/images/general_modificar.gif',
+                    '(M)'
+                    ),
+                array (
+                    'accion' => 'm',
+                    'idPermiso' => $param['id_permiso'] 
+                    )
+                );
+        return $tmp->toHtml();
+    }
+}
+//}}}
+//Eliminar {{{
+$TABLA->addRowsData('%s',
+            array (
+                array (
+                    array (
+                        'id_permiso',
+                        'cuenta'
+                        ),
+                    'eliminar_callback'
+                    )
+                )
+        );
+
+function eliminar_callback($param) {
+    if ($param['cuenta']) {
+        //DesHabilitado
+        $tmp =& new MECON_HTML_Image (
+                '/MECON/images/general_eliminar_des.gif',
+                '(e)'
+                );
+        return $tmp->toHtml();
+    }
+    else {
+        //Habilitado
+        $tmp =& new MECON_HTML_Link (
+                'permisos-abm',
+                new MECON_HTML_Image (
+                    '/MECON/images/general_eliminar.gif',
+                    '(E)'
+                    ),
+                array (
+                    'accion' => 'e',
+                    'idPermiso' => $param['id_permiso'] 
+                    )
+                );
+        return $tmp->toHtml();
+    }
+}
+//}}}
+//}}}
+
+$TABLA->addRows($pager, array ('id_permiso', 'desc_permiso'));
+$TABLA->updateColAttributes(0,'width="10%" ');
+$TABLA->updateColAttributes(1,'width="70%"');
+$TABLA->updateColAttributes(2,'width="10%"');
+$TABLA->updateColAttributes(3,'width="10%"');
+//}}}
+
 //DIBUJO LA PAGINA {{{
 //DIBUJO LA PAGINA {{{
-    $MARCO = new Marco ('../../conf/confSecciones.php');
-    $MARCO->addBody($TABLA2->toHtml(1));
     $MARCO->addBody($TABLA);
     $MARCO->display();
 // }}}
     $MARCO->addBody($TABLA);
     $MARCO->display();
 // }}}
-//FIN
 ?>
 ?>