X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/6e0df7b212f1a721cf8df887c629b67957871225..61fdd4f7e9019fdd5c4e3b5d9c43ab5d3506a11c:/lib/AI/Sistema.php diff --git a/lib/AI/Sistema.php b/lib/AI/Sistema.php index 7a54776..db06701 100644 --- a/lib/AI/Sistema.php +++ b/lib/AI/Sistema.php @@ -135,11 +135,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 +150,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);