25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 

156 satır
7.5 KiB

  1. <body>
  2. <!-- Sidenav -->
  3. <% include ../partials/sidebar %>
  4. <!-- Main content -->
  5. <div class="main-content">
  6. <!-- Top navbar -->
  7. <% include ../partials/navbar %>
  8. <!-- Page content -->
  9. <div class="header pb-8 pt-5 pt-lg-8 d-flex align-items-center" style="min-height: 600px; background-size: cover; background-position: center top;">
  10. <!-- Mask -->
  11. <span class="mask bg-gradient-default opacity-8"></span>
  12. <div class="container-fluid mt--4">
  13. <form id="formSearch" action="/users" method="POST">
  14. <div class="row mt-3">
  15. <div class="col-sm">
  16. <select name="company" class="form-control form-control-sm ml-2" id="companySelect">
  17. <option value="All">Semua</option>
  18. <% for(var i=0; i<companies.length; i++) {%>
  19. <% var selected = locals.company &&(company == companies[i].id) ? `selected` : '' %>
  20. <option <%= selected %> value="<%= companies[i].id %>"><%= companies[i].attributes.Name %></option>
  21. <% } %>
  22. </select>
  23. </div>
  24. <div class="col-sm ml-2 pr-2">
  25. <select name="division" class="form-control form-control-sm ml-0" id="divisionSelect" <% locals.company?'':'disabled' %>>
  26. <option value="All">Semua</option>
  27. <% if(locals.divisions) { for(var i=0; i<divisions.length; i++) {%>
  28. <% var selected = locals.division &&(division == divisions[i].id) ? `selected` : '' %>
  29. <option <%= selected %> value="<%= divisions[i].id %>"><%= divisions[i].attributes.Name %></option>
  30. <% } }%>
  31. </select>
  32. </div>
  33. </div>
  34. <div id="btnSearch" class="text-right ml-2 mt-4">
  35. <button type="button" class="btn btn-success btn-sm">Search</button>
  36. </div>
  37. <input type="hidden" name="page">
  38. </form>
  39. <!-- Table -->
  40. <div class="row mt-4">
  41. <div class="col">
  42. <div class="card shadow">
  43. <div class="card-header border-0">
  44. <h3 class="mb-0">Daftar User</h3>
  45. </div>
  46. <div class="table-responsive" style="max-height: 45vh;">
  47. <table class="table align-items-center table-flush">
  48. <thead class="thead-light">
  49. <tr>
  50. <th scope="col">No</th>
  51. <th scope="col">Name</th>
  52. <th scope="col">Email</th>
  53. <th scope="col">Company</th>
  54. <th scope="col">Divisi</th>
  55. <th scope="col">Active</th>
  56. <th scope="col">Role</th>
  57. <th scope="col">Action</th>
  58. </tr>
  59. </thead>
  60. <tbody>
  61. <% for(var i=0;i<locals.users.length;i++){ %>
  62. <tr>
  63. <td>
  64. <%= i+1 %>
  65. </td>
  66. <td>
  67. <%= locals.users[i].username %>
  68. </td>
  69. <td>
  70. <%= locals.users[i].email %>
  71. </td>
  72. <td>
  73. <%= (locals.users[i].company)?locals.users[i].company.Name:'' %>
  74. </td>
  75. <td>
  76. <%= (locals.users[i].division)?locals.users[i].division.Name:'' %>
  77. </td>
  78. <td>
  79. <%= locals.users[i].blocked? 'Disabled' : "Active" %>
  80. </td>
  81. <td>
  82. <% var role = locals.users[i].role? locals.users[i].role.name : 'Sub-Admin'; %>
  83. <span><%= role %></span>
  84. <% if(role == 'Sub-Admin' || role == 'Editor'){ %>
  85. <form action="/user/change" method="POST">
  86. <input name='user' type="hidden" value="<%= locals.users[i].id %>">
  87. <input name='editor' type="hidden" value="<%= role == 'Sub-Admin'?1:0 %>">
  88. <!-- <button type="submit" class="btn btn-primary btn-sm">Ubah</button> -->
  89. </form>
  90. <% } %>
  91. </td>
  92. <td class="td-actions" style="display: inline-flex;">
  93. <% if(role == 'Sub-Admin' || role == 'Editor'){ %>
  94. <form class="changeForm" action="/user/change" method="POST">
  95. <input name='user' type="hidden" value="<%= locals.users[i].id %>">
  96. <input name='state' type="hidden" value='<%= locals.users[i].blocked? 'inActive' : "Active" %>'>
  97. <button type="submit" rel="tooltip" class="mr-2 btn btn-info btn-icon btn-sm " data-original-title="" title="">
  98. <i class="ni ni-ui-04 pt-1"></i>
  99. </button>
  100. </form>
  101. <% } %>
  102. <a value="<%= locals.users[i].id %>" href="#" rel="tooltip" class="btn btn-warning btn-icon btn-sm btn-edit-user" data-original-title="" title="">
  103. <i class="ni ni-ungroup pt-1"></i>
  104. </a>
  105. <% if(role == 'Sub-Admin' || role == 'Editor'){ %>
  106. <form class="deleteForm" action="/user/delete" method="POST">
  107. <input name='user' type="hidden" value="<%= locals.users[i].id %>">
  108. <button type="submit" rel="tooltip" class="btn btn-danger btn-icon btn-sm " data-original-title="" title="">
  109. <i class="ni ni-fat-remove pt-1"></i>
  110. </button>
  111. </form>
  112. <% } %>
  113. </td>
  114. </tr>
  115. <%}%>
  116. </table>
  117. </div>
  118. <div class="card-footer py-4">
  119. <nav aria-label="...">
  120. <ul class="pagination justify-content-end mb-0">
  121. <li class="page-item <%= locals.page==1? 'disabled':'' %>">
  122. <a value="<%= parseInt(locals.page)-1 %>" class="page-link" href="#" tabindex="-1">
  123. <i class="fas fa-angle-left"></i>
  124. <span class="sr-only">Previous</span>
  125. </a>
  126. </li>
  127. <%var pageCount = Math.ceil(locals.users.length/9);%>
  128. <%for(var i=1;i<=pageCount;i++){%>
  129. <li class="page-item <%= locals.page==i? 'active':'' %>">
  130. <a value="<%= i %>" class="page-link" href="#"><%= i %></a>
  131. </li>
  132. <%}%>
  133. <li class="page-item <%= locals.page==pageCount? 'disabled':'' %>">
  134. <a value="<%= parseInt(locals.page)+1 %>" class="page-link" href="#">
  135. <i class="fas fa-angle-right"></i>
  136. <span class="sr-only">Next</span>
  137. </a>
  138. </li>
  139. </ul>
  140. </nav>
  141. </div>
  142. </div>
  143. </div>
  144. </div>
  145. </div>
  146. </div>
  147. </div>
  148. <!-- Include scripts -->
  149. <% include ../partials/scripts %>
  150. <script src="/js/page/users.js"></script>
  151. </body>