periodo.php 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <!-- <script src="js/jquery.min.js"></script> -->
  2. <?
  3. $user or die("Error: no se pudo cargar el usuario");
  4. ?>
  5. <form action="action/action_periodousuario_update.php" method="post" id="formaPeriodo" class="marco">
  6. <div class="row">
  7. <div class="col-12">
  8. <?php
  9. $target = $target ?? strtok($_SERVER["REQUEST_URI"], '?');
  10. $niveles = $db
  11. ->orderBy('nivel_nombre')
  12. ->get("nivel");
  13. // collect facultad_id's with facultad from $periodos
  14. ?>
  15. <input type="hidden" name="target" value="<?= $target ?>">
  16. <div class="form-box">
  17. <div class="form-group row">
  18. <label for="periodo" class="col-4 col-form-label">Cambiar de periodo</label>
  19. <div class="col-6">
  20. <div id="dlPeriodo" class="datalist datalist-select mb-1 w-100">
  21. <div class="datalist-input">
  22. Selecciona un periodo
  23. </div>
  24. <span class="icono ing-buscar"></span>
  25. <ul style="display:none">
  26. <?php
  27. foreach ($niveles as $nivel) {
  28. ?>
  29. <li data-id="<?= $nivel['nivel_id'] ?>" class="not-selectable disable">
  30. <?= $nivel['nivel_nombre'] ?>
  31. </li>
  32. <?
  33. $periodos_rs = $db->query('SELECT periodo_id, periodo_nombre FROM PERIODO_VIEW
  34. WHERE
  35. nivel_id = :nivel_id AND
  36. (facultad_id = :facultad_id OR :facultad_id IS NULL)
  37. GROUP BY periodo_id, periodo_nombre, periodo_fecha_inicio
  38. ORDER BY periodo_fecha_inicio DESC',
  39. [
  40. ':nivel_id' => $nivel['nivel_id'],
  41. ':facultad_id' => $user->facultad['facultad_id']
  42. ]
  43. );
  44. array_walk($periodos_rs, function ($per) {
  45. global $user;
  46. ?>
  47. <li data-id="<?= $per['periodo_id'] ?>" <?php if ($user->periodo_id == $per["periodo_id"]) {
  48. echo 'class="selected"';
  49. } ?>>
  50. <?= $per['periodo_nombre'] ?>
  51. </li>
  52. <?php }); ?>
  53. <?php } ?>
  54. </ul>
  55. <input type="hidden" id="periodo" name="id" value="">
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. </div>
  62. </form>
  63. <script src="./js/datalist.js"></script>
  64. <script>
  65. setDatalist('#periodo', <?= $user->periodo_id; ?>)
  66. makeRequiredDatalist("#periodo", true);
  67. $(document).on('click', '#dlPeriodo ul li:not(.not-selectable)', function () {
  68. setTimeout(() => $('form#formaPeriodo').submit(), 0);
  69. });
  70. </script>