X-Git-Url: https://git.llucax.com/mecon/yatta.git/blobdiff_plain/8d4c0f0f27f064fae5f7b9f3baca5efe1b079725..eef7bbdcbc0b81841b64bac698647bd0877afd41:/lib/YATTA/ProcesoDB.php diff --git a/lib/YATTA/ProcesoDB.php b/lib/YATTA/ProcesoDB.php index 5e0138b..3f7b51a 100644 --- a/lib/YATTA/ProcesoDB.php +++ b/lib/YATTA/ProcesoDB.php @@ -108,6 +108,7 @@ class YATTA_ProcesoDB extends MECON_DBO { * 2 = Finalizado * 3 = Error * 4 = Abortado + * 5 = Abortar * * @var int $status * @access public @@ -187,6 +188,14 @@ class YATTA_ProcesoDB extends MECON_DBO { * @access public */ var $icono = null; + + /** + * Indica si el proceso esta activo (No fue borrado por el usuario). + * + * @var int $activo + * @access public + */ + var $activo = null; /** * Carga el objeto con los datos que se pasan por parametro. @@ -227,6 +236,7 @@ class YATTA_ProcesoDB extends MECON_DBO { $this->archivo = $res['archivo']; $this->nota = $res['nota']; $this->icono = $res['icono']; + $this->activo = $res['activo']; return true; } return false; @@ -242,7 +252,25 @@ class YATTA_ProcesoDB extends MECON_DBO { */ function borrar($db = null) { - trigger_error('Not implemented!', E_USER_WARNING); + if (!is_null($this->id)) { + $res = $this->buscar($db); + if (DB::isError($res)) { + return $res; + } + $this->cargar($res); + + if (is_null($this->archivo) || is_null($this->resultado)) { + return $db->query('DELETE FROM yatta.procesos WHERE id = '. + $this->id); + } + else { + return $db->query ('UPDATE yatta.procesos SET activo = 0'. + ' WHERE id = '. $this->id); + } + } + else { + return new PEAR_Error('Debe definirse el id del proceso a borrar.'); + } } /** @@ -321,6 +349,9 @@ class YATTA_ProcesoDB extends MECON_DBO { if (!is_null($this->nota)) { $where[] = 'p.nota LIKE '. $db->quote("%$this->nota%"); } + if (!is_null($this->activo)) { + $where[] = 'p.activo = '. $this->activo; + } if ($where) { $where = 'WHERE p.owner = '. $db->quote("$this->owner"). 'AND p.id_sistema = s.id_sistema AND ('. join ("$operador @@ -367,7 +398,7 @@ class YATTA_ProcesoDB extends MECON_DBO { ")". ")". ")". - ") AS icono + ") AS icono, p.activo AS activo FROM yatta.procesos AS p, samurai.sistema AS s $where $orden"); @@ -384,78 +415,9 @@ class YATTA_ProcesoDB extends MECON_DBO { */ function guardar($db = null, $nuevo = true) { -/* - //@TODO PASAR ESTO A UNA CLASE SERVIDOR - //Busco el servidor - $res = $db->query('SELECT id, escala * procesos AS ponderacion - FROM yatta.servidores - ORDER BY ponderacion, escala'); - $res = $res->fetchRow(DB_FETCHMODE_ASSOC); - // Si hay error lo devuelve. - if (DB::isError($res)) { - return $res; - } - $this->server = $res['id']; - //Asigno la fecha - if (@is_null($this->fecha)) { - $this->fecha = date ('Y-m-d'); - } - - if ($nuevo) { - $datos = array ( - 'fecha' => $this->fecha, - 'script' => $this->script, - 'id_sistema' => $this->id_sistema, - 'descripcion' => $this->descripcion, - 'pid' => $this->pid, - 'server' => $this->server, - 'status' => $this->status, - 'owner' => $this->owner, - 'destinos' => $this->destinos, - 'prioridad' => $this->prioridad, - 'scheduling' => $this->scheduling, - 'notificar' => $this->notificar, - 'resultado' => $this->resultado, - 'archivo' => $this->archivo, - 'nota' => $this->nota - ); - - $res = $db->autoExecute('yatta.procesos', $datos, - DB_AUTOQUERY_INSERT); - } - else { - $datos = array ( - 'fecha' => $this->fecha, - 'script' => $this->script, - 'id_sistema' => $this->id_sistema, - 'descripcion' => $this->descripcion, - 'pid' => $this->pid, - 'server' => $this->server, - 'status' => $this->status, - 'owner' => $this->owner, - 'destinos' => $this->destinos, - 'prioridad' => $this->prioridad, - 'scheduling' => $this->scheduling, - 'notificar' => $this->notificar, - 'resultado' => $this->resultado, - 'archivo' => $this->archivo, - 'nota' => $this->nota - ); - - $res = $db->autoExecute('yatta.procesos', $datos, - DB_AUTOQUERY_UPDATE, 'id = '.$this->id); - - } - - if (DB::isError($res)) { - return $res; - } - - return $db->query(' - UPDATE yatta.servidores - SET procesos = procesos + 1 - WHERE id = '. $this->server); -*/ + return $db->query ('UPDATE yatta.procesos SET nota = \''.$this->nota. + '\', status = '.$this->status. + ' WHERE id = '. $this->id); } /** @@ -483,6 +445,7 @@ class YATTA_ProcesoDB extends MECON_DBO { $this->archivo = null; $this->nota = null; $this->icono = null; + $this->activo = null; } /** @@ -502,6 +465,7 @@ class YATTA_ProcesoDB extends MECON_DBO { 'scheduling' => $this->scheduling, 'notificar' => $this->notificar, 'resultado' => $this->resultado, + 'activo' => $this->activo, ); } }