]> git.llucax.com Git - mecon/intranet.git/blobdiff - sistema/www/servicios/bandas/banda_agente.php
Se realizan correcciones varias derivadas del primer testing.
[mecon/intranet.git] / sistema / www / servicios / bandas / banda_agente.php
index 296aa9c315dc242a1c56d0150b7fa46959ea5e10..9fbbf87f55be9ea2be1b3e9696e94720c3168a62 100644 (file)
@@ -1,26 +1,20 @@
 <?
-require_once '../../../local_lib/HTML_DietMarco.php';
+require_once 'HTML_DietMarco.php';
+require_once 'HTML_Mensaje.php';
+require_once 'HTML/Table.php';
 require_once 'MECON/HTML/Image.php';
 require_once 'MECON/HTML/Link.php';
 require_once 'MECON/Dependencia.php';
 require_once 'MECON/NovedadesDia.php';
-require_once 'BandasNovedades/AgenteBanda.php';
-require_once 'HTML/Table.php';
 require_once 'MECON/HTML/Tabla.php';
+require_once 'BandasNovedades/AgenteBanda.php';
 require_once 'BandasNovedades/HTML/TablaInfoMes.php';
 require_once 'BandasNovedades/HTML/TablaReferencias.php';
 require_once 'BandasNovedades/HTML/TablaInfoPersonal.php';
-require_once 'DB.php';
 
 if(!isset($_SESSION['documento']) or !isset($_POST['fecha']))
 {
-       header('Location: ../../servicios.php');
-}
-
-//CREO LA CONEXION A LA BASE DE DATOS
-$dbh = DB::connect("mysql://intranet:intranet@bal747f/bandas",true);
-if (DB::isError($dbh)) {
-    die ($DB->getMessage());
+       header('Location: ../../servicios/');
 }
 
 //Seteo las variables generales
@@ -29,43 +23,35 @@ setlocale (LC_ALL, 'es_AR');
 $fecha = $_POST['fecha'];
 $fecha_spliteada = split('-',$fecha);
 
-$agente =& new BandasNovedades_AgenteBanda($nrodoc,new date($fecha),$dbh);
-if(!$agente->buscarAgente($nrodoc))
-{
-       echo "El agente no está en las bases de RRHH";
-       die;
-}
 
 /* Instancio DietMarco que sirve para mostrar la pagina dentro del marco de Intranet*/
 $m =& new HTML_DietMarco('servicios','Bandas Horarias');
-$m->addTitle('Bandas Horarias');
+//$m->addTitle('Bandas Horarias');
 $m->addStyleSheet('../../css/servicios_bandas.css');
 
+$agente =& new BandasNovedades_AgenteBanda($nrodoc,new date($fecha),$DB);
+
+if(!$agente->buscarAgente($nrodoc))
+{
+       $HTML_Mensaje =& new HTML_Mensaje("alerta","El agente no está en las bases de RRHH",450);
+       $m->addStyleSheet($HTML_Mensaje->getCSS());
+       $m->addBodyContent($HTML_Mensaje);
+       $m->display();
+       exit;
+}
+
+
 /* Si el agente es un contratado entonces no muestro la info */
 if(preg_match('/^CON/',$agente->getTipo()))
 {
-       /* Instancio un objeto Table para el cuerpo de la pagina*/
-       $tabla_cuerpo =& new HTML_Table(array(  'width'=>'220',
-                                                                                       'border'=>'0',
-                                                                                       'align'=>'center',
-                                                                                       'cellspacing'=>'0',
-                                                                                       'cellpadding'=>'0'));
-
-       $IMG_NO_AUTORIZADO =& new MECON_HTML_Image('/MECON/images/general_no_autorizado.gif',
-                                                                                               '',array('alt'=>'No disponible'));
-       $tabla_cuerpo->addRow(array($IMG_NO_AUTORIZADO),array('align'=>'center'));
-       $tabla_cuerpo->addRow(array('Información no disponible'),array('class'=>'titulo_uno'));
-       $m->addBodyContent('<div align=center>');
-       $m->addBodyContent($tabla_cuerpo);
-       $m->addBodyContent('</div>');
-       $IMG_VOLVER =& new MECON_HTML_Image('/MECON/images/general_volver4.gif','',array('alt'=>'volver'));
-       $link_volver =& new MECON_HTML_LINK('./','volver');
-       $m->addBodyContent('<br>');
-       $m->addBodyContent($IMG_VOLVER->toHtml().' '.$link_volver->toHtml());
+       $HTML_Mensaje =& new HTML_Mensaje("alerta","Información no disponible",300);
+       $m->addStyleSheet($HTML_Mensaje->getCSS());
+       $m->addBodyContent($HTML_Mensaje);
        $m->display();
-       die;
+       exit;
 }
 
+
 /* Instancio un objeto Table para el cuerpo de la pagina*/
 $tabla_cuerpo =& new HTML_Table(array('width'=>'760','border'=>'0','cellspacing'=>'0','cellpadding'=>'0'));
 
@@ -132,7 +118,7 @@ con las referencias de cada color de las celdas
 
 /* Armo la tabla de la información personal */
 
-$tabla_info_personal =& new BandasNovedades_HTML_TablaInfoPersonal($agente,'oscuro');
+$tabla_info_personal =& new BandasNovedades_HTML_TablaInfoPersonal($DB,$agente,'oscuro');
 $m->addStyleSheet($tabla_info_personal->getCSS());
 
 
@@ -143,17 +129,27 @@ $t =& new HTML_Table(array('width'=>'760',
                                                        'cellpadding'=>'0'));
 
 $t->addRow(array($tabla_info_personal),array('colspan'=>'3'));
-$t->addRow(array(''),array('colspan'=>'3'));
-
-/* Armo la tabla con la gilla horaria*/
-$tabla_info =& new BandasNovedades_HTML_TablaInfoMes($agente,'nov_dia.php','oscuro');
-
-/* Armo la tabla de referencias */
-$tabla_referencias =& new BandasNovedades_HTML_TablaReferencias('oscuro');
+$t->addRow(array('&nbsp;'),array('colspan'=>'3'));
 
 /* Agrego las tablas de referencia al cuerpo */
 $row = array();
-$row = array($tabla_info,'&nbsp',$tabla_referencias);
+
+if(BandasNovedades_AgenteBanda::tieneCredencial($DB,$_SESSION['documento'],new Date($fecha)))
+{
+       /* Armo la tabla con la gilla horaria*/
+       $tabla_info =& new BandasNovedades_HTML_TablaInfoMes($agente,'nov_dia.php','oscuro');
+
+       /* Armo la tabla de referencias */
+       $tabla_referencias =& new BandasNovedades_HTML_TablaReferencias('oscuro');
+       
+       $row = array($tabla_info,'&nbsp',$tabla_referencias);
+}else
+{
+       $HTML_Mensaje =& new HTML_Mensaje("alerta","El agente no tiene credencial asignada en este mes",450);
+       $m->addStyleSheet($HTML_Mensaje->getCSS());
+       $row = array($HTML_Mensaje);
+}
+
 $t->addRow($row,array('valign'=>'top'));
 
 if($agente->getReduccionHoraria())
@@ -161,10 +157,13 @@ if($agente->getReduccionHoraria())
        $IMG_reduccion_horaria =& new MECON_HTML_Image('../../images/servicios_bandas_red_hs.gif',
                                                                                                        '',
                                                                                                        array('alt'=>'Agente con reducción horaria'));
-       $row = array('','&nbsp;',$IMG_reduccion_horaria->toHtml());
-       $t->addRow($row,array('valign'=>'middle','align'=>'center'));
-       $t->updateColAttributes(0,array('rowspan'=>2));
+       $row = array('','',$IMG_reduccion_horaria->toHtml());
+}else
+{
+       $row = array('','','');
 }
+$t->addRow($row,array('valign'=>'top','align'=>'center'));
+$t->updateCellAttributes(2,0,array('rowspan'=>2));
 
 /* Esta fila contiene las referencias */
 $row_cuerpo = array($t);
@@ -197,12 +196,12 @@ $MES_ACTUAL =& new date();
 $FECHA_PEDIDA =& new date($fecha);
 if($MES_ACTUAL->getmonth()==$FECHA_PEDIDA->getmonth() && $MES_ACTUAL->getyear()==$FECHA_PEDIDA->getyear())
 {
-       $sql = "Select fecha from FechaActualizacion where tipoActualizacion='DIARIO'
+       $sql = "Select fecha from bandas.FechaActualizacion where tipoActualizacion='DIARIO'
                        order by fecha desc limit 1";
-       $result = $dbh->query($sql);
+       $result = $DB->query($sql);
 
        if (DB::isError($result))
-               die ($result->getMessage("Query mal hecho"));
+               trigger_error($result->getMessage("Query mal hecho"), E_USER_ERROR);
 
        $FECHA_ACTUALIZACION=$result->fetchRow(DB_FETCHMODE_ASSOC);