admin_users.html 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. {% extends 'auth_layout.html' %}
  2. {% block content %}
  3. {% if context.message %}
  4. <div class="row">
  5. <div class="col text-center text-primary">
  6. <i class="ri-error-warning-fill"></i> {{ context.message }}
  7. </div>
  8. </div>
  9. {% endif %}
  10. <div class="row">
  11. <div class="col">
  12. <a href="#!" data-bs-toggle="modal" data-bs-target="#add-user" class="btn btn-primary float-end"><i class="ri-user-add-line"></i> Add Admin User</a>
  13. <h3><i class="ri-shield-user-line"></i> Admin Users</h3>
  14. <p class="lead">Admin Users are users that can modify this tool.</p>
  15. </div>
  16. </div>
  17. <div class="row">
  18. <div class="col">
  19. <table class="table table-flush">
  20. <thead>
  21. <tr>
  22. <th scope="col">Username</th>
  23. <th scope="col">Email</th>
  24. <th scope="col">Create Date</th>
  25. <th scope="col">Login Status</th>
  26. <th scope="col">Actions</th>
  27. </tr>
  28. </thead>
  29. <tbody>
  30. {% for user in context.users %}
  31. <tr>
  32. <td>{{ user.username }}</td>
  33. <td>{{ user.email }}</td>
  34. <td>{{ user.date_created }}</td>
  35. <td>{{ user.logged_in }}</td>
  36. <td>
  37. <a href="" class="btn btn-primary">Edit</a>
  38. <a href="#!" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#remove-user-{{ loop.index0 }}">Delete</a>
  39. </td>
  40. </tr>
  41. {% endfor %}
  42. </tbody>
  43. </table>
  44. </div>
  45. </div>
  46. <div class="modal fade" id="add-user" tabindex="-1">
  47. <div class="modal-dialog modal-dialog-centered">
  48. <div class="modal-content">
  49. <div class="modal-header bg-light">
  50. <h1 class="modal-title fs-5"><i class="ri-user-add-line"></i> Add Admin User</h1>
  51. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  52. </div>
  53. <form action="" method="post">
  54. <div class="modal-body">
  55. <div class="mb-3">
  56. <input type="text" class="form-control" id="username" name="username" placeholder="Username" required>
  57. </div>
  58. <div class="mb-3">
  59. <input type="email" class="form-control" id="email" name="email" placeholder="Email" required>
  60. </div>
  61. <div class="mb-3">
  62. <input type="password" class="form-control" id="password" name="password" placeholder="Password" required>
  63. </div>
  64. <div class="mb-3">
  65. <input type="password" class="form-control" id="confirm_password" name="confirm_password" placeholder="Confirm Password" required>
  66. </div>
  67. </div>
  68. <div class="modal-footer bg-light">
  69. <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
  70. <input type="submit" class="btn btn-primary" value="Save">
  71. </div>
  72. </form>
  73. </div>
  74. </div>
  75. </div>
  76. {% for user in context.users %}
  77. <div class="modal fade" id="remove-user-{{ loop.index0 }}" tabindex="-1">
  78. <div class="modal-dialog modal-dialog-centered">
  79. <div class="modal-content">
  80. <div class="modal-header bg-light">
  81. <h1 class="modal-title fs-5">Confirmation</h1>
  82. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  83. </div>
  84. <div class="modal-body">
  85. <div class="mb-3">
  86. <p class="lead">Are you sure you want to delete this user?</p>
  87. </div>
  88. </div>
  89. <div class="modal-footer bg-light">
  90. <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
  91. <a class="btn btn-danger" href="{{ url_for('admin_users_delete', id=user.id) }}">Yes, remove the user</a>
  92. </div>
  93. </div>
  94. </div>
  95. </div>
  96. {% endfor %}
  97. {% endblock %}