Autorizar solicitudes

This commit is contained in:
2024-04-10 13:28:40 -06:00
parent dd4d9f5663
commit abb66be211
3 changed files with 199 additions and 2 deletions

View File

@@ -0,0 +1,196 @@
<?php
/*
Cambia de estado la reposición
*/
$pag = "../solicitudes_autorizar.php";
$ruta = "../";
require_once "../class/c_login.php";
require_once "../class/manda_correo.php";
define("COORDINADOR", 9);
define("SUPERVISOR", 7);
define("ENVIO_CORREOS", true);
// check if the session is started
if (!isset($_SESSION['user']))
die('No se ha iniciado sesión');
$user = unserialize($_SESSION['user']);
$pag = "../reposiciones_autorizar.php";
if(!isset($_POST["id"]) || !isset($_POST["edo"]) ){
header("Location: ".$pag."?error=0");
exit();
}
$id_sol = filter_input(INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
$edo = filter_input(INPUT_POST, "edo", FILTER_SANITIZE_NUMBER_INT);//limpia texto
$tipo = filter_input(INPUT_POST, "tipo", FILTER_SANITIZE_NUMBER_INT);//limpia texto
if(isset($_POST["salon"]) && $_POST["salon"] != "")
$salon = filter_input(INPUT_POST, "salon", FILTER_SANITIZE_NUMBER_INT);//limpia texto
//--------------
//Obtiene datos de salón asignado
$salon_desc = "Pendiente";
if(!empty($salon)){
$salon_rs = $db->querySingle('SELECT s.salon_id, s.salon_array FROM salon_view s where s.salon_id = :id_salon',
[':id_salon' => $salon]
);
if($salon_rs["salon_id"] == "" || $salon_rs["salon_id"] == NULL){
$salon_desc = "Pendiente";
}else{
$salon_json = json_decode($salon_rs["salon_array"], true);
if($salon_json[0]== "UNIVERSIDAD LA SALLE"){
unset($salon_json[0]);
}
$salon_desc = join(" / ",$salon_json);
}
}
$solicitud_rs = $db->querySingle('SELECT * from fs_solicitud(:id, NULL, NULL, NULL, NULL, NULL, NULL, NULL)', [':id' => $id_sol]);
if($edo == 4){//cancelación
$motivo = "";
if(isset($_POST["motivo"]) && $_POST["motivo"] != "")
$motivo = trim($_POST["motivo"]);
$db->querySingle('SELECT fu_solicitud_cancela(:id, :motivo)',
[':id' => $id_sol, ':motivo' => $motivo]
);
}else{
if(!empty($salon)){
//fu_solicitud(p_solicitud_id, p_fecha_clase , p_fecha_nueva, p_hora_nueva, p_prof_id , p_desc, p_edo, p_alumnos, p_tipoaula , p_salon, p_duracion , p_horario_id , p_bloque, p_ciclo, p_motivo, p_supervisor_id )
$db->querySingle('SELECT fu_solicitud(:id, NULL, NULL, NULL, NULL, NULL, :edo, NULL, NULL,:sal, NULL, NULL, NULL, NULL. NULL, NULL)',
[':id' => $id_sol, ':sal' => $salon, ':edo' => $edo]
);
}else{
$db->querySingle('SELECT fu_solicitud(:id, NULL, NULL, NULL, NULL, NULL, :edo, NULL, NULL,NULL, NULL, NULL, NULL, NULL. NULL, NULL)',
[':id' => $id_sol, ':edo' => $edo]
);
}
}
//fecha_nueva, fecha_clase
$fecha_nueva = $solicitud_rs["fecha_nueva"];
$hora_nueva = $solicitud_rs["hora_nueva"];
$fecha_clase = $solicitud_rs["fecha_clase"];
$hora_clase = $solicitud_rs["horario_hora"];
$duracion_tiempo = $solicitud_rs["duracion_interval"];
if(!empty($fecha_nueva)){
$dia_new = date('w', strtotime($fecha_nueva));
$fecha_nueva = DateTime::createFromFormat('d/m/Y', $fecha_nueva)->format('Y-m-d')." ".$hora;
$fecha_nueva_new = date("Y-m-d", strtotime($fecha_nueva))." ".$duracion_tiempo;
}
if(!empty($fecha_clase)){
$dia_falta = date('w', strtotime($fecha_clase));
$fecha_clase = DateTime::createFromFormat('d/m/Y', $fecha_clase)->format('Y-m-d');
}
switch($edo){
case 2://Correo a supervisor
switch($tipo){
case 1://Reposición
$asunto = "Solicitud - Reposición nueva ".$solicitud_rs["clave_dependencia"]." ".$solicitud_rs["facultad"];
$texto = "<p>Se creó una nueva solicitud de reposición para: <b>".$solicitud_rs["clave_dependencia"]." ".$solicitud_rs["facultad"]."</b>.</p>";
$texto .= "<p><b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> del día <b>".$fecha_clase." a las ".$hora_clase." hrs. </b> se propone reponer el <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b>";
break;
case 2:
$asunto = "Solicitud - Cambio de salón ".$solicitud_rs["clave_dependencia"]." ".$solicitud_rs["facultad"];
$texto = "<p>Se creó una nueva solicitud de cambio de salón.</p>";
$texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. </b>";
break;
case 3:
$asunto = "Solicitud - Asignación de espacio ".$solicitud_rs["clave_dependencia"]." ".$solicitud_rs["facultad"];
$texto = "<p>Se creó una nueva solicitud de asignación de salón.</p>";
$texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. </b>";
break;
case 4:
$asunto = "Solicitud - Cambio permanente ".$solicitud_rs["clave_dependencia"]." ".$solicitud_rs["facultad"];
$texto = "<p>Se creó una nueva solicitud de asignación de salón permanente.</p>";
$texto .= "<p><b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> a partir del día <b>".$fecha_clase." a las ".$hora_orig." hrs. </b> se propone cambiar para el <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b>";
break;
}
//$texto .= "<p>Ingresa al <a href='https://paad.lci.ulsa.mx'>sistema PAAD</a> para autorizarla.</p>";
MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::SUPERVISOR);
$ok = 0;
break;
case 3://Correo a coordinador, profesor y jefe
switch($tipo){
case 1://Reposición
$asunto = "Reposición nueva autorizada ".$solicitud_rs["materia"];
$texto = "<p>Se autorizó la solicitud de reposición.</p>";
$texto .= "<p><b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> del día <b>".$fecha_clase." a las ".$hora_clase." hrs. se repondrá el <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en ".$salon_desc."</b>";
break;
case 2:
$asunto = "Cambio de salón autorizado";
$texto = "<p>Se autorizó la solicitud de cambio de salón.</p>";
$texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en ".$salon_desc."</b>";
break;
case 3:
$asunto = "Asignación de espacio autorizada";
$texto = "<p>Se autorizó la asignación de salón.</p>";
$texto .= "<p>El día <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en ".$salon_desc."</b>";
break;
case 4:
$asunto = "Cambio permanente autorizado ".$solicitud_rs["materia_nombre"];
$texto = "<p>Se autorizó cambio de salón permanente.</p>";
$texto .= "<p><b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> a partir del día <b>".$fecha_clase."</b> la clase será el <b>".$fecha_nueva." a las ".$hora_nueva." hrs. en ".$salon_desc."</b>";
break;
}
$ok = 0;
$db->querySingle('SELECT fu_reposicion_solicitud_supervisor(:id, :sup)',
[':id' => $id_sol, ':sup'=>$user->user["id"]]
);
MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::COORDINADOR| MandaCorreos::PROFESOR| MandaCorreos::JEFE);
break;
case 4://Correo a coordinador, profesor y jefe
switch($tipo){
case 1://Reposición
$asunto = "Reposición declinada ".$solicitud_rs["materia"];
$texto = "<p>La reposición de <b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> del día <b>".$fecha_clase." a las ".$hora_clase." hrs.</b> programada para el <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b> ha sido declinada por el siguiente motivo</p>";
break;
case 2:
$asunto = "Cambio de salón declinado";
$texto = "<p>La solicitud de cambio de salón para el día <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b> ha sido declinada por el siguiente motivo</p>";
break;
case 3:
$asunto = "Asignación de espacio declinada";
$texto = "<p>La asignación de salón para el día <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b> ha sido declinada por el siguiente motivo</p>";
break;
case 4:
$asunto = "Cambio permanente declinado ".$solicitud_rs["materia_nombre"];
$texto = "<p>El cambio de salón permanente de <b>".mb_strtoupper($solicitud_rs["materia_nombre"])."</b> del día <b>".$fecha_clase." a las ".$hora_clase." hrs.</b> programada para el <b>".$fecha_nueva." a las ".$hora_nueva." hrs.</b> ha sido declinada por el siguiente motivo</p>";
break;
}
$texto .= "<p style='font-style:italic; padding-left:25px'>".$solicitud_rs["motivo"]."</p>";
$ok = 1;
$db->querySingle('SELECT fu_reposicion_solicitud_supervisor(:id, :sup)',
[':id' => $id_sol, ':sup'=>$user->user["id"]]
);
MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::COORDINADOR| MandaCorreos::PROFESOR| MandaCorreos::JEFE);
break;
}
/*
$log->appendLog($_SESSION["usuario_id"], $_SESSION["usuario_nombre"]." ".$_SESSION["usuario_apellidos"], $desc_log);
*/
header("Location: ".$pag."?ok=".$ok);
exit();
?>

View File

@@ -196,6 +196,7 @@ try{
MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::COORDINADOR); MandaCorreos::enviarCorreo($db, $asunto, $texto, $user->facultad["facultad_id"], MandaCorreos::COORDINADOR);
header("Location: ".$pag."?ok=0"); header("Location: ".$pag."?ok=0");
exit(); exit();
?> ?>

View File

@@ -371,7 +371,7 @@ if($user->periodo_id!= ""){
</button></h4> </button></h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form action="./action/reposicion_autoriza.php" method="post" id="formaModal"> <form action="./action/solicitud_autoriza.php" method="post" id="formaModal">
<input type="hidden" name="id" id="id"> <input type="hidden" name="id" id="id">
<input type="hidden" name="edo" id="edo" value=""> <input type="hidden" name="edo" id="edo" value="">
<input type="hidden" name="tipo" id="tipo" value=""> <input type="hidden" name="tipo" id="tipo" value="">
@@ -573,7 +573,7 @@ if($user->periodo_id!= ""){
</div> </div>
</div> </div>
<form action="./action/reposicion_autoriza.php" method="post"> <form action="./action/solicitud_autoriza.php" method="post">
<div class="row"> <div class="row">
<div class="col-6 col-sm-4 barra-right text-right"> <div class="col-6 col-sm-4 barra-right text-right">
<p class="font-weight-bold">Motivo</p> <p class="font-weight-bold">Motivo</p>