periodo.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <script src="js/jquery.min.js"></script>
  2. <form action="action/action_periodousuario_update.php" method="post" id="formaPeriodo">
  3. <div class="row">
  4. <div class="col-12">
  5. <?php
  6. $target = $target ?? strtok($_SERVER["REQUEST_URI"], '?');
  7. $periodos = queryAll("SELECT * FROM FS_PERIODO WHERE FACULTAD_ID = COALESCE(:fac, FACULTAD_ID) ORDER BY INICIO DESC", [":fac" => $user->admin ? null : $user->facultad['facultad_id']]);
  8. // collect facultad_id's with facultad from $periodos
  9. if ($user->admin)
  10. $facultades = array_unique(array_column($periodos, 'facultad', 'facultad_id'));
  11. ?>
  12. <input type="hidden" name="target" value="<?= $target ?>">
  13. <div class="form-box">
  14. <div class="form-group row">
  15. <label for="periodo" class="col-4 col-form-label">Cambiar de periodo</label>
  16. <div class="col-6">
  17. <div id="dlPeriodo" class="datalist datalist-select mb-1 w-100">
  18. <div class="datalist-input">Selecciona un periodo</div>
  19. <span class="ing-buscar icono"></span>
  20. <ul style="display:none">
  21. <?php if (!$user->admin) foreach ($periodos as $periodo) { ?>
  22. <li data-id="<?= $periodo['id'] ?>">
  23. <?= "{$periodo['nivel']} - {$periodo['periodo']} ({$periodo['estado']})" ?>
  24. </li>
  25. <?php }
  26. else {
  27. foreach ($facultades as $facultad_id => $facultad) {
  28. ?>
  29. <li class="facultad not-selectable" data-id="<?= $facultad_id ?>">
  30. <?= $facultad ?>
  31. </li>
  32. <?php
  33. foreach (array_filter($periodos, fn ($p) => $p['facultad_id'] == $facultad_id) as $periodo) {
  34. ?>
  35. <li data-id="<?= $periodo['id'] ?>">
  36. <?= "{$periodo['nivel']} - {$periodo['periodo']} ({$periodo['estado']})" ?>
  37. </li>
  38. <?php }
  39. }
  40. } ?>
  41. </ul>
  42. <input type="hidden" id="periodo" name="id" value="">
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </form>
  50. <script src="./js/datalist.js"></script>
  51. <script>
  52. setDatalist('#periodo', <?php echo $user->periodo; ?>)
  53. makeRequiredDatalist("#periodo", true);
  54. $(document).on('click', '#dlPeriodo ul li', function() {
  55. $('#formaPeriodo').submit();
  56. });
  57. </script>