123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353 |
- <?php
- require_once("../include/constantes.php");
- require_once("../include/util.php");
- require_once("../include/bd_pdo.php");
- require_once("../classes/ValidaSesion.php");
- require_once("../classes/MainMenu.php");
- $menu = 32;
- $submenu = 321;
- //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
- $objSesion = new ValidaSesion($pdo, $submenu, CONSTANCIA);
- if(!$objSesion->tieneAcceso()){
- $objSesion->terminaSesion();
- }
- $objSesion->validaPeriodoUsuario();//si no tiene periodo manda a main
-
- ?>
- <!DOCTYPE html>
- <html lang="es" prefix="og: http://ogp.me/ns#">
- <head>
- <title>Constancias - Facultad de Ingeniería</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <link rel="icon" type="image/png" href="../img/favicon.png" />
- <link rel="stylesheet" href="../css/bootstrap-ulsa.min.css" type="text/css">
- <link rel="stylesheet" href="../css/indivisa.css" type="text/css">
- <link rel="stylesheet" href="../css/sgi.css?rand=<?php echo rand();?>" type="text/css">
- <link rel="stylesheet" href="../css/fa_all.css" type="text/css">
- <link rel="stylesheet" href="../css/jquery-ui.css" type="text/css">
- <link rel="stylesheet" href="../css/calendar.css" type="text/css">
- </head>
- <body>
- <div>
- <?php
- //--- Objeto que pinta menu
- $menuObj = new MainMenu($_SESSION["usuario_id"], $menu, $pdo, CONSTANCIA, "Consultar constancias");//usr, menu, pdo, sist
- $menuObj->printMenu();
-
-
- $stmt = $pdo->prepare('Select * from fs_constancialogtipo(NULL)');
- if($stmt->execute()){
- $tipo_rs = $stmt->fetchAll();
- }
- $stmt->closeCursor();
- $stmt = null;
- $folio1 = "";
-
- if(isset($_POST["folio1"])){
- $folio1 = trim(filter_input(INPUT_POST, "folio1", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto
- $sist = "";
- switch(strtoupper($folio1[0])){
- case 'X': $sist = CONSTANCIA; break;
- case 'G': $sist = GEMA; break;
- case 'C': $sist = CIDIT; break;
- }
- $evento = intval(substr($folio1, 1, strlen($folio1)));
- if(!empty($_POST["folio2"])){
- $serial = intval(filter_input(INPUT_POST, "folio2", FILTER_SANITIZE_NUMBER_INT));//limpia texto
- $stmt = $pdo->prepare('Select * from fs_constancialog(:sist, :evento, :serial)');
- $stmt->bindParam(":serial", $serial);
- $serial = sprintf("%04d", $serial);
- }else{
- $stmt = $pdo->prepare('Select * from fs_constancialog(:sist, :evento, NULL)');
- }
- $stmt->bindParam(":sist", $sist);
- $stmt->bindParam(":evento", $evento);
-
- if($stmt->execute()){
- $constancia_rs = $stmt->fetchAll();
- if(count($constancia_rs) == 0){
- $errorDesc = "No se encontraron constancias con ese folio";
- }
- }
- $stmt->closeCursor();
- $stmt = null;
-
- }
-
- //--Manejo de errores y mensajes de exito
- if(isset($_GET["error"]) && is_numeric($_GET["error"])){
- switch ($_GET["error"]){
- case 0: $errorDesc = "No se reciberon los datos para cancelar el documento."; break;
- case 1: $errorDesc = "No tienes permisos de realizar esa acción."; break;
- case 2: $errorDesc = "Ocurrió un error al obtener los datos de las constancias."; break;
- case 3: $errorDesc = "Ocurrió un error al cancelar el documento."; break;
- }
- }
- if(isset($_GET["ok"]) && is_numeric($_GET["ok"])){
- switch ($_GET["ok"]){
- case 0: $successDesc = "El documento se canceló correctamente."; break;
- }
- }
- ?>
- <main class="container-fluid content marco">
- <?php include_once("../include/errorMessage.php");?>
- <form action="constancias_busca.php" method="post" id="formaConstancias" onsubmit="return validaForm()">
- <div class="form-box form-box-info">
-
- <div class="form-group row">
- <label for="folio1" class="col-4 col-form-label">Folio del documento *</label>
- <div class="col-2 col-md-1">
- <input type="text" class="form-control bg-white" value="FI" readonly="readonly" required="required">
- </div>
- <div class="col-2 col-md-2">
- <input type="text" name="folio1" id="folio1" class="form-control" value="<?php echo $folio1;?>" required="required" maxlength="5">
- </div>
- <div class="col-3 col-md-2">
- <input type="number" name="folio2" id="folio2" class="form-control" value="<?php if(isset($serial)){ echo $serial; }?>" maxlength="5" min="1" max="9999">
- </div>
- </div>
- </div>
- <div class="form-group row">
- <div class="col-12 text-center">
- <button type="submit" class="btn btn-outline-primary btn-buscar"><?php echo $ICO["buscar"];?> Buscar</button>
- </div>
- </div>
- </form>
- <div>
- <p>El folio de las constancias se compone de 3 partes: Facultad, sistema y número consecutivo. Las claves de sistema son las siguients:</p>
- <ul>
- <li><b>C</b> - Sistema CIDIT, seguido del número de concurso</li>
- <li><b>G</b> - Sistema GEMA, seguido del número (ID) de evento</li>
- <li><b>X</b> - Otros eventos, seguido del año en el que se emitió</li>
- </ul>
- </div>
- <?php if(isset($constancia_rs) && count($constancia_rs)>0){ ?>
- <div class="row mt-5">
- <div class="col-12 table-responsive">
- <table class="table table-sm table-striped table-white">
- <thead class="thead-dark">
- <tr>
- <th style="width:70px;">Activo</th>
- <th>Tipo</th>
- <th>Otorgada a</th>
- <th>Evento</th>
- <th>Generada</th>
- <th style="width:110px;">Acciones</th>
- <?php if($objSesion->puedeEditar()){ ?>
- <th style="width:35px;" class="pl-2">
- <div class="custom-control custom-checkbox">
- <input type="checkbox" class="custom-control-input" id="selectAll">
- <label class="custom-control-label" for="selectAll"></label>
- </div>
- </th>
- </th>
- <?php } ?>
- </tr>
- </thead>
- <tbody>
- <?php foreach($constancia_rs as $constancia){?>
- <tr <?php if(!$constancia["ConstanciaLog_activa"]){ echo 'class="text-info"'; }?> id="const<?php echo $constancia["ConstanciaLog_id"];?>" data-id="<?php echo $constancia["ConstanciaLog_id"];?>">
- <td class="text-center align-middle"><?php if($constancia["ConstanciaLog_activa"]){ echo $ICO["aceptar"];}else{ echo $ICO["menos"];} ?></td>
- <td class="text-center"><b><?php echo $constancia["ConstanciaLogTipo_desc"];?></b><br><small>FI-<?php echo strtoupper($folio1);?>-<?php echo sprintf("%04d", $constancia["ConstanciaLog_id"]);?></small></td>
- <td class="align-middle"><?php echo $constancia["ConstanciaLog_participante"];?><br><small><?php echo $constancia["ConstanciaLog_motivo"]; ?></small></td>
- <td class="text-center align-middle"><?php echo $constancia["ConstanciaLog_evento"];?></td>
- <td class="text-center align-middle"><?php echo date("d/m/Y h:i", strtotime($constancia["ConstanciaLog_fecha_generacion"]));?></td>
- <td class="text-center align-middle">
- <?php if($constancia["ConstanciaLog_activa"]){?>
- <a href="./export/pdf_constancias.php?sist=<?php echo $sist;?>&ev=<?php echo $evento;?>&id=<?php echo $constancia["ConstanciaLog_id"];?>" title="Ver" target="_blank"><?php echo $ICO["ver"];?></a>
- <?php if($objSesion->puedeEditar() && $constancia["ConstanciaLog_activa"]){ ?>
- <a href="#" data-toggle="modal" data-target="#modal_confirm" title="Cancelar"><?php echo $ICO["borrar2"];?></a>
- <!--<a href="#" data-toggle="modal" data-target="#modal_nueva" title="Editar"><?php echo $ICO["editar"];?></a>-->
- <?php } ?>
- <?php } else {?>
- <a href="#" data-toggle="modal" data-target="#modal_motivo" data-text="<?php echo $constancia["ConstanciaLog_motivo_cancelacion"]; ?>" title="Motivo"><?php echo $ICO["ver"];?></a>
- <?php } ?>
- </td>
- <?php if($objSesion->puedeEditar()){ ?>
- <td class="pl-2 text-center align-middle">
- <?php if($constancia["ConstanciaLog_activa"]){ ?>
- <div class="custom-control custom-checkbox">
- <input type="checkbox" class="custom-control-input select_constancia" id="check<?php echo $constancia["ConstanciaLog_id"];?>" name="folio[]" value="<?php echo $constancia["ConstanciaLog_id"];?>">
- <label class="custom-control-label" for="check<?php echo $constancia["ConstanciaLog_id"];?>"></label>
- </div>
- <?php } ?>
- </td>
- <?php } ?>
- </tr>
- <?php } ?>
- </tbody>
- </table>
- </div>
- </div>
- <?php if($objSesion->puedeEditar()){ ?>
- <div class="row justify-content-center my-2">
- <div class="col-8 col-md-4 text-center">
- <!--<div class="input-group">
- <div class="datalist datalist-select mb-1 w-100 disabled">
- <div class="datalist-input"> </div>
- <span class="ing-buscar icono"></span>
- <ul style="display:none">
- <li data-id="asignamateria.php">Cancelar seleccionadas</li>
- <li data-id="asignarevalida.php">Editar seleccionadas</li>
- </ul>
- <input type="hidden" id="accion_lote" name="accion_lote" value="">
- </div>
- </div>-->
- <button type="button" data-toggle="modal" data-target="#modal_confirm" class="btn btn-outline-primary" id="btn_lote"><?php echo $ICO["borrar2"];?> Cancelar seleccionadas</button>
- </div>
- </div>
- <?php } ?>
- <?php } ?>
- </main>
- <!--- FOOTER--->
- <?php require_once("../include/footer.php"); ?>
- <!-- Modal -->
- <div class="modal fade" id="modal_motivo" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
- <div class="modal-dialog modal-dialog-centered" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h4 class="col-12 modal-title text-center">Documento cancelado
- <button type="button" class="close text-white" data-dismiss="modal" aria-label="Close">
- <span aria-hidden="true">×</span>
- </button></h4>
- </div>
-
- <div class="modal-body">
- <div class="row">
- <div class="col-4">
- <h5 class="text-right font-weight-bold barra-right">Motivo</h5>
- </div>
- <div class="col-8">
- <p id="motivo-text" style="margin-top:2px;">Motivo de cancelación</p>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <?php if($objSesion->puedeEditar() && isset($sist, $evento)){ ?>
-
- <div class="modal fade" id="modal_confirm" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
- <div class="modal-dialog modal-dialog-centered" role="document">
- <div class="modal-content">
- <form action="./action/constancia_update.php" id="formCancela" onsubmit="return validaBaja()" method="post">
- <div class="modal-body">
- <div class="row">
- <div class="col">
- <p class="font-weight-bold">¿Estás seguro de que quieres cancelar el documento?</p>
- <p>Una vez cancelado no se puede recuperar. Los folios de documentos cancelados no son visibles para los participantes.</p>
- <p>Escribe el motivo de cancelación:</p>
- <textarea rows="3" class="form-control" id="desc" name="desc"></textarea>
- </div>
- </div>
- </div>
- <div class="modal-footer">
- <input type="hidden" name="sistema" id="sistema_borra" value="<?php echo $sist;?>">
- <input type="hidden" name="evento" id="evento_borra" value="<?php echo $evento;?>">
- <input type="hidden" name="serial" id="serial_borra" value="">
-
- <button type="submit" class="btn btn-outline-primary"><?php echo $ICO["aceptar"];?> Continuar</button>
- <button type="button" class="btn btn-outline-danger" data-dismiss="modal" aria-label="Close"><?php echo $ICO["cancelar"];?> Cancelar</button>
- </div>
- </form>
- </div>
- </div>
- </div>
- <?php } ?>
-
- </div>
-
- <script src="../js/jquery.min.js"></script>
- <script src="../js/jquery-ui.js"></script>
- <script src="../js/datepicker-es.js"></script>
- <script src="../js/bootstrap/popper.min.js"></script>
- <script src="../js/bootstrap/bootstrap.min.js"></script>
- <script src="../js/fechas.js"></script>
- <script src="../js/sidebarmenu.js"></script>
- <script src="../js/util.js"></script>
- <script src="../js/datalist.js"></script>
-
- <script>
- function validaForm(){
- $("#folio1").removeClass("is-invalid");
- $("#folio2").removeClass("is-invalid");
- if(trim($("#folio1").val())=="" && trim($("#folio2").val())==""){
- $("#folio1").addClass("is-invalid");
- $("#folio2").addClass("is-invalid");
- $("#errorBox").collapse('show');
- $('#messageBox')[0].scrollIntoView({ block: "end" });
- $("#errorBox_text").html("Debes completar todos los campos");
- return false;
- }
- return true;
- }
-
- $('#modal_motivo').on('show.bs.modal', function (e) {
- var motivo = $(e.relatedTarget).data("text");
- $('#motivo-text').html(motivo);
- });
- <?php if($objSesion->puedeEditar()){ ?>
- function validaBaja(){
- if(trim($("#desc").val() ) == "" ){
- $("#desc").addClass("is-invalid");
- return false;
- }
- return true;
- }
- $("#btn_lote").prop("disabled", true);
- $("#selectAll").change(function(){
- var check = $(this).prop("checked");
- $(".select_constancia").prop("checked", check);
-
- if( $('.select_constancia:checked').length > 0)
- $("#btn_lote").prop("disabled", !check);
- });
- $(".select_constancia").change(function(event){
- event.stopPropagation();
- //var check = $(this).prop("checked");
- var numberOfChecked = $('.select_constancia:checked').length;
- var totalCheckboxes = $('.select_constancia').length;
- if(numberOfChecked == totalCheckboxes){
- $("#selectAll").prop("checked", true);
- }else{
- $("#selectAll").prop("checked", false);
- }
- if(numberOfChecked > 0){
- $("#btn_lote").prop("disabled", false);
- }else{
- $("#btn_lote").prop("disabled", true);
- }
- });
- $('#modal_confirm').on('show.bs.modal', function (e) {
- var id_list = "";
- $('.select_constancia:checked').each(function(index) {
- id_list+=$(this).val()+",";
- });
- $('#serial_borra').val(id_list);
- });
- <?php } ?>
- </script>
-
- </body>
- </html>
|