list.html 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. {% extends "misago/admin/generic/list.html" %}
  2. {% load i18n misago_admin_form misago_avatars %}
  3. {% block page-actions %}
  4. <div class="col-auto page-action">
  5. <a href="{% url 'misago:admin:users:new' %}" class="btn btn-primary btn-sm">
  6. <span class="fa fa-plus-circle"></span>
  7. {% trans "New user" %}
  8. </a>
  9. </div>
  10. {% endblock %}
  11. {% block table-header %}
  12. <th style="width: 1px;">&nbsp;</th>
  13. <th>{% trans "User" %}</th>
  14. <th style="width: 1px;">&nbsp;</th>
  15. <th style="width: 150px;">{% trans "Rank" %}</th>
  16. <th style="width: 200px;">{% trans "Registration" %}</th>
  17. <th style="width: 150px;">{% trans "Posts" %}</th>
  18. {% for action in extra_actions %}
  19. <th>&nbsp;</th>
  20. {% endfor %}
  21. <th style="width: 1px;">&nbsp;</th>
  22. {% endblock table-header %}
  23. {% block table-row %}
  24. <td class="pr-0">
  25. <a href="{{ item.get_absolute_url }}">
  26. <img src="{{ item|avatar:40 }}" alt="{% trans 'Avatar' %}" width="40" height="40">
  27. </a>
  28. </td>
  29. <td class="pr-0">
  30. <div class="small">
  31. <a href="{% url 'misago:admin:users:edit' pk=item.pk %}" class="item-name">
  32. {{ item }}
  33. </a>
  34. </div>
  35. <div class="small">
  36. <a href="mailto:{{ item.email }}">{{ item.email }}</a>
  37. </div>
  38. </td>
  39. <td class="badges-list">
  40. {% if item.is_superuser %}
  41. <span class="badge badge-danger" data-tooltip="top" title="{% trans 'Can use admin control panel and manage other administrators' %}">
  42. {% trans "Super Admin" %}
  43. </span>
  44. {% elif item.is_staff %}
  45. <span class="badge badge-danger" data-tooltip="top" title="{% trans 'Can use admin control panel' %}">
  46. {% trans "Admin" %}
  47. </span>
  48. {% endif %}
  49. {% if item.requires_activation_by_admin %}
  50. <span class="badge badge-primary" data-tooltip="top" title="{% trans 'Requires activation by administrator' %}">
  51. {% trans "Inactive" %}
  52. </span>
  53. {% elif item.requires_activation_by_user %}
  54. <span class="badge badge-primary" data-tooltip="top" title="{% trans 'Has to activate their account' %}">
  55. {% trans "Inactive" %}
  56. </span>
  57. {% endif %}
  58. {% if item.is_deleting_account %}
  59. <span class="badge badge-warning" data-tooltip="top" title="{% trans 'Account scheduled for deletion' %}">
  60. {% trans "Deleted" %}
  61. </span>
  62. {% elif not item.is_active %}
  63. <span class="badge badge-dark" data-tooltip="top" title="{% trans 'Account disabled' %}">
  64. {% trans "Disabled" %}
  65. </span>
  66. {% endif %}
  67. </td>
  68. <td class="small">
  69. {{ item.rank }}
  70. </td>
  71. <td class="small">
  72. <abbr data-timestamp="{{ item.joined_on.isoformat }}" data-format="LL">
  73. {{ item.joined_on }}
  74. </abbr>
  75. <div>
  76. {% if item.joined_from_ip %}
  77. {{ item.joined_from_ip }}
  78. {% else %}
  79. <i class="text-muted">{% trans "IP removed" %}</i>
  80. {% endif %}
  81. </div>
  82. </td>
  83. <td class="small">
  84. {{ item.posts }}
  85. </td>
  86. {% include "misago/admin/generic/list_extra_actions.html" %}
  87. <td>
  88. <a href="{% url 'misago:admin:users:edit' pk=item.pk %}" class="btn btn-light btn-sm" data-tooltip="top" title="{% trans 'Edit user' %}">
  89. {% trans "Edit" %}
  90. </a>
  91. </td>
  92. {% endblock table-row %}
  93. {% block blankslate %}
  94. <td colspan="{{ 7|add:extra_actions_len }}">
  95. {% trans "No users matching criteria exist." %}
  96. </td>
  97. {% endblock blankslate %}
  98. {% block filters-modal-body %}
  99. <div class="alert alert-info" role="alert">
  100. <p>
  101. {% trans 'You can include wildcard ("*") in username and email search:' %}
  102. </p>
  103. <p>
  104. {% trans '"admin*" will find both "admin" and "administrator".' %}
  105. </p>
  106. <p>
  107. {% trans '"*chan" will match both "chan" and "marichan".' %}
  108. </p>
  109. <p class="mb-0">
  110. {% trans '"*son*" will match "son", "song", "firstson" and "firstsong".' %}
  111. </p>
  112. </div>
  113. <div class="row">
  114. <div class="col">
  115. {% form_row filter_form.username %}
  116. </div>
  117. <div class="col">
  118. {% form_row filter_form.email %}
  119. </div>
  120. </div>
  121. <div class="row">
  122. <div class="col">
  123. {% form_row filter_form.rank %}
  124. </div>
  125. <div class="col">
  126. {% form_row filter_form.role %}
  127. </div>
  128. </div>
  129. <div class="row">
  130. <div class="col">
  131. {% form_row filter_form.profilefields %}
  132. </div>
  133. </div>
  134. <div class="row">
  135. <div class="col">
  136. {% form_checkbox_row filter_form.is_inactive %}
  137. </div>
  138. <div class="col">
  139. {% form_checkbox_row filter_form.is_disabled %}
  140. </div>
  141. </div>
  142. <div class="row">
  143. <div class="col">
  144. {% form_checkbox_row filter_form.is_deleting_account %}
  145. </div>
  146. <div class="col">
  147. {% form_checkbox_row filter_form.is_staff %}
  148. </div>
  149. </div>
  150. {% endblock filters-modal-body %}