2 /*-----------------------------------------------------------------------------
3 Intranet del Ministerio de Economía
5 -------------------------------------------------------------------------------
6 Myrna Degano <mdegan@mecon.gov.ar>
7 ------------------------------------------------------------------------------*/
9 //Lib de 'Pedidos a Infoleg'
10 require_once 'INFOLEG/Operador.php';
11 require_once 'INFOLEG/Solicitante.php';
12 require_once 'INFOLEG/Pedido.php';
14 require_once 'MECON/HTML/Tabla.php';
15 require_once 'HTML/Table.php';
16 require_once '../../../local_lib/HTML_DietMarco.php';
17 require_once '../../../local_lib/HTML_Mensaje.php';
18 require_once 'MECON/HTML/QuickFormSimple.php';
19 require_once 'MECON/HTML/Image.php';
20 require_once 'DB.php';
22 if(!isset($_SESSION['documento'])){
23 header('Location: ../../servicios.php');
28 //CAMBIAR POR INTRANET-DB
29 $dbh = DB::connect("mysql://intranet:intranet@localhost/CDI", true);
30 if (DB::isError($dbh)) {
31 die ($dbh->getMessage());
34 //Usuario que realiza el pedido
35 $nrodoc = $_SESSION['documento'];
36 $user = $_SESSION['usuario'];
37 $solicitante =& new INFOLEG_Solicitante($dbh, $nrodoc, $user);
40 $IMG_Viñeta =& new MECON_HTML_Image('../../images/servicios_flecha_naranja.gif', '>>');
41 $IMG_OK =& new MECON_HTML_Image('../../images/servicios_ok.gif', 'ok');
42 $IMG_Error =& new MECON_HTML_Image('/MECON/images/general_no_autorizado.gif', 'X');
44 //Marco de servicios en intranet
45 $MARCO = new HTML_DietMarco('servicios', 'Pedidos a Infoleg');
46 $MARCO->addTitle('Pedidos a Infoleg');
47 $MARCO->addStyleSheet('../../css/servicios_infoleg.css');
50 if (! isset($_POST['pedido'])){
52 if (! INFOLEG_Operador::oprDisponibleIntranet($dbh)){
53 //No hay operador disponible para atender el pedido => mensaje de error
55 $MSG =& new HTML_Mensaje ('error', 'No hay operadores asignados para atender su pedido', 490);
56 $MARCO->addBodyContent('<br><br>');
57 $MARCO->addBodyContent($MSG);
60 //Datos del solicitante
61 $datos = $solicitante->obtenerDatos();
63 //Elementos del Formulario
64 $FORM =& new MECON_HTML_QuickFormSimple ('form', 'post', './pedido.php', '', 'onSubmit="return validar(this)"');
66 $nombre = (isset($datos['nombre']))?$datos['nombre']:'';
67 $input_nombre =& $FORM->addElement ('text', 'nombre', 'nombre',
68 array('size' => '20', 'maxlength'=>'30', 'value'=>$nombre));
70 $apellido = (isset($datos['apellido']))?$datos['apellido']:'';
71 $input_apellido =& $FORM->addElement ('text', 'apellido', 'apellido',
72 array('size' => '20', 'maxlength'=>'30', 'value'=>$apellido));
74 $tipodocs = array('CI'=>'CI', 'DU'=>'DNI', 'LC'=>'LC', 'LE'=>'LE', 'PS'=>'PS');
75 $select_tipodoc =& $FORM->addElement ('select', 'tipodoc', 'tipodoc', $tipodocs);
76 if (isset($datos['tipodoc'])){
77 $select_tipodoc->setSelected($datos['tipodoc']);
80 $input_nrodoc =& $FORM->addElement ('hidden', 'nrodoc', 'nrodoc', array('value' => $nrodoc));
82 $institucion = (isset($datos['institucion']))?$datos['institucion']:'Ministerio de Economía';
83 $input_institucion =& $FORM->addElement ('text', 'institucion', 'institucion',
84 array('size' => '20', 'maxlength'=>'50', 'value'=>$institucion));
86 $domicilio = (isset($datos['domicilio']))?$datos['domicilio']:'';
87 $input_domicilio =& $FORM->addElement ('text', 'domicilio', 'domicilio',
88 array('size' => '20', 'maxlength'=>'50', 'value'=>$domicilio));
90 $piso = (isset($datos['piso']))?$datos['piso']:'';
91 $input_piso =& $FORM->addElement ('text', 'piso', 'piso',
92 array('size' => '5', 'maxlength'=>'10', 'value'=>$piso));
94 $oficina = (isset($datos['oficina']))?$datos['oficina']:'';
95 $input_oficina =& $FORM->addElement ('text', 'oficina', 'oficina',
96 array('size' => '5', 'maxlength'=>'10', 'value'=>$oficina));
98 $interno = (isset($datos['interno']))?$datos['interno']:'';
99 $input_interno =& $FORM->addElement ('text', 'interno', 'interno',
100 array('size' => '5', 'maxlength'=>'10', 'value'=>$interno));
102 $telefono = (isset($datos['telefono']))?$datos['telefono']:'';
103 $input_telefono =& $FORM->addElement ('text', 'telefono', 'telefono',
104 array('size' => '10', 'maxlength'=>'20', 'value'=>$telefono));
106 $fax = (isset($datos['fax']))?$datos['fax']:'';
107 $input_fax =& $FORM->addElement ('text', 'fax', 'fax',
108 array('size' => '10', 'maxlength'=>'20', 'value'=>$fax));
110 $email = (isset($datos['email']))?$datos['email']:'';
111 $input_email =& $FORM->addElement ('text', 'email', 'email',
112 array('size' => '20', 'maxlength'=>'50', 'value'=>$email));
114 $textarea_pedido =& $FORM->addElement ('textarea', 'pedido', 'pedido', array('cols' => '45', 'rows'=>'5', 'wrap'=>'virtual'));
115 $submit =& $FORM->addElement ('submit', 'Enviar', 'Enviar');
117 //Función para validar el formulario
120 function validar (theForm){
121 if (theForm.nombre.value==''){
122 alert('El campo NOMBRE es obligatorio');
123 theForm.nombre.focus();
126 if (theForm.apellido.value==''){
127 alert('El campo APELLIDO es obligatorio');
128 theForm.apellido.focus();
131 if (theForm.domicilio.value==''){
132 alert('El campo DOMICILIO es obligatorio');
133 theForm.domicilio.focus();
136 if (theForm.piso.value==''){
137 alert('El campo PISO es obligatorio');
138 theForm.piso.focus();
141 if (theForm.oficina.value==''){
142 alert('El campo OFICINA es obligatorio');
143 theForm.oficina.focus();
146 if (theForm.interno.value==''){
147 alert('El campo INTERNO es obligatorio');
148 theForm.interno.focus();
151 if (theForm.email.value==''){
152 alert('El campo E-MAIL es obligatorio');
153 theForm.email.focus();
156 if (theForm.telefono.value==''){
157 theForm.telefono.value='-';
159 if (theForm.institucion.value==''){
160 theForm.institucion.value='-';
162 if (theForm.fax.value==''){
163 theForm.fax.value='-';
165 if (theForm.pedido.value==''){
166 alert('Ingrese su pedido');
167 theForm.pedido.focus();
174 $MARCO->addScriptDeclaration($script);
177 $TABLA =& new MECON_HTML_Tabla(array('width'=>'600', 'align'=>'center'), 'medio');
178 $TABLA->addRow( array($IMG_Viñeta->toHtml().'Datos Personales'));
179 $TABLA->addRow( array('Nombre', $input_nombre->toHtml(), 'Apellido', '', $input_apellido->toHtml()));
180 $TABLA->addRow( array('Documento', $select_tipodoc->tohtml().' '.$nrodoc.$input_nrodoc->toHtml(), 'Institución', '', $input_institucion->toHtml()));
181 $TABLA->addRow( array('Domicilio', $input_domicilio->toHtml(), 'Piso', $input_piso->toHtml(), 'Oficina', $input_oficina->toHtml(), 'Interno', $input_interno->toHtml()));
182 $TABLA->addRow( array('E-mail', $input_email->toHtml(), 'Fax', $input_fax->toHtml(), 'Teléfono', $input_telefono->toHtml()));
183 $TABLA->addRow( array($IMG_Viñeta->toHtml().'Pedido'));
184 $TABLA->addRow( array($textarea_pedido->toHtml()));
185 $TABLA->addRow( array($submit->toHtml()));
187 $TABLA->setColAttributes(0, 'titulo width="100" align="left"');
188 $TABLA->setColAttributes(1, 'comun width="200" align="left"');
189 $TABLA->setColAttributes(2, 'titulo width="50" align="left"');
190 $TABLA->setColAttributes(3, 'comun width="50" align="left"');
191 $TABLA->setColAttributes(4, 'titulo width="50" align="left"');
192 $TABLA->setColAttributes(5, 'comun width="50" align="left"');
193 $TABLA->setColAttributes(6, 'titulo width="50" align="left"');
194 $TABLA->setColAttributes(7, 'comun width="50" align="left"');
195 $TABLA->setCellAttributes(0, 0, 'cabecera colspan="8" align="left"');
196 $TABLA->setCellAttributes(1, 2, 'colspan="2" titulo align="left"');
197 $TABLA->setCellAttributes(2, 2, 'colspan="2" titulo align="left"');
198 $TABLA->setCellAttributes(5, 0, 'cabecera colspan="8" align="left"');
199 $TABLA->setCellAttributes(6, 0, 'comun colspan="8" align="center"');
200 $TABLA->setCellAttributes(7, 0, 'comun colspan="8" align="center"');
201 $TABLA->setCellAttributes(1, 4, 'colspan="4" comun align="left"');
202 $TABLA->setCellAttributes(2, 4, 'colspan="4" comun align="left"');
203 $TABLA->setCellAttributes(4, 5, 'colspan="3" comun align="left"');
205 //Contenido de la página
206 $MARCO->addBodyContent($FORM->getBegin());
207 $MARCO->addBodyContent($TABLA);
208 $MARCO->addBodyContent($FORM->getEnd());
212 //Validar los datos enviados por el cliente
213 if (strlen($_POST['nombre']) == 0 OR
214 strlen($_POST['apellido']) == 0 OR
215 strlen($_POST['tipodoc']) == 0 OR
216 strlen($_POST['nrodoc']) == 0 OR
217 strlen($_POST['domicilio']) == 0 OR
218 strlen($_POST['piso']) == 0 OR
219 strlen($_POST['oficina']) == 0 OR
220 strlen($_POST['interno']) == 0 OR
221 strlen($_POST['email']) == 0 OR
222 strlen($_POST['pedido']) == 0){
225 $MSG =& new HTML_Mensaje ('alerta', 'Datos Incorrectos. Intente nuevamente.', 390);
226 $MARCO->addBodyContent('<br><br>');
227 $MARCO->addBodyContent($MSG);
230 //Validar datos no obligatorios (-)
231 $_POST['institucion'] = (strlen($_POST['institucion'])==0)?'-':$_POST['institucion'];
232 $_POST['fax'] = (strlen($_POST['institucion'])==0)?'-':$_POST['fax'];
233 $_POST['telefono'] = (strlen($_POST['institucion'])==0)?'-':$_POST['telefono'];
236 $solicitante->_actualizarDatos($_POST);
237 $operador_asignado = INFOLEG_Operador::obtenerOprIntranet($dbh);
238 INFOLEG_Pedido::alta($dbh, $_POST['tipodoc'], $_POST['nrodoc'],
239 $operador_asignado, $_POST['pedido']);
241 $MSG =& new HTML_Mensaje ('ok', 'Su pedido ha sido registrado', 300);
242 $MARCO->addBodyContent('<br><br>');
243 $MARCO->addBodyContent($MSG);