]> git.llucax.com Git - mecon/samurai.git/blobdiff - lib/SAMURAI/Perfil.php
Agregando los popups
[mecon/samurai.git] / lib / SAMURAI / Perfil.php
index a74a16fd8b8da7bdf6b5556f56b0f3d97c8edc6e..87bc1cea92afcaca0bd4dc071913ebf91f852554 100644 (file)
@@ -26,8 +26,6 @@
 
 #require_once 'PEAR.php';
 
-
-
 // +X2C Class 208 :SAMURAI_Perfil
 /**
  * Clase para el manejo de los perfies.
@@ -313,10 +311,12 @@ class SAMURAI_Perfil {
     function _grabarDb() // ~X2C
     {
         //Obtengo el id del perfil de ser necesario
+        $nuevo = 0;
         if (!$this->getId()) { 
             //No existe el perfil. Lo cargo por primera vez.
             $idPerfil = $this->_db->nextId('perfil');
             $this->setId($idPerfil);       
+            $nuevo = 1;
         }        
        
         //GRABO EN PERM_PERFIL_SIST
@@ -326,7 +326,7 @@ class SAMURAI_Perfil {
         }
 
         //GRABO EN PERFIL
-        if (!$this->getId()) { 
+        if ($nuevo) { 
             $datos = array (
                         'id_perfil'   => $idPerfil,
                         'desc_perfil' => $this->getDescripcion(),
@@ -460,7 +460,7 @@ class SAMURAI_Perfil {
         }
         while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
             array_push($rta,$re['id_perfil']);
-        }        
+        }
         $res->free();
         return $rta;
     }
@@ -585,11 +585,13 @@ class SAMURAI_Perfil {
         while ($re  = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
             $perm[$re['id_perfil']][] = $re['id_permiso'].'##'.$re['observaciones'];
         }
-        foreach ($perm as $p) {
+        foreach ($perm as $key => $p) {
             $rta1 = array_diff($p, $this->getPermisos());
             $rta2 = array_diff($this->getPermisos(), $p);
             if (!$rta1 && !$rta2) {
-                return new PEAR_Error("Ya existe un perfil con esos mismos permisos");
+            echo 1;
+                $perf = new SAMURAI_Perfil($this->_db, $key);
+                return new PEAR_Error("El perfil \"".$perf->getDescripcion()."\" contiene los mismos permisos.");
             }
         }