From: Martín Marrese Date: Tue, 27 Jan 2004 21:49:22 +0000 (+0000) Subject: Se agrego la interfaz para que los usuarios puedan detener procesos. X-Git-Tag: svn_import~60 X-Git-Url: https://git.llucax.com/mecon/yatta.git/commitdiff_plain/b29e6804a1bdee0c88fef3262e24d1b83e1a8072 Se agrego la interfaz para que los usuarios puedan detener procesos. Se eliminaron los popups de la seccion procesos. --- diff --git a/lib/YATTA/Archivo.php b/lib/YATTA/Archivo.php index 0bdcf49..f6032a9 100644 --- a/lib/YATTA/Archivo.php +++ b/lib/YATTA/Archivo.php @@ -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 '
';var_dump($this);print '
'; - //@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.'); + } } /** diff --git a/lib/YATTA/ProcesoDB.php b/lib/YATTA/ProcesoDB.php index aeb9d32..962cd80 100644 --- a/lib/YATTA/ProcesoDB.php +++ b/lib/YATTA/ProcesoDB.php @@ -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); } /** diff --git a/script/servidores/YATTA_Tacho.php b/script/servidores/YATTA_Tacho.php index 1ed5f5c..b0f6c84 100755 --- a/script/servidores/YATTA_Tacho.php +++ b/script/servidores/YATTA_Tacho.php @@ -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. diff --git a/sistema/conf/Marco.php b/sistema/conf/Marco.php index 26d30d8..5b4d571 100644 --- a/sistema/conf/Marco.php +++ b/sistema/conf/Marco.php @@ -24,6 +24,7 @@ 'imagenComun' => 'general_procesos.gif', 'link' => 'procesos', 'permisos' => array (YATTA_PERM_ACCESO), + 'subhijos' => array ('procesos_popup', 'procesos_detener'), ), //}}} //SECCION 2 {{{ array ( diff --git a/sistema/www/archivos.php b/sistema/www/archivos.php index b95bc0d..492c2c5 100644 --- a/sistema/www/archivos.php +++ b/sistema/www/archivos.php @@ -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; } } diff --git a/sistema/www/procesos.php b/sistema/www/procesos.php index b51a426..4255760 100644 --- a/sistema/www/procesos.php +++ b/sistema/www/procesos.php @@ -57,12 +57,9 @@ $pager = $TABLADB->addPager($res, null, ) ); -$TABLADB->addRowsData(''. +$TABLADB->addRowsData(''. "\"%s\"".', array ('id', 'id', 'status', 'icono')); + ' border=0>', 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 index 0000000..d1bcab6 --- /dev/null +++ b/sistema/www/procesos_detener.php @@ -0,0 +1,97 @@ + +------------------------------------------------------------------------------- +$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(); +//}}} +?> diff --git a/sistema/www/procesos_popup.php b/sistema/www/procesos_popup.php index acd50be..5e44298 100644 --- a/sistema/www/procesos_popup.php +++ b/sistema/www/procesos_popup.php @@ -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(''. $imagen->toHtml().' '. $PROCESO->icono - .'

'); +$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( - 'Id: '. $id .'
'. - 'Fecha: '. $PROCESO->fecha .'
'. - 'Sistema: '. $PROCESO->nombre_sistema .'
'. - 'Descripcion: '. $PROCESO->descripcion .'
'. - 'Owner: '. $PROCESO->owner .'
'. - 'Destinos: '. @implode(', ', $PROCESO->destinos) .'
'. - 'Nota: '. $PROCESO->nota .'
' - )); -$PAGE->addBodyContent($TABLA->toHtml()); -$PAGE->addBodyContent('
'); +$MARCO->addBody($TABLA); +$MARCO->addBody('
'); if ($PROCESO->status == 0 || $PROCESO->status == 1) { - $PAGE->addBodyContent($detener->toHtml()); + $MARCO->addBody($detener->toHtml().' '); } -$PAGE->addBodyContent(''.$cerrar->toHtml().''); -$PAGE->setTitle('Datos del Proceso'); -$PAGE->display(); +$MARCO->addStyleSheet('css/yatta.css'); +$MARCO->display(); // }}} ?>