]> git.llucax.com Git - mecon/yatta.git/commitdiff
Se agrego la interfaz para que los usuarios puedan detener procesos.
authorMartín Marrese <marrese@gmail.com>
Tue, 27 Jan 2004 21:49:22 +0000 (21:49 +0000)
committerMartín Marrese <marrese@gmail.com>
Tue, 27 Jan 2004 21:49:22 +0000 (21:49 +0000)
Se eliminaron los popups de la seccion procesos.

lib/YATTA/Archivo.php
lib/YATTA/ProcesoDB.php
script/servidores/YATTA_Tacho.php
sistema/conf/Marco.php
sistema/www/archivos.php
sistema/www/procesos.php
sistema/www/procesos_detener.php [new file with mode: 0644]
sistema/www/procesos_popup.php

index 0bdcf4920bbced326c326966f320b171cc83e800..f6032a9be7ce256dcc9fa29a8a5d9fb2ba5d03f1 100644 (file)
@@ -27,6 +27,7 @@ $Id$
 require_once 'MECON/DBO.php';
 require_once 'PEAR.php';
 
+define ('PATH_TACHO', '/var/www/yatta_tacho/');
 
 /**
  * Clase para el manejo de los archivos.
@@ -125,7 +126,7 @@ class YATTA_Archivo extends MECON_DBO {
             $this->nombre_sistema = $res['nombre_sistema'];
             $this->descripcion = $res['descripcion'];
             $this->resultado = $res['resultado'];
-            $this->archivo = $res['archivo'];
+            $this->archivo = PATH_TACHO.$res['archivo'];
             $this->owner = $res['owner'];
             
             return true;
@@ -143,10 +144,14 @@ class YATTA_Archivo extends MECON_DBO {
      */
     function borrar($db = null)
     {
-        print '<PRE>';var_dump($this);print '</PRE>';
-        //@TODO Solo permitir que el owner borre sus archivos.
-        //@TODO Borra el registro de la base.
-        //@TODO Borrar el archivo del tacho.
+        $res = $db->query('DELETE FROM yatta.procesos WHERE id = '. $this->id);
+        if (PEAR::isError($res)) {
+            die('Error: ' . $res->getMessage() . "\n");
+        }
+        //Borro el archivo del tacho
+        if (!unlink($this->archivo)) {
+            return new PEAR_Error('No se pudo borrar el archivo del tacho.');
+        }
     }
 
     /**
index aeb9d329a7020feaeadc92b357678ab999b66219..962cd80073f8c72ec3d95da82b54bf232df857ae 100644 (file)
@@ -385,6 +385,9 @@ class YATTA_ProcesoDB extends MECON_DBO {
      */
     function guardar($db = null, $nuevo = true)
     {
+        return $db->query ('UPDATE yatta.procesos SET nota = \''.$this->nota.
+                '\', status = '.$this->status.
+                ' WHERE id = '. $this->id);
     }
 
     /**
index 1ed5f5c3237b0cc2d6a042289fb94b416bb68f25..b0f6c84a4bb32ffb4b74f7ed63e8a060514f1c08 100755 (executable)
@@ -78,10 +78,11 @@ yatta_log ('*************** Comienzo Ejecuci
 //}}}
 
 //BORRO LOS ARCHIVOS CON MAS DE 7 DIAS {{{
-
+//@TODO Borrar los archivos com mas de 7 dias.
 //}}}
 
 //VERIFICO LAS CUOTAS DE LOS USUARIOS{{{
+//@TODO Verificar las cuotas de los usuarios y actuar como deba.
     //WHILEO POR USUARIO {{{
         //HAY MAS DE LA CUOTA {{{
         //BORRAR LOS ARCHIVOS MAS VIEJOS HASTA LLEGAR AL VALOR DE LA CUOTA.
index 26d30d8bd626cd97624652938b8ffad2c3bfcb38..5b4d57161af7130349c0f2508c01c6cb0f9ce9df 100644 (file)
@@ -24,6 +24,7 @@
             'imagenComun'   => 'general_procesos.gif',    
             'link'          => 'procesos',    
             'permisos'      => array (YATTA_PERM_ACCESO),
+            'subhijos'      => array ('procesos_popup', 'procesos_detener'),
             ), //}}}
         //SECCION 2 {{{ 
         array (
index b95bc0d63d612d6fdb97cc307d0da034853a3002..492c2c564f052643d5b1005c174837600804382b 100644 (file)
@@ -32,9 +32,6 @@ require_once 'MECON/HTML/Link.php';
 require_once 'YATTA/Archivo.php';
 //}}}
 
-//TODO Definir la cuota en algun lado (Kb)
-$cuota = 2048;
-
 //Actuar segun la accion, etc {{{
 $accion = @$_REQUEST['accion'];
 $id = @$_REQUEST['_id'];
@@ -59,9 +56,12 @@ if (@$id && @$accion) {
             exit;
             break;
     case 'borrar':
-            $ARCHIVO->borrar($DB);
-            //TODO Capturar el posible error
+            $res = $ARCHIVO->borrar($DB);
+            if (PEAR::isError($res)) {
+                die('Error: ' . $res->getMessage() . "\n");
+            }
             header ('Location:archivos');
+            exit;
             break;
     }
 }
index b51a426e9929980f6c2c22dd1f153a65c5be5bf6..4255760acc6f46c2d749905a22ed5cd597ad9c03 100644 (file)
@@ -57,12 +57,9 @@ $pager = $TABLADB->addPager($res, null,
                 )
         );
 
-$TABLADB->addRowsData('<a href="procesos_popup?id=%s" '.
-        'OnClick="javascript:window.open(\'procesos_popup?id=%s\','.
-        '\'proc\', \'width=450,height=250,scrollbars=yes\');'.
-        'return false;" target="_blank">'.
+$TABLADB->addRowsData('<a href="procesos_popup?id=%s">'.
         "<img src=\"/sistemas/yatta/images/estado_%s.gif\" alt=\"%s\"".
-        ' border=0></a>', array ('id', 'id', 'status', 'icono'));
+        ' border=0></a>', array ('id', 'status', 'icono'));
 
 $TABLADB->addRows($pager, array ('id', 'fecha', 'nombre_sistema', 'descripcion'));
 $TABLADB->updateColAttributes(0,'width="8%"');
diff --git a/sistema/www/procesos_detener.php b/sistema/www/procesos_detener.php
new file mode 100644 (file)
index 0000000..d1bcab6
--- /dev/null
@@ -0,0 +1,97 @@
+<?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80 foldmethod=marker:
+-------------------------------------------------------------------------------
+                             Ministerio de Economía
+                                    YATTA!
+-------------------------------------------------------------------------------
+This file is part of YATTA!.
+
+YATTA! is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+YATTA! is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+You should have received a copy of the GNU General Public License; if not,
+write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+Boston, MA  02111-1307  USA
+-------------------------------------------------------------------------------
+Creado: mar dic  2 18:11:32 ART 2003
+Autor:  Martin Marrese <mmarre@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$Id$
+-----------------------------------------------------------------------------*/
+
+//Require Once {{{
+//HTML {{{
+require_once 'MECON/HTML/Tabla.php';
+require_once 'MECON/HTML/Link.php';
+require_once 'MECON/HTML/Image.php';
+require_once 'MECON/HTML/QuickForm.php';
+//}}}
+//YATTA {{{
+require_once 'YATTA/ProcesoDB.php';
+//}}}
+//}}}
+
+//Creo los objetos necesarios {{{
+$PROCESO =& new YATTA_ProcesoDB;
+$FORM =& new MECON_HTML_QuickForm('procesos_detener', 'post', 
+        'procesos_detener');
+$FORM->renderer->updateAttributes('width="400"');
+//}}}
+
+//Obtengo la info que se pasa por get {{{
+$id = (@$_REQUEST['id']) ? $_REQUEST['id'] : null;
+//}}}
+
+//Obtengo la informacion del proceso {{{
+$PROCESO->id = $id;
+$PROCESO->owner = $_SESSION['usuario'];
+$res = $PROCESO->buscar($DB);
+if (PEAR::isError($res)) {
+    die('Error: ' . $res->getMessage() . "\n");
+}
+$PROCESO->cargar($res);
+//}}}
+
+//Armo el formulario {{{
+$FORM->addElement('header', 'cabecera', 'Ingrese una nota explicativa');
+$text =& $FORM->addElement('textarea', 'nota', 'Nota',        
+        array('rows' => '2','cols'=>'40', 'wrap'=>'virtual')); 
+$group[] =& HTML_QuickForm::createElement('submit', 'aceptar' , 'Aceptar');
+$group[] =& HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar',
+        array ('onClick' => 'self.close();return false;'));
+$FORM->addGroup($group,'botones');
+//}}}
+
+//Valido el formulario {{{
+if ($FORM->validate()) {
+    $f_botones = $FORM->getSubmitValue('botones');
+
+    //Cancelar {{{
+    if (@$f_botones['cancelar']) {
+        header ('location: procesos');
+        exit;
+    }
+    //}}}
+
+    $PROCESO->nota = $text->getValue();
+    $PROCESO->status = 5;
+    $res = $PROCESO->guardar($DB) ;
+    if (PEAR::isError($res)) {
+        die('Error: ' . $res->getMessage() . "\n");
+    }
+    header ('location: procesos');
+    exit;
+}
+//}}}
+
+//DIBUJO LA PAGINA {{{
+$MARCO->addBody($FORM);
+$MARCO->addStyleSheet('css/yatta.css');
+$MARCO->display();                          
+//}}}
+?>
index acd50bee2b3dee6f9aab96477721c1d3493c04c6..5e442987e5844e34a821143956a87cd36a9fa7f5 100644 (file)
@@ -26,8 +26,7 @@ $Id$
 
 //Require Once {{{
 //HTML {{{
-require_once 'HTML/Page.php';
-require_once 'HTML/Table.php';
+require_once 'MECON/HTML/Tabla.php';
 require_once 'MECON/HTML/Link.php';
 require_once 'MECON/HTML/Image.php';
 //}}}
@@ -37,21 +36,14 @@ require_once 'YATTA/Controlador.php';
 //}}}
 
 //Creo los objetos necesarios {{{
-$PAGE =& new HTML_Page(array ('doctype'  => 'HTML 4.01 Transitional',
-                                'charset'  => 'iso-8859-1',
-                                'lineend'  => 'unix',
-                                'language' => 'es',
-                                'cache'    => 'false',
-                                'simple'   => 'true'));
-$PAGE->addStyleSheet('/sistemas/yatta/css/yatta.css');
-$PAGE->addStyleSheet('/MECON/css/marco.css');
-$TABLA=& new HTML_Table('width="370"');
+$TABLA=& new MECON_HTML_Tabla('width="400"');
 $PROCESO =& new YATTA_Controlador;
 //}}}
 
 //Obtengo la info que se pasa por get {{{
 $id = (@$_REQUEST['id']) ? $_REQUEST['id'] : null;
 //}}}
+
 //Obtengo la informacion del proceso {{{
 $PROCESO = $PROCESO->obtenerProcesosUsuario($DB, $_SESSION['usuario'], $id);
 //}}}
@@ -60,32 +52,29 @@ $PROCESO = $PROCESO->obtenerProcesosUsuario($DB, $_SESSION['usuario'], $id);
 $imagen =& new MECON_HTML_Image('/sistemas/yatta/images/estado_'.
                 $PROCESO->status.'.gif');
 $cerrar = new MECON_HTML_Image('/MECON/images/general_cerrar.gif');
-$detener =& new MECON_HTML_Link('proceso_detener', 
+$detener =& new MECON_HTML_Link('procesos_detener', 
                 new MECON_HTML_Image ('/MECON/images/general_detener.gif'),
                 array ('id' => $id));
 //}}}
 
 //DIBUJO LA PAGINA {{{
-$PAGE->addBodyContent('<b>'. $imagen->toHtml().' '. $PROCESO->icono
-        .'</b><br><br>');
+$TABLA->addRow(array ($imagen->toHtml().' '. $PROCESO->icono), 'titulo colspan=2');
+$TABLA->addRow(array('Id', $id));
+$TABLA->addRow(array('Fecha', $PROCESO->fecha));
+$TABLA->addRow(array('Sistema', $PROCESO->nombre_sistema));
+$TABLA->addRow(array('Descripcion', $PROCESO->descripcion));
+$TABLA->addRow(array('Owner', $PROCESO->owner));
+$TABLA->addRow(array('Destinos', @implode(', ', $PROCESO->destinos)));
+$TABLA->addRow(array('Nota', $PROCESO->nota));
+
+$TABLA->addLink('volver', new MECON_HTML_Link('procesos'));
 
-$TABLA->addRow(array(
-                '<b>Id: '. $id .'</b><br>'.
-                '<b>Fecha: '. $PROCESO->fecha .'</b><br>'.
-                '<b>Sistema: '. $PROCESO->nombre_sistema .'</b><br>'.
-                '<b>Descripcion: '. $PROCESO->descripcion .'</b><br>'.
-                '<b>Owner: '. $PROCESO->owner .'</b><br>'.
-                '<b>Destinos: '. @implode(', ', $PROCESO->destinos) .'</b><br>'.
-                '<b>Nota: '. $PROCESO->nota .'</b><br>' 
-            ));
-$PAGE->addBodyContent($TABLA->toHtml());
-$PAGE->addBodyContent('<br>');
+$MARCO->addBody($TABLA);
+$MARCO->addBody('<br>');
 if ($PROCESO->status == 0 || $PROCESO->status == 1) {
-    $PAGE->addBodyContent($detener->toHtml()); 
+    $MARCO->addBody($detener->toHtml().' '); 
 }
-$PAGE->addBodyContent('<a href="" onClick=\'self.close();return'.
-        ' false;\'>'.$cerrar->toHtml().'</a>');
-$PAGE->setTitle('Datos del Proceso');
-$PAGE->display();                          
+$MARCO->addStyleSheet('css/yatta.css');
+$MARCO->display();                          
 // }}}
 ?>