X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/6e0df7b212f1a721cf8df887c629b67957871225..bfb8e871c0f11bd56529ddc1d1852bfa974b3dc0:/lib/AI/Sistema.php diff --git a/lib/AI/Sistema.php b/lib/AI/Sistema.php index 7a54776..84a074e 100644 --- a/lib/AI/Sistema.php +++ b/lib/AI/Sistema.php @@ -28,6 +28,8 @@ // require_once 'AI/Error.php'; +// TODO - preguntar a gmeray si le sirve, yo no lo uso... +require_once 'SAMURAI/Sistema.php'; // +X2C Class 416 :AI_Sistema /** @@ -45,6 +47,22 @@ class AI_Sistema { */ var $sistema = 0; + /** + * Nombre del sistema (slo de lectura, extra?o de SAMURAI). + * + * @var string $nombre + * @access public + */ + var $nombre = ''; + + /** + * Descripcin del sistema (slo de lectura, extra?o de SAMURAI). + * + * @var string $descripcion + * @access public + */ + var $descripcion = ''; + /** * ?ono del sistema. * @@ -124,10 +142,15 @@ class AI_Sistema { // Asigno valores al objeto. extract($row); $this->sistema = $sistema; - $this->icono = $icono; # FIXME - new HTML_Icono (o no?) + $this->icono = $icono; $this->link = $link; $this->link_ayuda = $link_ayuda; $this->habilitado = $habilitado; + // Obtengo datos de SAMURAI. FIXME - preguntar a marrese por manejo de errores. + // TODO - preguntar a gmeray si le sirve, yo no lo uso... + #$sist = new SAMURAI_Sistema($db, $sistema); + #$this->nombre = $sist->getNombre(); + #$this->descripcion = $sist->getDescripcion(); return true; } // -X2C @@ -135,11 +158,12 @@ class AI_Sistema { // +X2C Operation 459 /** * @param DB $db DB donde guardar. + * @param bool $nuevo Si es true, se fuerza a guardar el servicio como nuevo. * * @return PEAR_Error * @access public */ - function guardar($db) // ~X2C + function guardar($db, $nuevo = false) // ~X2C { $sistema = intval($this->sistema); $where = ''; @@ -149,18 +173,19 @@ class AI_Sistema { 'link_ayuda' => $this->link_ayuda, 'habilitado' => $this->habilitado ? 1 : 0, ); - // FIXME - buscar otra forma de distinguir entre INSERT y UPDATE. - if ($sistema) { + if ($sistema and !$nuevo) { $accion = DB_AUTOQUERY_UPDATE; $where = "sistema = $sistema"; } else { - $accion = DB_AUTOQUERY_INSERT; - $sistema = $db->nextId('sistema'); - if (DB::isError($sistema)) { - return $sistema; + $accion = DB_AUTOQUERY_INSERT; + // Si no tiene ID, le asigno uno nuevo. + if (!$sistema) { + $sistema = $db->nextId('sistema'); + if (DB::isError($sistema)) { + return $sistema; + } + $this->sistema = $sistema; } - // Asigno el nuevo id de sistema. - $this->sistema = $sistema; $datos['sistema'] = $sistema; } $res = $db->autoExecute('sistema', $datos, $accion, $where);