]> git.llucax.com Git - mecon/yatta.git/commitdiff
Modificaciones a la seccion procesos
authorMartín Marrese <marrese@gmail.com>
Tue, 2 Dec 2003 20:57:29 +0000 (20:57 +0000)
committerMartín Marrese <marrese@gmail.com>
Tue, 2 Dec 2003 20:57:29 +0000 (20:57 +0000)
lib/YATTA/Proceso.php
sistema/www/images/estado_4.gif [moved from sistema/www/images/estado_5.gif with 100% similarity]
sistema/www/procesos.php

index 0f7c963e2dc1964b583bd3ff14d96b1965738b7c..87dd3a03f8b4ded4ecaf774550358f9427e4af00 100644 (file)
@@ -185,6 +185,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 +194,27 @@ 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'];
+            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; 
     }
 
     /**
@@ -257,16 +258,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;
@@ -278,39 +279,39 @@ class YATTA_Proceso extends MECON_DBO {
             $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))
@@ -331,7 +332,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.".
+                " 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");
index fe92a461f0deeead747e1505e1c3b4be37a90306..9e2ec9229835eb462848799d37a6347180e8fba6 100644 (file)
@@ -26,129 +26,94 @@ $Id$
 
 //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();
 //}}}