]> git.llucax.com Git - mecon/intranet.git/blobdiff - sistema/www/servicios/infoleg/pedido.php
Bugfixes.
[mecon/intranet.git] / sistema / www / servicios / infoleg / pedido.php
index 7a8966411b7c56df7ebe6a4d4700938c6a160c29..f369f696649ce07479fa4dbd8bc9ffe2431ac1a9 100644 (file)
@@ -13,53 +13,38 @@ require_once 'INFOLEG/Pedido.php';
 
 require_once 'MECON/HTML/Tabla.php';
 require_once 'HTML/Table.php';
-require_once '../../../local_lib/HTML_DietMarco.php';
+require_once 'HTML_DietMarco.php';
+require_once 'HTML_Mensaje.php';
 require_once 'MECON/HTML/QuickFormSimple.php';
 require_once 'MECON/HTML/Image.php';
-require_once 'DB.php';
 
 if(!isset($_SESSION['documento'])){
        header('Location: ../../servicios.php');
        exit;
 }
 
-//Conexión a la BD
-//CAMBIAR POR INTRANET-DB
-$dbh = DB::connect("mysql://intranet:intranet@localhost/CDI", true);
-if (DB::isError($dbh)) {
-    die ($dbh->getMessage());
-}
-
 //Usuario que realiza el pedido
 $nrodoc = $_SESSION['documento'];
 $user = $_SESSION['usuario'];
-$solicitante =& new INFOLEG_Solicitante($dbh, $nrodoc, $user);
+$solicitante =& new INFOLEG_Solicitante($DB, $nrodoc, $user);
 
 //Imágenes
-$IMG_Viñeta =& new MECON_HTML_Image('../../images/servicios_flecha_naranja.gif', '>>');
+$IMG_Vineta =& new MECON_HTML_Image('../../images/servicios_flecha_naranja.gif', '>>');
 $IMG_OK =& new MECON_HTML_Image('../../images/servicios_ok.gif', 'ok');
 $IMG_Error =& new MECON_HTML_Image('/MECON/images/general_no_autorizado.gif', 'X');
 
 //Marco de servicios en intranet
-$MARCO     = new HTML_DietMarco('servicios', 'Servicios');
-$MARCO->addTitle('Pedidos a Infoleg');
-$MARCO->addStyleSheet('../../css/servicios_infoleg.css');
-
+$MARCO     = new HTML_DietMarco('servicios', 'Pedidos a Infoleg');
+//$MARCO->addTitle('Pedidos a Infoleg');
 
 if (! isset($_POST['pedido'])){
 
-    if (! INFOLEG_Operador::oprDisponibleIntranet($dbh)){
+    if (! INFOLEG_Operador::oprDisponibleIntranet($DB)){
        //No hay operador disponible para atender el pedido => mensaje de error
        
-       $TABLA =& new HTML_Table(array('border'=>'0', 'width'=>'760'));
-       $TABLA->addRow( array($IMG_Error->toHtml()), 
-                       array('align'=>'center'));
-       $TABLA->addRow( array('No hay operadores asignados para atender su pedido.'), 
-                       array('align'=>'center', 'class'=>'txt_naranja'));
-       $TABLA->addRow( array('Intente más tarde.'), 
-                       array('align'=>'center', 'class'=>'txt_naranja'));
-    
-       $MARCO->addBodyContent($TABLA);
+       $MSG =& new HTML_Mensaje ('error', 'No hay operadores asignados para atender su pedido', 490); 
+       $MARCO->addBodyContent('<br><br>');
+       $MARCO->addBodyContent($MSG);
     }
     else{
        //Datos del solicitante
@@ -82,7 +67,7 @@ if (! isset($_POST['pedido'])){
            $select_tipodoc->setSelected($datos['tipodoc']);
        }
 
-       $input_nrodoc =& $FORM->addElement ('hidden', 'nrodoc', 'nrodoc', array('value' => $nrodoc));
+       $input_nrodoc =& $FORM->addElement ('hidden', 'nrodoc', $nrodoc);
 
        $institucion = (isset($datos['institucion']))?$datos['institucion']:'Ministerio de Economía';
        $input_institucion =& $FORM->addElement ('text', 'institucion', 'institucion', 
@@ -180,12 +165,12 @@ EOT;
 
        //Tabla Pedido
        $TABLA =& new MECON_HTML_Tabla(array('width'=>'600', 'align'=>'center'), 'medio');
-        $TABLA->addRow( array($IMG_Viñeta->toHtml().'Datos Personales')); 
+        $TABLA->addRow( array($IMG_Vineta->toHtml().'Datos Personales')); 
         $TABLA->addRow( array('Nombre', $input_nombre->toHtml(), 'Apellido', '', $input_apellido->toHtml())); 
         $TABLA->addRow( array('Documento', $select_tipodoc->tohtml().'&nbsp;'.$nrodoc.$input_nrodoc->toHtml(), 'Institución', '', $input_institucion->toHtml())); 
         $TABLA->addRow( array('Domicilio', $input_domicilio->toHtml(), 'Piso', $input_piso->toHtml(), 'Oficina', $input_oficina->toHtml(), 'Interno', $input_interno->toHtml())); 
         $TABLA->addRow( array('E-mail', $input_email->toHtml(), 'Fax', $input_fax->toHtml(), 'Teléfono', $input_telefono->toHtml())); 
-        $TABLA->addRow( array($IMG_Viñeta->toHtml().'Pedido')); 
+        $TABLA->addRow( array($IMG_Vineta->toHtml().'Pedido')); 
         $TABLA->addRow( array($textarea_pedido->toHtml())); 
         $TABLA->addRow( array($submit->toHtml())); 
 
@@ -214,20 +199,39 @@ EOT;
     }
 }
 else{
-    //Pedido Formulado
-    
-    $solicitante->_actualizarDatos($_POST);
-    $operador_asignado = INFOLEG_Operador::obtenerOprIntranet($dbh);
-    INFOLEG_Pedido::alta($dbh, $_POST['tipodoc'], $_POST['nrodoc'], 
-                        $operador_asignado, $_POST['pedido']);
-    
-    $TABLA =& new HTML_Table(array('border'=>'0', 'width'=>'760'));
-    $TABLA->addRow( array($IMG_OK->toHtml()), 
-                   array('align'=>'center'));
-    $TABLA->addRow( array('Su pedido ha sido registrado'), 
-                   array('align'=>'center', 'class'=>'txt_negro'));
+    //Validar los datos enviados por el cliente
+    if (strlen($_POST['nombre']) == 0 OR
+       strlen($_POST['apellido']) == 0 OR
+       strlen($_POST['tipodoc']) == 0 OR
+       strlen($_POST['nrodoc']) == 0 OR
+       strlen($_POST['domicilio']) == 0 OR
+       strlen($_POST['piso']) == 0 OR
+       strlen($_POST['oficina']) == 0 OR
+       strlen($_POST['interno']) == 0 OR
+       strlen($_POST['email']) == 0 OR
+       strlen($_POST['pedido']) == 0){
+
+       //Mensaje de Error
+       $MSG =& new HTML_Mensaje ('alerta', 'Datos Incorrectos. Intente nuevamente.', 390); 
+       $MARCO->addBodyContent('<br><br>');
+       $MARCO->addBodyContent($MSG);
+    }
+    else{
+       //Validar datos no obligatorios (-)
+       $_POST['institucion'] = (strlen($_POST['institucion'])==0)?'-':$_POST['institucion'];
+       $_POST['fax'] = (strlen($_POST['institucion'])==0)?'-':$_POST['fax'];
+       $_POST['telefono'] = (strlen($_POST['institucion'])==0)?'-':$_POST['telefono'];
+       
+       //Pedido Formulado
+       $solicitante->_actualizarDatos($_POST);
+       $operador_asignado = INFOLEG_Operador::obtenerOprIntranet($DB);
+       INFOLEG_Pedido::alta($DB, $_POST['tipodoc'], $_POST['nrodoc'], 
+                           $operador_asignado, $_POST['pedido']);
     
-    $MARCO->addBodyContent($TABLA);
+       $MSG =& new HTML_Mensaje ('ok', 'Su pedido ha sido registrado', 300); 
+       $MARCO->addBodyContent('<br><br>');
+       $MARCO->addBodyContent($MSG);
+    }
 }
 
 $MARCO->display();