permisos.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. require_once 'class/c_login.php';
  3. require_once 'include/bd_pdo.php';
  4. if (!isset($_SESSION['user'])){
  5. header('Location: index.php');
  6. exit;
  7. }
  8. else
  9. $user = unserialize($_SESSION['user']);
  10. $user->access();
  11. if(!$user->admin && $user->acceso == 'n'){
  12. header('Location: main.php?error=1');
  13. }else{
  14. $user->print_to_log('Permisos');
  15. }
  16. ?>
  17. <!DOCTYPE html>
  18. <html lang="en">
  19. <head>
  20. <meta charset="UTF-8">
  21. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  22. <title>Permisos</title>
  23. <?php
  24. include 'import/html_css_files.php';
  25. ?>
  26. </head>
  27. <body>
  28. <?php
  29. include "import/html_header.php";
  30. html_header(
  31. "PERMISOS",
  32. "Gestión de Checador "
  33. );
  34. $user->access();
  35. $fs_roles=query("SELECT * FROM rol ORDER BY rol_titulo", null, false);
  36. $fs_paginas=query("SELECT * FROM pagina p, grupo g WHERE p.grupo_id = g.grupo_id ORDER BY g.grupo_nombre, p.pagina_ruta", null, false);
  37. $fs_permisos = query("SELECT * FROM permiso ORDER BY pagina_id", null, false);
  38. ?>
  39. <main class="content marco">
  40. <div class="tab-content" id="rolesTabContent">
  41. <div class="row">
  42. <div class="col-12 table-responsive">
  43. <form id="permisos" action="./action/action_permisos_update.php" method="post">
  44. <table class="table table-sm table-striped table-white">
  45. <thead class="thead-dark">
  46. <tr>
  47. <th colspan="2" style="vertical-align:middle">Checador</th>
  48. <?php foreach($fs_roles as $rol) {?>
  49. <th class="pt-3" style="width:80px;">
  50. <div class="d-lg-block">
  51. <span class="rotate-text"><?= $rol['rol_titulo'] ?></span>
  52. </div>
  53. </th>
  54. <?php }?>
  55. </tr>
  56. <tr>
  57. <th>Módulo</th>
  58. <th>Página</th>
  59. <?php foreach($fs_roles as $rol) {?>
  60. <th></th>
  61. <?php }?>
  62. </tr>
  63. </thead>
  64. <tbody>
  65. <?php $check=0; foreach($fs_paginas as $pagina) {?>
  66. <tr class="font-weight-light">
  67. <th class="font-weight-light"><span class="<?= $pagina['grupo_icon'] ?> ing-fw"></span> <?= $pagina['grupo_nombre'] ?></th>
  68. <th class="font-weight-light"><?= $pagina['pagina_ruta'] ?></th>
  69. <?php foreach($fs_roles as $rol) {?>
  70. <td class="text-center">
  71. <div class="custom-control custom-checkbox checkbox-ver">
  72. <input type="checkbox" class="custom-control-input" name="lectura[]" id="costumCheck_<?= $pagina['pagina_id'] ?>_<?= $rol['rol_id'] ?>" value="<?= $pagina['pagina_id']?>_<?= $rol['rol_id'] ?>_r">
  73. <label class="custom-control-label" for="costumCheck_<?= $pagina['pagina_id'] ?>_<?= $rol['rol_id'] ?>" title="Ver"><span class="ing-ojo ing-fw"></span></label>
  74. </div>
  75. <div class="custom-control custom-checkbox checkbox-editar">
  76. <input type="checkbox" class="custom-control-input" name="editar[]" id="costumCheck2_<?= $pagina['pagina_id'] ?>_<?= $rol['rol_id'] ?>" value="<?= $pagina['pagina_id']?>_<?= $rol['rol_id'] ?>_w">
  77. <label class="custom-control-label" for="costumCheck2_<?= $pagina['pagina_id'] ?>_<?= $rol['rol_id'] ?>" title="Editar"><span class="ing-editar ing-fw"></span></label>
  78. </div>
  79. </td>
  80. <?php $check++;
  81. }?>
  82. </tr>
  83. <?php }?>
  84. </tbody>
  85. </table>
  86. <div class="form-group row">
  87. <div class="col-12 text-center">
  88. <button type="submit" class="btn btn-outline-primary" id="submitBtn" data-tipo="1"> <span class="ing-aceptar ing-fw"></span> Guardar permisos</button>
  89. </div>
  90. </div>
  91. </form>
  92. </div>
  93. </div>
  94. </div>
  95. </main>
  96. <!-- Footer -->
  97. <?php
  98. include "import/html_footer.php";
  99. ?>
  100. <!-- Modal -->
  101. <script src="js/jquery.min.js"></script>
  102. <script src="js/bootstrap/bootstrap.min.js"></script>
  103. <script src="js/datalist.js"></script>
  104. <?php
  105. require_once 'js/messages.php';
  106. ?>
  107. <script>
  108. $(document).ready(function(){
  109. <?php
  110. foreach($fs_permisos as $permiso){
  111. $posicion="costumCheck_".$permiso['pagina_id']."_".$permiso['rol_id'];
  112. $posicion2="costumCheck2_".$permiso['pagina_id']."_".$permiso['rol_id'];
  113. if($permiso['permiso_tipo']=="w"){ ?>
  114. $('#<?= $posicion ?>').prop("checked", true);
  115. $('#<?= $posicion2 ?>').prop("checked", true);
  116. <?php }else{ ?>
  117. $('#<?= $posicion ?>').prop("checked", true);
  118. <?php }
  119. }
  120. ?>
  121. $(".checkbox-ver").change(function(){
  122. var check_edita = $(this).parents("td").find(".checkbox-editar input[type=checkbox]");
  123. if(!$(this).find("input[type=checkbox]").prop("disabled")){
  124. if(!$(this).find("input[type=checkbox]").prop("checked")){
  125. check_edita.prop("checked",false).prop("disabled", true);
  126. }else
  127. check_edita.prop("disabled", false);
  128. }
  129. }).change();
  130. });
  131. </script>
  132. </body>
  133. </html>