X-Git-Url: https://git.llucax.com/mecon/yatta.git/blobdiff_plain/8d84b12d48c2e4c74c2c2c45aef0dff7c8cd14bf..763af8f8638f2e6c8833c1faf01f0dfa76259774:/lib/YATTA/Proceso.php?ds=inline diff --git a/lib/YATTA/Proceso.php b/lib/YATTA/Proceso.php index 0f7c963..df7310c 100644 --- a/lib/YATTA/Proceso.php +++ b/lib/YATTA/Proceso.php @@ -172,6 +172,14 @@ class YATTA_Proceso extends MECON_DBO { * @access public */ var $nota = null; + + /** + * Descripcion del estado. + * + * @var string $icono + * @access public + */ + var $icono = null; /** * Carga el objeto con los datos que se pasan por parametro. @@ -185,6 +193,7 @@ class YATTA_Proceso extends MECON_DBO { { // Si es un resultado, obtengo los elemento. if (is_a($db, 'db_result')) { + $this->predefinirAtributos(); $res = $db->fetchRow(DB_FETCHMODE_ASSOC); // Si hay error lo devuelve. if (DB::isError($res)) { @@ -193,27 +202,28 @@ class YATTA_Proceso extends MECON_DBO { elseif (!$res) { return false; } + + $this->id = $res['id']; + $fecha =& new Date ($res['fecha'].' 00:00:00'); + $this->fecha = $fecha; + $this->script = $res['script']; + $this->id_sistema = $res['id_sistema']; + $this->nombre_sistema = $res['nombre_sistema']; + $this->descripcion = $res['descripcion']; + $this->pid = $res['pid']; + $this->server = $res['server']; + $this->status = $res['status']; + $this->owner = $res['owner']; + $this->destinos = split(',', $res['destinos']); + $this->prioridad = $res['prioridad']; + $this->scheduling = $res['scheduling']; + $this->notificar = $res['notificar']; + $this->resultado = $res['resultado']; + $this->nota = $res['nota']; + $this->icono = $res['icono']; + return true; } - - $this->id = $res['id']; - $fecha =& new Date ($res['fecha'].' 00:00:00'); - $this->fecha = $fecha; - $this->script = $res['script']; - $this->id_sistema = $res['id_sistema']; - $this->nombre_sistema = $res['nombre_sistema']; - $this->descripcion = $res['descripcion']; - $this->pid = $res['pid']; - $this->server = $res['server']; - $this->status = $res['status']; - $this->owner = $res['owner']; - $this->destinos = split(',', $res['destinos']); - $this->prioridad = $res['prioridad']; - $this->scheduling = $res['scheduling']; - $this->notificar = $res['notificar']; - $this->resultado = $res['resultado']; - $this->nota = $res['nota']; - - return true; + return false; } /** @@ -242,6 +252,9 @@ class YATTA_Proceso extends MECON_DBO { function buscar($db = null, $operador = MECON_DBO_OR, $orden = null) { // Armo el WHERE. + if (is_null($this->owner)) { + return new PEAR_Error ('Debe definirse el Owner del proceso.'); + } $where = array(); if (!is_null($this->id)) { $where[] = 'p.id = '.$this->id; @@ -257,16 +270,16 @@ class YATTA_Proceso extends MECON_DBO { $where[] = 'p.fecha = '. $db->quote("$fecha"); } if (!is_null($this->script)) { - $where[] = 'p.script LIKE'. $db->quote("%$this->script%"); + $where[] = 'p.script LIKE '. $db->quote("%$this->script%"); } if (!is_null($this->id_sistema)) { $where[] = 'p.id_sistema = '. $this->id_sistema; } if (!is_null($this->nombre_sistema)) { - $where[] = 's.nombre_sistema LIKE'. $db->quote("%$this->nombre_sistema%"); + $where[] = 's.nombre_sistema LIKE '. $db->quote("%$this->nombre_sistema%"); } if (!is_null($this->descripcion)) { - $where[] = 'p.descripcion LIKE'. $db->quote("%$this->descripcion%"); + $where[] = 'p.descripcion LIKE '. $db->quote("%$this->descripcion%"); } if (!is_null($this->pid)) { $where[] = 'p.pid = '.$this->pid; @@ -277,40 +290,39 @@ class YATTA_Proceso extends MECON_DBO { if (!is_null($this->status)) { $where[] = 'p.status = '.$this->status; } - if (!is_null($this->owner)) { - $where[] = 'p.owner LIKE'. $db->quote("%$this->owner%"); - } if (!is_null($this->destinos)) { if (is_array($this->destinos)) { foreach ($this->destinos as $destino) { - $where[] = 'p.destinos LIKE'. $db->quote("%$destino"); + $where[] = 'p.destinos LIKE '. $db->quote("%$destino"); } } else { - $where[] = 'p.destinos LIKE'. $db->quote("%$this->destinos%"); + $where[] = 'p.destinos LIKE '. $db->quote("%$this->destinos%"); } } if (!is_null($this->prioridad)) { $where[] = 'p.prioridad = '.$this->prioridad; } if (!is_null($this->scheduling)) { - $where[] = 'p.scheduling LIKE'. $db->quote("%$this->scheduling%"); + $where[] = 'p.scheduling LIKE '. $db->quote("%$this->scheduling%"); } if (!is_null($this->notificar)) { $where[] = 'p.notificar ='. $this->notificar; } if (!is_null($this->resultado)) { - $where[] = 'p.resultado LIKE'. $db->quote("%$this->resultado%"); + $where[] = 'p.resultado LIKE '. $db->quote("%$this->resultado%"); } if (!is_null($this->nota)) { - $where[] = 'p.nota LIKE'. $db->quote("%$this->nota%"); + $where[] = 'p.nota LIKE '. $db->quote("%$this->nota%"); } if ($where) { - $where = 'WHERE p.id_sistema = s.id_sistema AND ('. join ("$operador + $where = 'WHERE p.owner = '. $db->quote("$this->owner"). + 'AND p.id_sistema = s.id_sistema AND ('. join ("$operador ", $where).')'; } else { - $where = ''; + $where = 'WHERE p.owner = '. $db->quote("$this->owner"). + 'AND p.id_sistema = s.id_sistema'; } // Armo el ORDER BY. if (is_string($orden)) @@ -331,7 +343,23 @@ class YATTA_Proceso extends MECON_DBO { p.server AS server, p.status AS status, p.owner AS owner, p.destinos AS destinos, p.prioridad AS prioridad, p.scheduling AS scheduling, p.notificar AS notificar, p.resultado AS - resultado, p.nota AS nota + resultado, p.nota AS nota,". + "IF (p.status = 0, 'El proceso esta en cola. Aun no se ejecuto.". + "', ". + "IF(p.status = 1, 'El proceso se esta ejecutando en este momento.". + "',". + "IF(p.status = 2, 'El proceso ha finalizado. ". + "',". + "IF(p.status = 3, 'Se produjo un error durante la ejecucion". + " del proceso.". + "',". + "'El proceso fue detenido por alguna persona (el responsable o". + " el administrador).". + "'". + ")". + ")". + ")". + ") AS icono FROM yatta.procesos AS p, samurai.sistema AS s $where $orden"); @@ -415,6 +443,7 @@ class YATTA_Proceso extends MECON_DBO { $this->notificar = null; $this->resultado = null; $this->nota = null; + $this->icono = null; } } ?> \ No newline at end of file