#require_once 'PEAR.php';
-
-
// +X2C Class 208 :SAMURAI_Perfil
/**
* Clase para el manejo de los perfies.
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
}
//GRABO EN PERFIL
- if (!$this->getId()) {
+ if ($nuevo) {
$datos = array (
'id_perfil' => $idPerfil,
'desc_perfil' => $this->getDescripcion(),
}
while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
array_push($rta,$re['id_perfil']);
- }
+ }
$res->free();
return $rta;
}
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.");
}
}