]> git.llucax.com Git - mecon/samurai.git/blobdiff - lib/SAMURAI/HTML/Perfil.php
Se agrega un método para obtener todos los usuarios que tienen un determinado permiso...
[mecon/samurai.git] / lib / SAMURAI / HTML / Perfil.php
index 10dd15f60cfc026487e28bbe689a329a119b097d..72af3dcaedbb9d26b0ee2eb5452f18f5301bf6c2 100644 (file)
@@ -128,7 +128,7 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
     //LISTADO {{{
     if ($OPCION == 'listado') {
         //VEO SI PUEDE ACCEDER{{{
-        $SAMURAI_PERM->chequear(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PERFIL);
+        $SAMURAI_PERM->chequear(SAMURAI_PERM_PERFIL_ALTA,SAMURAI_PERM_PERFIL_BAJA,SAMURAI_PERM_PERFIL_MODIF);
         //}}}
         //LINKS {{{
             $aHref      = '<a href="'.$_SERVER['PHP_SELF'].'?accion=##ACCION##&id_perfil=##NUEVO##&samurai_perfiles=abm">';
@@ -150,20 +150,20 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
             $TABLA3->addRow($row,'align=left'); 
 
             //Agrego el link a nuevo
-            if ($SAMURAI_PERM->tiene(SAMURAI_ALTA_PERFIL)) {
+            if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_ALTA)) {
                 $row   = array ('<a href="'.$_SERVER['PHP_SELF'].'?samurai_perfiles=nuevo"><img src="/MECON/images/general_nuevo.gif" border="0">Ingresar&nbsp;Nuevo&nbsp;Perfil</a>');
                 $TABLA2->addRow($row,'align=right');    
             }
 
             //Genero la cabecera de la tabla
-            $row   = array ('Id','Descripcion');
-            if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+            $row   = array ('Id','Descripción');
+            if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_TIPO)) {
                 $row[] = 'Tipo';
             }    
-            if ($SAMURAI_PERM->tiene(SAMURAI_MODI_PERFIL)) {
+            if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_MODIF)) {
                 $row[] = 'Modif.';
             }    
-            if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_PERFIL)) {
+            if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_BAJA)) {
                 $row[] = 'Elim.';
             }    
             
@@ -175,13 +175,13 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
                 $Elim  = ereg_replace('##ACCION##', 'e'             , $Elim      );
                 $row = array ($perfil->getId(), $perfil->getDescripcion());
                 
-                if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+                if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_TIPO)) {
                     $row[] = $perfil->getTipo();
                 }    
-                if ($SAMURAI_PERM->tiene(SAMURAI_MODI_PERFIL)) {
+                if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_MODIF)) {
                     $row[] = $Modif;
                 }    
-                if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_PERFIL)) {
+                if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_BAJA)) {
                     $row[] = $Elim;
                 }    
                 $TABLA->addRow($row);
@@ -197,7 +197,7 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
     //NUEVO {{{
     elseif ($OPCION == 'nuevo') {
         //VEO SI PUEDE ACCEDER{{{
-        $SAMURAI_PERM->chequear(SAMURAI_ALTA_PERFIL);
+        $SAMURAI_PERM->chequear(SAMURAI_PERM_PERFIL_ALTA);
         //}}}
         //CREO LOS OBJETO NECESARIOS {{{
             $FORM    =& new MECON_HTML_QuickForm ('samurai_perfiles','post',$_SERVER['PHP_SELF']);
@@ -240,15 +240,13 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
                     $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.");
+                        $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'], $id_sistema)) {
-                            $res = new PEAR_Error("El sistema ya tiene asociado el perfil seleccionado, 
-                                                   modifique sus permisos desde la seccion perfiles.");
+                            $res = new PEAR_Error("El sistema ya tiene asociado el perfil seleccionado, modifique sus permisos desde la seccion perfiles.");
                         }
                         else {
                             header('Location: '.$_SERVER['PHP_SELF'].'?samurai_perfiles=abm&id_perfil='.$tmp['0']);
@@ -268,9 +266,7 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
                         $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)");
+                            $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
@@ -303,7 +299,7 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
     //ABM {{{
     elseif ($OPCION == 'abm') {
         //VEO SI PUEDE ACCEDER{{{
-        $SAMURAI_PERM->chequear(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PERFIL);
+        $SAMURAI_PERM->chequear(SAMURAI_PERM_PERFIL_ALTA,SAMURAI_PERM_PERFIL_BAJA,SAMURAI_PERM_PERFIL_MODIF);
         //}}}
         //CREO LOS OBJETO NECESARIOS {{{
             if (@$_GET['id_perfil']) {
@@ -315,6 +311,22 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
             else {
                 $id_perfil = null;
             }
+            //XXX OBTENGO LA ACCION {{{
+            switch (@$_REQUEST['accion']) {
+                case 'm':
+                    $b_accion = 'Modificar';
+                    $accion = 'm';
+                    break;
+                case 'e':
+                    $b_accion = 'Eliminar';
+                    $accion = 'e';
+                    break;
+                default:
+                    $b_accion = 'Grabar';
+                    $accion = '';
+                    break;
+            }       
+            //}}}        
             $FORM    =& new MECON_HTML_QuickForm ('samurai_perfiles','post',$_SERVER['PHP_SELF']);
             $SISTEMA =& new SAMURAI_Sistema ($DB, $id_sistema);
             $PERFIL  =& new SAMURAI_Perfil ($DB, $id_perfil, $id_sistema);
@@ -351,13 +363,14 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
                 $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 ('static', 'desc_perfil', 'Descripción', $descripcion);
                 $FORM->addElement ('select', 'permisos'   , 'Permisos'   , $PERMISOS, array('size' => '5', 'multiple' => 'true'));
-                if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+                if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_TIPO)) {
                     $FORM->addElement ('select', 'tipo_perfil', 'Tipo Perfil', array('E' => 'Externo', 'I' => 'Interno', 'D' => 'Dios'), array ('size' => '1'));
                 }
                 $FORM->addElement ('hidden', 'responsable', $responsable);
-                $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
+                $FORM->addElement ('hidden', 'accion', $accion);
+                $group[] = HTML_QuickForm::createElement('submit', 'aceptar', $b_accion);
                 $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location=\''.$_SERVER['PHP_SELF'].'\';return false;'));
                 $FORM->addGroup($group,'botones');
             }
@@ -375,7 +388,7 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
                 $desc_perfil  =& $FORM->getElement  ('desc_perfil');
                 $permisos     =& $FORM->getElement  ('permisos'   );
                 
-                if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+                if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_TIPO)) {
                     $tipo_perfil  =& $FORM->getElement  ('tipo_perfil');
                 }
                 $responsable  =& $FORM->getElement  ('responsable');
@@ -385,7 +398,7 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
 
                 $permisos->setSelected($PERFIL->getPermisos());
                 
-                if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+                if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_TIPO)) {
                     $tipo_perfil->setSelected($PERFIL->getTipo());
                 }
 
@@ -419,7 +432,7 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
                     $desc_perfil  =& $FORM->getElement  ('desc_perfil');
                     $permisos     =& $FORM->getElement  ('permisos'   );
                     
-                    if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+                    if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_TIPO)) {
                         $tipo_perfil  =& $FORM->getElement  ('tipo_perfil');
                         $tipo_perfil_tmp  =  $tipo_perfil->getSelected();
                     }
@@ -432,7 +445,7 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) {
                     $PERFIL->setResponsable($responsable->getValue());
                     $PERFIL->setPermisos   ($permisos->getSelected()); //Le asigno al perfil los permisos seleccionados
                     
-                    if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+                    if ($SAMURAI_PERM->tiene(SAMURAI_PERM_PERFIL_TIPO)) {
                         $PERFIL->setTipo($tipo_perfil_tmp['0']);
                     }