]> git.llucax.com Git - mecon/intranet.git/blob - sistema/www/servicios/infoleg/pedido.php
- Agregué una imagen para las impresiones.
[mecon/intranet.git] / sistema / www / servicios / infoleg / pedido.php
1 <?php 
2 /*-----------------------------------------------------------------------------
3 Intranet del Ministerio de Economía
4 Pedidos a Infoleg
5 -------------------------------------------------------------------------------
6 Myrna Degano <mdegan@mecon.gov.ar>
7 ------------------------------------------------------------------------------*/
8
9 //Lib de 'Pedidos a Infoleg'
10 require_once 'INFOLEG/Operador.php';
11 require_once 'INFOLEG/Solicitante.php';
12 require_once 'INFOLEG/Pedido.php';
13
14 require_once 'MECON/HTML/Tabla.php';
15 require_once 'HTML/Table.php';
16 require_once '../../../local_lib/HTML_DietMarco.php';
17 require_once 'MECON/HTML/QuickFormSimple.php';
18 require_once 'MECON/HTML/Image.php';
19 require_once 'DB.php';
20
21 if(!isset($_SESSION['documento'])){
22         header('Location: ../../servicios.php');
23         exit;
24 }
25
26 //Conexión a la BD
27 //CAMBIAR POR INTRANET-DB
28 $dbh = DB::connect("mysql://intranet:intranet@localhost/CDI", true);
29 if (DB::isError($dbh)) {
30     die ($dbh->getMessage());
31 }
32
33 //Usuario que realiza el pedido
34 $nrodoc = $_SESSION['documento'];
35 $solicitante =& new INFOLEG_Solicitante($dbh, $nrodoc);
36
37 //Imágenes
38 $IMG_Viñeta =& new MECON_HTML_Image('../../images/servicios_flecha_naranja.gif', '>>');
39 $IMG_OK =& new MECON_HTML_Image('../../images/servicios_ok.gif', 'ok');
40 $IMG_Error =& new MECON_HTML_Image('/MECON/images/general_no_autorizado.gif', 'X');
41
42 //Marco de servicios en intranet
43 $MARCO     = new HTML_DietMarco('servicios', 'Servicios');
44 $MARCO->addTitle('Pedidos a Infoleg');
45 $MARCO->addStyleSheet('../../css/servicios_infoleg.css');
46
47
48 if (! isset($_POST['pedido'])){
49
50     if (! INFOLEG_Operador::oprDisponibleIntranet($dbh)){
51         //No hay operador disponible para atender el pedido => mensaje de error
52         
53         $TABLA =& new HTML_Table(array('border'=>'0', 'width'=>'760'));
54         $TABLA->addRow( array($IMG_Error->toHtml()), 
55                         array('align'=>'center'));
56         $TABLA->addRow( array('No hay operadores asignados para atender su pedido.'), 
57                         array('align'=>'center', 'class'=>'txt_naranja'));
58         $TABLA->addRow( array('Intente más tarde.'), 
59                         array('align'=>'center', 'class'=>'txt_naranja'));
60     
61         $MARCO->addBodyContent($TABLA);
62     }
63     else{
64         //Datos del solicitante
65         $datos = $solicitante->obtenerDatos();
66
67         //Elementos del Formulario
68         $FORM =& new MECON_HTML_QuickFormSimple ('form', 'post', './pedido.php', '', 'onSubmit="return validar(this)"');
69     
70         $nombre = (isset($datos['nombre']))?$datos['nombre']:'';
71         $input_nombre =& $FORM->addElement ('text', 'nombre', 'nombre', 
72                                             array('size' => '20', 'maxlength'=>'30', 'value'=>$nombre));
73
74         $apellido = (isset($datos['apellido']))?$datos['apellido']:'';
75         $input_apellido =& $FORM->addElement ('text', 'apellido', 'apellido', 
76                                                 array('size' => '20', 'maxlength'=>'30', 'value'=>$apellido));
77
78             $tipodocs = array('CI'=>'CI', 'DU'=>'DNI', 'LC'=>'LC', 'LE'=>'LE', 'PS'=>'PS');
79         $select_tipodoc =& $FORM->addElement ('select', 'tipodoc', 'tipodoc', $tipodocs);
80         if (isset($datos['tipodoc'])){
81             $select_tipodoc->setSelected($datos['tipodoc']);
82         }
83
84         $input_nrodoc =& $FORM->addElement ('hidden', 'nrodoc', 'nrodoc', array('value' => $nrodoc));
85
86         $institucion = (isset($datos['institucion']))?$datos['institucion']:'Ministerio de Economía';
87         $input_institucion =& $FORM->addElement ('text', 'institucion', 'institucion', 
88                                                     array('size' => '20', 'maxlength'=>'50', 'value'=>$institucion));
89
90         $domicilio = (isset($datos['domicilio']))?$datos['domicilio']:'';
91         $input_domicilio =& $FORM->addElement ('text', 'domicilio', 'domicilio', 
92                                                 array('size' => '20', 'maxlength'=>'50', 'value'=>$domicilio));
93
94         $piso = (isset($datos['piso']))?$datos['piso']:'';
95         $input_piso =& $FORM->addElement ('text', 'piso', 'piso', 
96                                             array('size' => '5', 'maxlength'=>'10', 'value'=>$piso));
97
98         $oficina = (isset($datos['oficina']))?$datos['oficina']:'';
99         $input_oficina =& $FORM->addElement ('text', 'oficina', 'oficina', 
100                                                 array('size' => '5', 'maxlength'=>'10', 'value'=>$oficina));
101
102         $interno = (isset($datos['interno']))?$datos['interno']:'';
103         $input_interno =& $FORM->addElement ('text', 'interno', 'interno', 
104                                                 array('size' => '5', 'maxlength'=>'10', 'value'=>$interno));
105
106         $telefono = (isset($datos['telefono']))?$datos['telefono']:'';
107         $input_telefono =& $FORM->addElement ('text', 'telefono', 'telefono', 
108                                                 array('size' => '10', 'maxlength'=>'20', 'value'=>$telefono));
109
110         $fax = (isset($datos['fax']))?$datos['fax']:'';
111         $input_fax =& $FORM->addElement ('text', 'fax', 'fax', 
112                                             array('size' => '10', 'maxlength'=>'20', 'value'=>$fax));
113
114         $email = (isset($datos['email']))?$datos['email']:'';
115         $input_email =& $FORM->addElement ('text', 'email', 'email', 
116                                             array('size' => '20', 'maxlength'=>'50', 'value'=>$email));
117
118         $textarea_pedido =& $FORM->addElement ('textarea', 'pedido', 'pedido', array('cols' => '45', 'rows'=>'5', 'wrap'=>'virtual'));
119         $submit =& $FORM->addElement ('submit', 'Enviar', 'Enviar');
120
121         //Función para validar el formulario
122         $script = 
123 <<<EOT
124         function validar (theForm){ 
125             if (theForm.nombre.value==''){
126                 alert('El campo NOMBRE es obligatorio');
127                 theForm.nombre.focus();
128                 return false;
129             }
130             if (theForm.apellido.value==''){
131                 alert('El campo APELLIDO es obligatorio');
132                 theForm.apellido.focus();
133                 return false;
134             }
135             if (theForm.domicilio.value==''){
136                 alert('El campo DOMICILIO es obligatorio');
137                 theForm.domicilio.focus();
138                 return false;
139             }
140             if (theForm.piso.value==''){
141                 alert('El campo PISO es obligatorio');
142                 theForm.piso.focus();
143                 return false;
144             }
145             if (theForm.oficina.value==''){
146                 alert('El campo OFICINA es obligatorio');
147                 theForm.oficina.focus();
148                 return false;
149             }
150             if (theForm.interno.value==''){
151                 alert('El campo INTERNO es obligatorio');
152                 theForm.interno.focus();
153                 return false;
154             }
155             if (theForm.email.value==''){
156                 alert('El campo E-MAIL es obligatorio');
157                 theForm.email.focus();
158                 return false;
159             }
160             if (theForm.telefono.value==''){
161                 theForm.telefono.value='-';
162             }
163             if (theForm.institucion.value==''){
164                 theForm.institucion.value='-';
165             }
166             if (theForm.fax.value==''){
167                 theForm.fax.value='-';
168             }
169             if (theForm.pedido.value==''){
170                 alert('Ingrese su pedido');
171                 theForm.pedido.focus();
172                 return false;
173             }
174             return true;
175         } 
176 EOT;
177
178         $MARCO->addScriptDeclaration($script);
179
180         //Tabla Pedido
181         $TABLA =& new MECON_HTML_Tabla(array('width'=>'600', 'align'=>'center'), 'medio');
182         $TABLA->addRow( array($IMG_Viñeta->toHtml().'Datos Personales')); 
183         $TABLA->addRow( array('Nombre', $input_nombre->toHtml(), 'Apellido', '', $input_apellido->toHtml())); 
184         $TABLA->addRow( array('Documento', $select_tipodoc->tohtml().'&nbsp;'.$nrodoc.$input_nrodoc->toHtml(), 'Institución', '', $input_institucion->toHtml())); 
185         $TABLA->addRow( array('Domicilio', $input_domicilio->toHtml(), 'Piso', $input_piso->toHtml(), 'Oficina', $input_oficina->toHtml(), 'Interno', $input_interno->toHtml())); 
186         $TABLA->addRow( array('E-mail', $input_email->toHtml(), 'Fax', $input_fax->toHtml(), 'Teléfono', $input_telefono->toHtml())); 
187         $TABLA->addRow( array($IMG_Viñeta->toHtml().'Pedido')); 
188         $TABLA->addRow( array($textarea_pedido->toHtml())); 
189         $TABLA->addRow( array($submit->toHtml())); 
190
191         $TABLA->setColAttributes(0, 'titulo width="100" align="left"');
192         $TABLA->setColAttributes(1, 'comun width="200" align="left"');
193         $TABLA->setColAttributes(2, 'titulo width="50" align="left"');
194         $TABLA->setColAttributes(3, 'comun width="50" align="left"');
195         $TABLA->setColAttributes(4, 'titulo width="50" align="left"');
196         $TABLA->setColAttributes(5, 'comun width="50" align="left"');
197         $TABLA->setColAttributes(6, 'titulo width="50" align="left"');
198         $TABLA->setColAttributes(7, 'comun width="50" align="left"');
199         $TABLA->setCellAttributes(0, 0, 'cabecera colspan="8" align="left"');
200         $TABLA->setCellAttributes(1, 2, 'colspan="2" titulo align="left"');
201         $TABLA->setCellAttributes(2, 2, 'colspan="2" titulo align="left"');
202         $TABLA->setCellAttributes(5, 0, 'cabecera colspan="8" align="left"');
203         $TABLA->setCellAttributes(6, 0, 'comun colspan="8" align="center"');
204         $TABLA->setCellAttributes(7, 0, 'comun colspan="8" align="center"');
205         $TABLA->setCellAttributes(1, 4, 'colspan="4" comun align="left"');
206         $TABLA->setCellAttributes(2, 4, 'colspan="4" comun align="left"');
207         $TABLA->setCellAttributes(4, 5, 'colspan="3" comun align="left"');
208
209         //Contenido de la página
210         $MARCO->addBodyContent($FORM->getBegin());
211         $MARCO->addBodyContent($TABLA);
212         $MARCO->addBodyContent($FORM->getEnd());
213     }
214 }
215 else{
216     //Pedido Formulado
217     
218     $solicitante->_actualizarDatos($_POST);
219     $operador_asignado = INFOLEG_Operador::obtenerOprIntranet($dbh);
220     INFOLEG_Pedido::alta($dbh, $_POST['tipodoc'], $_POST['nrodoc'], 
221                          $operador_asignado, $_POST['pedido']);
222     
223     $TABLA =& new HTML_Table(array('border'=>'0', 'width'=>'760'));
224     $TABLA->addRow( array($IMG_OK->toHtml()), 
225                     array('align'=>'center'));
226     $TABLA->addRow( array('Su pedido ha sido registrado'), 
227                     array('align'=>'center', 'class'=>'txt_negro'));
228     
229     $MARCO->addBodyContent($TABLA);
230 }
231
232 $MARCO->display();
233 ?>