{
// 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)) {
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'];
+ 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;
}
/**
$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;
$where[] = 'p.status = '.$this->status;
}
if (!is_null($this->owner)) {
- $where[] = 'p.owner LIKE'. $db->quote("%$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).')';
}
else {
- $where = '';
+ $where = 'WHERE p.id_sistema = s.id_sistema';
}
// Armo el ORDER BY.
if (is_string($orden))
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.".
+ " Puede abortar su ejecucion presionando en el icono.', ".
+ "IF(p.status = 1, 'El proceso se esta ejecutando en este momento.".
+ " Puede abortar su ejecucion presionando en el icono.',".
+ "IF(p.status = 2, 'El proceso ha finalizado. ".
+ "Puede buscar el resultado en la seccion archivos.',".
+ "IF(p.status = 3, 'Se produjo un error durante la ejecucion".
+ " del proceso. Presionando sobre el icono puede ver una".
+ " explicacion del mismo.',".
+ "'El proceso fue detenido por alguna persona (el responsable o".
+ " el administrador). Presionando sobre el icono puede ver una ".
+ "explicacion.'".
+ ")".
+ ")".
+ ")".
+ ") AS icono
FROM yatta.procesos AS p, samurai.sistema AS s
$where
$orden");
//Require Once {{{
require_once 'MECON/HTML/TablaDB.php';
-require_once 'MECON/HTML/QuickForm.php';
-require_once 'MECON/HTML/Link.php';
+require_once 'MECON/HTML/Tabla.php';
require_once 'MECON/HTML/Image.php';
+require_once 'MECON/HTML/Link.php';
+require_once 'YATTA/Proceso.php';
//}}}
-//Creo el formulario de filtro {{{
-$FORM =& new MECON_HTML_QuickForm ('procesos','get','procesos');
-$FORM->renderer->updateAttributes ('width="350"');
-$FORM->addElement('header', 'cabecera', 'Filtrar Procesos');
-$FORM->addElement('text', 'sistema', 'Sistema', array('size'=>'30'));
-$FORM->addElement('text', 'descripcion', 'Descripcion', array('size'=>'30'));
-$FORM->addElement ('mdate', 'fecha', 'Fecha');
-$FORM->addElement('select', 'status', 'Estado', array(' -- '=>' -- ',
- 'En_Espera' => 'En Espera', 'Procesando' => 'Procesando',
- 'Finalizado' => 'Finalizado', 'Error' => 'Error', 'Abortado' =>
- 'Abortado'));
-$group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Filtrar');
-$FORM->addGroup($group,'botones');
-//}}}
+//Obtengo la informacion de la base y la agrego a la tabla {{{
+$TABLADB = new MECON_HTML_TablaDB ('Procesos');
+$TABLADB->addRow(array(
+ 'Listado de Procesos'
+ ), 'cabecera colspan="4" align="left"');
+$TABLADB->addRow(array(
+ 'Id', 'Fecha', 'Sistema', 'Descripcion', 'Estado'
+ ),'titulo');
+
+$PROCESO =& new YATTA_Proceso;
+$res = $PROCESO->buscar($DB, MECON_DBO_AND, ' id ASC');
+if (PEAR::isError($res)) {
+ die('Error: ' . $res->getMessage() . "\n");
+}
-//Valido el formulario {{{
-if ($FORM->validate()) {
- //Creo la tabla de resultados {{{
- $TABLADB = new MECON_HTML_TablaDB ('Usuarios');
- $TABLADB->addRow(array(
- 'Listado de Procesos'
- ), 'cabecera colspan="4" align="left"');
- $TABLADB->addRow(array(
- 'Id', 'Fecha', 'Sistema', 'Descripcion', 'Estado'
- ),'titulo');
- //}}}
+$pager = $TABLADB->addPager($res, null,
+ new MECON_HTML_Link
+ ('procesos', null
+ )
+ );
- //FIXME Usar YATTA_Proceso
+$desc_estado_0 = 'MARTIN';
+$desc_estado_1 = 'MYRNA';
- //Agrego la info a la tabla {{{
- if (@$procesos) {
- foreach ($procesos as $proceso) {
- //Switcheo por el status {{{
- switch ($proceso['status']) {
- case '0':
- $estado = new MECON_HTML_Link (
- 'procesos_stop',
- new MECON_HTML_Image
- ('/sistemas/yatta/images/espera',
- $proceso['status'])
- );
- break;
- case '1':
- case '2':
- $estado = new MECON_HTML_Link (
- 'procesos_stop',
- new MECON_HTML_Image
- ('/sistemas/yatta/images/procesando',
- $proceso['status'])
- );
- break;
- case '3':
- $estado = new MECON_HTML_Link ('archivos',
- new MECON_HTML_Image ('/sistemas/yatta/images/fin',
- $proceso['status']));
- break;
- case '4':
- $estado = new MECON_HTML_Link (
- 'procesos_info',
- new MECON_HTML_Image
- ('/sistemas/yatta/images/error',
- $proceso['status']),
- array ('mensaje' => $proceso['nota']),
- array (
- 'OnClick' =>
- "javascript:window.open('popups/procesos','Procesos',".
- "'width=400,height=300,scrollbars=yes');return false;",
- 'target' => '_blank')
- );
- break;
- case '5':
- $estado = new MECON_HTML_Link (
- 'procesos_info',
- new MECON_HTML_Image
- ('/sistemas/yatta/images/abortado',
- $proceso['status']),
- array ('mensaje' => $proceso['nota']),
- array (
- 'OnClick' =>
- "javascript:window.open('popups/procesos','Procesos',".
- "'width=400,height=300,scrollbars=yes');return false;",
- 'target' => '_blank')
- );
- break;
- }
- //}}}
+$TABLADB->addRowsData('<a href="procesos_popup?id=%s" '.
+ 'OnClick="javascript:window.open(\'procesos_popup?id=%s\','.
+ '\'proc\', \'width=400,height=300,scrollbars=yes\');'.
+ 'return false;" target="_blank">'.
+ "<img src=\"/sistemas/yatta/images/estado_%s.gif\" alt=\"%s\"".
+ ' border=0></a>', array ('id', 'id', 'status', 'icono'));
- $row = $TABLADB->addRow(array(
- $proceso['id'],
- $proceso['fecha'],
- $proceso['nombre_sistema'],
- $proceso['descripcion'],
- $estado,
- ));
+$TABLADB->addRows($pager, array ('id', 'fecha', 'nombre_sistema', 'descripcion'));
+$TABLADB->updateColAttributes(0,'width="8%"');
+$TABLADB->updateColAttributes(2,'width="30%"');
+$TABLADB->updateColAttributes(3,'width="40%"');
+$TABLADB->updateColAttributes(4,'width="5%"');
+//}}}
- $estado = null;
- }
- }
- else {
- $TABLADB->addRow(array(
- 'No se encontraron procesos'
- ), 'colspan="4"');
- }
- $TABLADB->updateColAttributes(0,'width="8%"');
- $TABLADB->updateColAttributes(2,'width="30%"');
- $TABLADB->updateColAttributes(3,'width="40%"');
- $TABLADB->updateColAttributes(4,'width="5%"');
- //}}}
-}
+//Agrego la tabla con la explicacion de los iconos {{{
+$TABLA =& new MECON_HTML_Tabla ('width="400"');
+$TABLA->addRow(array('Significado de los iconos'), 'cabecera colspan="2"');
+$TABLA->addRow(array('Icono', 'Significado'), 'titulo');
+$TABLA->addRow(array(
+ new MECON_HTML_Image ('/sistemas/yatta/images/estado_0.gif',
+ 'Espera'),
+ "El proceso esta en cola. Aun no se ejecuto.<br>Puede abortar su".
+ ' ejecucion presionando en el icono.'
+ ));
+$TABLA->addRow(array(
+ new MECON_HTML_Image ('/sistemas/yatta/images/estado_1.gif',
+ 'Procesando'),
+ 'El proceso se esta ejecutando en este momento. <br>Puede abortar su'.
+ ' ejecucion presionando en el icono.'
+ ));
+$TABLA->addRow(array(
+ new MECON_HTML_Image ('/sistemas/yatta/images/estado_2.gif',
+ 'Finalizado'),
+ 'El proceso ha finalizado.<br>'.
+ 'Puede buscar el resultado en la seccion archivos.'
+ ));
+$TABLA->addRow(array(
+ new MECON_HTML_Image ('/sistemas/yatta/images/estado_3.gif',
+ 'Error'),
+ 'Se produjo un error durante la ejecucion del proceso.<br>'.
+ 'Presionando sobre el icono puede ver una explicacion del mismo.'
+ ));
+$TABLA->addRow(array(
+ new MECON_HTML_Image ('/sistemas/yatta/images/estado_0.gif',
+ 'Abortado'),
+ 'El proceso fue detenido por alguna persona (el responsable o'.
+ ' el administrador). Presionando sobre el icono puede ver una'.
+ 'explicacion.'
+ ));
+$TABLA->updateColAttributes(0, 'align="center"');
+$TABLA->updateColAttributes(1, 'align="left"');
//}}}
//Agrego la info al marco y la muestro {{{
$MARCO->addStyleSheet('css/yatta.css');
-$MARCO->addBody($FORM);
-if (@$TABLADB) {
- $MARCO->addBody('<BR>');
- $MARCO->addBody($TABLADB);
-}
+$MARCO->addBody($TABLADB);
+$MARCO->addBody('<BR> <BR>');
+$MARCO->addBody($TABLA);
$MARCO->display();
//}}}