From: Myrna Degano Date: Wed, 21 Apr 2004 15:55:44 +0000 (+0000) Subject: Se agrega el servicio de Encuestas de la DTO. X-Git-Tag: svn_import~35 X-Git-Url: https://git.llucax.com/mecon/intranet.git/commitdiff_plain/8b81b4e30d7afc4abf39abe0bcc72c0543fa9c70 Se agrega el servicio de Encuestas de la DTO. --- diff --git a/sistema/www/css/servicios_dto.css b/sistema/www/css/servicios_dto.css new file mode 100644 index 0000000..5317ce5 --- /dev/null +++ b/sistema/www/css/servicios_dto.css @@ -0,0 +1,50 @@ +.encuestas_titulo +{ + FONT-FAMILY: Arial, Helvetica, sans-serif; + FONT-SIZE: 14px; + TEXT-ALIGN: center; + COLOR: #000000; + FONT-WEIGHT: bold; + TEXT-DECORATION: none; +} +.encuestas_comun +{ + FONT-FAMILY: Arial, Helvetica, sans-serif; + FONT-SIZE: 12px; + COLOR: #000000; + FONT-WEIGHT: none; + TEXT-DECORATION: none; +} +.encuestas_intro +{ + FONT-FAMILY: Arial, Helvetica, sans-serif; + FONT-SIZE: 14px; + COLOR: #003366; + FONT-WEIGHT: none; + TEXT-DECORATION: none; +} +.encuestas_cursiva +{ + FONT-FAMILY: Arial, Helvetica, sans-serif; + FONT-SIZE: 14px; + FONT-STYLE: italic; + COLOR: #000000; + FONT-WEIGHT: none; + TEXT-DECORATION: none; +} +.encuestas_grupo +{ + FONT-FAMILY: Arial, Helvetica, sans-serif; + FONT-SIZE: 12px; + COLOR: #003366; + FONT-WEIGHT: bold; + TEXT-DECORATION: none; +} +.encuestas_negrita_rojo +{ + FONT-FAMILY: Arial, Helvetica, sans-serif; + FONT-SIZE: 14px; + COLOR: red; + FONT-WEIGHT: bold; + TEXT-DECORATION: none; +} diff --git a/sistema/www/images/servicios_dto_encuestas.gif b/sistema/www/images/servicios_dto_encuestas.gif new file mode 100644 index 0000000..e8d91ee Binary files /dev/null and b/sistema/www/images/servicios_dto_encuestas.gif differ diff --git a/sistema/www/servicios/dto/encuesta.php b/sistema/www/servicios/dto/encuesta.php new file mode 100644 index 0000000..3ccce60 --- /dev/null +++ b/sistema/www/servicios/dto/encuesta.php @@ -0,0 +1,89 @@ + +------------------------------------------------------------------------------*/ + +require_once 'HTML_DietMarco.php'; +require_once 'Encuestas/Encuesta.php'; +require_once 'HTML_Mensaje.php'; +require_once 'MECON/HTML/Link.php'; +require_once 'MECON/HTML/Image.php'; +require_once 'MECON/HTML/Tabla.php'; + +if(!isset($_SESSION['usuario'])){ + header('Location: ../../servicios.php'); + exit; +} + +// Marco de servicios en intranet +$MARCO = new HTML_DietMarco('servicios', 'Encuestas'); + +// Formateo de la fecha de publicación +$fecha = $_REQUEST['fecha']; +if (preg_match('/(\d+)-(\d+)-(\d+)\s(\S+)/', $_REQUEST['fecha'], $matches)) + $fecha = $matches[3].'-'.$matches[2].'-'.$matches[1].' '.$matches[4]; + +// Encuesta pedida +$encuesta =& new Encuestas_Encuesta ($DB, $_REQUEST['id'], $fecha, $_POST); + +// Chequear que el usuario no haya respondido la encuesta +if ($encuesta->chequearRespuesta ($_SESSION['usuario'], $fecha) and !isset($_POST['enviar'])){ + // El usuario ya respondió la encuesta + // => mensaje de error + $MSG =& new HTML_Mensaje ('ok', 'Su respuesta ya ha sido recibida.', 350); + $MARCO->addBodyContent('

'); + $MARCO->addBodyContent($MSG); + $MARCO->addBodyContent('

'); + $link_volver =& new MECON_HTML_Link ('index.php', 'volver'); + $img_volver =& new MECON_HTML_Image ('../../images/servicios_volver.gif', '<|<|'); + $tabla =& new HTML_Table('width="760"'); + $tabla->addRow(array($img_volver->toHtml().' '.$link_volver->toHtml()), 'align="right" class="encuestas_comun"'); + $MARCO->addBodyContent($tabla); + $MARCO->addStyleSheet('../../css/servicios_dto.css'); +} +else{ + // El usuario no respondió la encuesta + if (isset($_POST['enviar'])){ + // El usuario está respondiendo en este momento + + if ($encuesta->_chequearDatosObligatorios($_POST)){ + // Completó todos los datos obligatorios + // => Cargar la encuesta + $encuesta->_cargarRespuesta ($_SESSION['usuario'], $_SESSION['documento'], $_POST); + + $MSG =& new HTML_Mensaje ('ok', 'Gracias por su colaboración', 300); + $MARCO->addBodyContent('

'); + $MARCO->addBodyContent($MSG); + $MARCO->addBodyContent('

'); + $link_volver =& new MECON_HTML_Link ('index.php', 'volver'); + $img_volver =& new MECON_HTML_Image ('../../images/servicios_volver.gif', '<|<|'); + $tabla =& new HTML_Table('width="760"'); + $tabla->addRow(array($img_volver->toHtml().' '.$link_volver->toHtml()), 'align="right" class="encuestas_comun"'); + $MARCO->addBodyContent($tabla); + $MARCO->addStyleSheet('../../css/servicios_dto.css'); + } + else{ + // No completó todos los datos obligatorios requeridos + // => mensaje de error + $MARCO->addBodyContent('
'); + $MSG =& new HTML_Table('width="600" align="center"'); + $MSG->addRow(array('Los campos indicados con asterisco (*) son OBLIGATORIOS'), 'class="encuestas_negrita_rojo" align="center"'); + $MARCO->addBodyContent($MSG); + $MARCO->addBodyContent($encuesta); + $MARCO->addBodyContent('
'); + } + } + else{ + // El usuario está por responder + // => mostrar la encuesta + $MARCO->addBodyContent('
'); + $MARCO->addBodyContent($encuesta); + $MARCO->addBodyContent('
'); + } +} + +$MARCO->display(); +?> diff --git a/sistema/www/servicios/dto/index.php b/sistema/www/servicios/dto/index.php new file mode 100644 index 0000000..ec19f35 --- /dev/null +++ b/sistema/www/servicios/dto/index.php @@ -0,0 +1,65 @@ + +------------------------------------------------------------------------------*/ + +require_once 'HTML_DietMarco.php'; +require_once 'MECON/HTML/Tabla.php'; +require_once 'SAMURAI/Perm.php'; +require_once 'Encuestas/Encuesta.php'; +require_once '/var/www/sistemas/encuestas/sistema/local_lib/constantes.php'; + +if(!isset($_SESSION['usuario'])){ + header('Location: ../../servicios.php'); + exit; +} + +// Marco de servicios en intranet +$MARCO = new HTML_DietMarco('servicios', 'Encuestas'); + +// Array de usuarios responsables de las encuestas de la DTO +$array_usuarios = SAMURAI_Perm::getUsuariosPermiso($DB, + ENCUESTAS_PERM, + ENCUESTAS_PERM_CARGAR_ENCUESTAS, + 'DTO'); + +$usuarios = "'default@mecon'"; +foreach ($array_usuarios as $item) + $usuarios.= ",'$item[0]'"; + +// Encuesta de la DTO publicadas a la fecha +$encuestas = Encuestas_Encuesta::obtenerDisponibles($DB, $usuarios); + +// Introducción +$texto = 'La Dirección Técnica Operativa ha iniciando un programa de encuestas con el objeto de medir la satisfacción del usuario, en lo concerniente a los servicios que la misma presta.'; +$intro =& new HTML_Table ('width="760" align="center"'); +$img =& new MECON_HTML_Image ('../../images/servicios_dto_encuestas.gif', 'Encuestas'); +$intro->addRow(array($img->toHtml(), $texto), 'width="95%" align="left" class="encuestas_intro" valign="top"'); +$intro->updateColAttributes (0, 'width="5%"'); + +if (count($encuestas) > 0){ + // Listado de Encuestas disponibles + $tabla =& new MECON_HTML_Tabla('width="60%"', 'oscuro'); + $link =& new MECON_HTML_Link ('encuesta.php', ''); + foreach ($encuestas as $item){ + $link->setContents($item['nombre']); + $link->setGetVars(array('id'=>$item['id'], 'fecha'=>$item['fechaP'])); + $tabla->addRow (array($link->toHtml()), 'align="left"'); + } +} +else{ + // Mensaje de error + $tabla =& new HTML_Table('width="60%" align="center"'); + $tabla->addRow(array('No hay encuestas actualmente publicadas'), 'class="encuestas_cursiva" align="center"'); +} + +$MARCO->addBodyContent($intro); +$MARCO->addBodyContent('
'); +$MARCO->addBodyContent($tabla); +$MARCO->addStyleSheet('../../css/servicios_dto.css'); + +$MARCO->display(); +?>