facultades.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. <?php
  2. require_once 'class/c_login.php';
  3. require_once 'include/bd_pdo.php';
  4. $user = Login::get_user();
  5. $user->access();
  6. if($user->acceso == null){
  7. header('Location: main.php?error=1');
  8. }else{
  9. $user->print_to_log('Facultades');
  10. }
  11. if($user->admin!=true){
  12. header('Location: carreras.php?facultad='.$user->facultad['facultad_id']);
  13. }
  14. ?>
  15. <!DOCTYPE html>
  16. <html lang="en">
  17. <head>
  18. <meta charset="UTF-8">
  19. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  20. <title>Facultades</title>
  21. <?php
  22. include 'import/html_css_files.php';
  23. ?>
  24. </head>
  25. <body>
  26. <?php
  27. include "import/html_header.php";
  28. html_header(
  29. "FACULTADES",
  30. "Gestión de Checador "
  31. );
  32. $user->access();
  33. if(isset($_POST["estado"])){
  34. echo "estado=".$_POST["estado"];
  35. }
  36. if(isset($_POST["desc"])){
  37. $desc=$_POST["desc"];
  38. $filter_desc = trim(filter_input(INPUT_POST, "desc", FILTER_SANITIZE_STRING, array('flags' => FILTER_FLAG_STRIP_LOW)));
  39. }else{
  40. $desc=null;
  41. }
  42. if($user->admin==true){
  43. $fs_facultades = query(
  44. "SELECT * FROM fs_facultades(:nombre)",
  45. array(":nombre" => $desc),
  46. single:false
  47. );
  48. }else{
  49. $fs_facultades = query(
  50. "SELECT * FROM fs_facultades(:nombre) where facultad_id = :facultad",
  51. array(":nombre" => $desc, ":facultad" => $user->facultad["facultad_id"]),
  52. single:false
  53. );
  54. }
  55. ?>
  56. <main class="content marco">
  57. <?php if($user->admin==true) {?>
  58. <div class="row">
  59. <div class="col-12 text-right">
  60. <button type="button" class="btn btn-outline-secondary" data-toggle="modal" data-target="#modal" data-tipo="1"><span class="ing-mas ing-fw"></span>Crear facultad</button>
  61. </div>
  62. </div>
  63. <?php }?>
  64. <!-- Filtro -->
  65. <div class="row">
  66. <div class="col-12">
  67. <form action="facultades.php" method="post">
  68. <div class="form-box">
  69. <div class="form-group row">
  70. <label for="filter_desc" class="col-4 col-form-label">Facultad</label>
  71. <div class="col-8 col-sm-4">
  72. <input id="filter_desc" name="desc" type="text" class="form-control"<?php if(isset($filter_desc)){ echo'value="'.$filter_desc.'"';}?>>
  73. </div>
  74. </div>
  75. </div>
  76. <div class="form-group row">
  77. <div class="col-12 text-center">
  78. <button type="submit" class="btn btn-outline-primary">
  79. <span class="ing-buscar ing-fw"></span>
  80. Filtrar
  81. </button>
  82. <button type="submit" class="btn btn-outline-danger btn-reset">
  83. <span class="ing-borrar ing-fw"></span>
  84. Limpiar
  85. </button>
  86. </div>
  87. </div>
  88. </form>
  89. </div>
  90. </div>
  91. <!-- Tabla -->
  92. <div class="row">
  93. <div class="col-12 table-responsive">
  94. <table class="table table-sm table-striped table-white">
  95. <thead class="thead-dark">
  96. <tr>
  97. <th>Estado</th>
  98. <th>Facultad</th>
  99. <?php if($user->acceso == 'w') {?>
  100. <th>Acciones</th>
  101. <?php }?>
  102. </tr>
  103. </thead>
  104. <tbody>
  105. <?php
  106. foreach($fs_facultades as $facultad){
  107. ?>
  108. <tr data-id="<?php echo $facultad["facultad_id"];?>" id="<?php echo $facultad["facultad_id"];?>">
  109. <?php
  110. $color = "danger";
  111. $title = "Inactiva";
  112. if($facultad["facultad_activa"]==1){
  113. $color ="success";
  114. $title="Activa";
  115. }
  116. ?>
  117. <td class="text-<?php echo $color;?> text-center" title="<?php echo $title;?>">
  118. <span class="ing-bullet"></span>
  119. </td>
  120. <td class="text-primary"><?php echo $facultad["facultad_nombre"];?></td>
  121. <?php if($user->acceso == 'w') {?>
  122. <td class="text-center icono-acciones">
  123. <a href="#" data-toggle="modal" data-target="#modal" data-tipo="2" title="Editar"><span class="ing-editar ing-fw"></span></a>
  124. <a href="carreras.php?facultad=<?php echo $facultad["facultad_id"];?>" title="Agregar carreras o periodos"><span class="ing-mas inf-fw"></span></a>
  125. </td>
  126. <?php }?>
  127. </tr>
  128. <?php }?>
  129. </tbody>
  130. </table>
  131. <div id="message"></div>
  132. </div>
  133. </div>
  134. </main>
  135. <!-- Footer -->
  136. <?php
  137. include "import/html_footer.php";
  138. ?>
  139. <!-- Modal -->
  140. <div class="modal fade" id="modal" tabindex="-1" role="dialog" arialabelledby="modal" aria-hidden="true">
  141. <div class="modal-dialog modal-dialog-centered" role="document">
  142. <div class="modal-content">
  143. <div class="modal-header">
  144. <h4 class="col-12 modal-title text-center">
  145. <span id="modalLabel">
  146. Editar nombre de Facultad
  147. </span>
  148. <button type="button" class="close text-white" data-dismiss="modal" aria-label="Close">
  149. <span aria-hidden="true">&times;</span>
  150. </button>
  151. </h4>
  152. </div>
  153. <div class="modal-body">
  154. <form action="" method="post" id="formaModal" onsubmit="return valida_campos()">
  155. <input type="hidden" name="id" id="id">
  156. <div class="form-box">
  157. <div class="form-group row">
  158. <label for="nombre" class="col-4 col-form-label">Nombre *</label>
  159. <div class="col-8">
  160. <input id="nombre" name="nombre" type="text" class="form-control" maxlength="100">
  161. </div>
  162. </div>
  163. <div class="form-group row">
  164. <label for="estado" class="col-4 col-form-label">Estado *</label>
  165. <div class="col-4">
  166. <div class="form-check form-check-inline">
  167. <input class="form-check-input radio-lg" type="radio" id="estado_activo" name="estado" value="1" checked="checked">
  168. <label for="estado_activo" class="col-form-label">Activo</label>
  169. </div>
  170. </div>
  171. <div class="col-4">
  172. <div class="form-check form-check-inline">
  173. <input class="form-check-input radio-lg" type="radio" id="estado_inactivo" name="estado" value="0">
  174. <label for="estado_inactivo" class="col-form-label">Inactivo</label>
  175. </div>
  176. </div>
  177. </div>
  178. <div class ="form-group row mt-3">
  179. <div class="offset-4 col-8">
  180. <button type="submit" class="btn btn-outline-primary" id="submitBtn" data-tipo="1">
  181. <span class="ing-aceptar ing-fw"></span> Guardar
  182. </button>
  183. <button type="reset" class="btn btn-outline-danger" data-dismiss="modal">
  184. <span class="ing-cancelar ing-fw"></span> Cancelar
  185. </button>
  186. </div>
  187. </div>
  188. </div>
  189. </form>
  190. </div>
  191. </div>
  192. </div>
  193. </div>
  194. <script src="js/jquery.min.js"></script>
  195. <script src="js/bootstrap/bootstrap.min.js"></script>
  196. <?php
  197. require_once 'js/messages.php';
  198. ?>
  199. <script>
  200. <?php if(!$fs_facultades){?>
  201. triggerMessage("No se encontraron facultades con estos datos", "Error");
  202. <?php }?>
  203. function valida_campos(){
  204. var error=false;
  205. if($("#nombre").val()==""){
  206. $("#nombre").addClass("is-invalid");
  207. error=true;
  208. }else{
  209. $("#nombre").removeClass("is-invalid");
  210. }
  211. if($('#estado_activo').prop('checked') == false && $('#estado_inactivo').prop('checked') == false){
  212. error=true;
  213. }
  214. if(error){
  215. return false;
  216. }else{
  217. var btn = $('#submitBtn');
  218. if(btn.data("tipo")==2)//update
  219. $('#formaModal').prop("action", "./action/action_facultades_update.php");
  220. else//insert
  221. $('#formaModal').prop("action", "./action/action_facultades_insert.php");
  222. }
  223. }
  224. $(document).on("click", ".btn-reset", function(event){
  225. var forma = $(this).parents("form");
  226. forma.find("input[type=text]").val("");
  227. setDatalistFirst("#filter_desc");
  228. forma.submit();
  229. });
  230. $('#modal').on('show.bs.modal', function(event){
  231. var button = $(event.relatedTarget);
  232. var tipo = button.data('tipo');
  233. var modal = $(this);
  234. if(tipo == 1){//crear
  235. $("#submitBtn").data('tipo', 1);
  236. $("#modalLabel").html("Crear Facultad");
  237. $("#nombre").val("");
  238. $('#estado_inactivo').prop('checked', false);
  239. $('#estado_activo').prop('checked', true);
  240. }else{//editar
  241. $("#submitBtn").data('tipo', 2);
  242. $("#modalLabel").html("Editar Facultad");
  243. $("#nombre").val("");
  244. $('#estado_inactivo').prop('checked', false);
  245. $('#estado_activo').prop('checked', true);
  246. var id = $(event.relatedTarget).parents("tr").data("id");
  247. $.ajax({
  248. url:"action/action_facultades_select.php",
  249. type:"post",
  250. dataType:"json",
  251. data:{id_facultad: id},
  252. success:function(result){
  253. $("#id").val(result[0]["facultad_id"]);
  254. $("#nombre").val(result[0]["facultad_nombre"]);
  255. if(result[0]["facultad_activa"]==1){
  256. $('#estado_inactivo').prop('checked', false);
  257. $('#estado_activo').prop('checked', true);
  258. }else{
  259. $('#estado_inactivo').prop('checked', true);
  260. $('#estado_activo').prop('checked', false);
  261. }
  262. },
  263. error: function(){console.log("Error")}
  264. });
  265. }
  266. });
  267. </script>
  268. </body>
  269. </html>