list.html 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. {% extends "misago/admin/generic/list.html" %}
  2. {% load i18n misago_admin_form misago_capture %}
  3. {% block table-header %}
  4. <th style="width: 1%;">&nbsp;</th>
  5. <th>{% trans "Attachment" %}</th>
  6. <th style="width: 40%;">{% trans "Thread" %}</th>
  7. <th style="width: 1%;">&nbsp;</th>
  8. {% endblock table-header %}
  9. {% block table-row %}
  10. {% if item.is_image %}
  11. <td class="item-thumbnail">
  12. {% if item.thumbnail %}
  13. <a href="{{ item.get_absolute_url }}?shva=1" style='background-image: url("{{ item.get_thumbnail_url }}?shva=1");' target="_blank"></a>
  14. {% else %}
  15. <a href="{{ item.get_absolute_url }}?shva=1" style='background-image: url("{{ item.get_absolute_url }}?shva=1");' target="_blank"></a>
  16. {% endif %}
  17. </td>
  18. {% else %}
  19. <td class="item-name text-center">
  20. <a href="{{ item.get_absolute_url }}?shva=1" target="_blank">
  21. <span class="fa fa-file"></span>
  22. </a>
  23. </td>
  24. {% endif %}
  25. <td class="item-name">
  26. {{ item }}
  27. {% capture trimmed as uploader %}
  28. {% if item.uploader %}
  29. <a href="{{ item.uploader.get_absolute_url }}" class="item-title">{{ item.uploader }}</a>
  30. {% else %}
  31. <span class="item-title">{{ item.uploader_name }}</span>
  32. {% endif %}
  33. {% endcapture %}
  34. {% capture trimmed as uploaded_on %}
  35. <abbr data-timestamp="{{ item.uploaded_on.isoformat }}" data-format="LL">
  36. {{ item.uploaded_on }}
  37. </abbr>
  38. {% endcapture %}
  39. <small class="text-muted">
  40. {% blocktrans trimmed with filetype=item.filetype size=item.size|filesizeformat uploader=uploader|safe uploaded_on=uploaded_on|safe %}
  41. {{ filetype }}, {{ size }}, uploaded by {{ uploader }} {{ uploaded_on }}.
  42. {% endblocktrans %}
  43. </small>
  44. </td>
  45. <td>
  46. {% if item.post %}
  47. <a href="{{ item.post.get_absolute_url }}" class="item-title">
  48. {{ item.post.thread }}
  49. </a>
  50. {% else %}
  51. <em class="text-muted">{% trans "None" %}</em>
  52. {% endif %}
  53. </td>
  54. <td>
  55. <form action="{% url 'misago:admin:system:attachments:delete' pk=item.pk %}" method="post" class="delete-prompt">
  56. <button class="btn btn-danger" data-tooltip="top" title="{% trans 'Delete' %}">
  57. {% csrf_token %}
  58. <span class="fa fa-times"></span>
  59. </button>
  60. </form>
  61. </td>
  62. {% endblock table-row %}
  63. {% block blankslate %}
  64. <td colspan="{{ 4|add:extra_actions_len }}">
  65. {% if active_filters %}
  66. {% trans "No attachments matching criteria exist." %}
  67. {% else %}
  68. {% trans "No attachments exist." %}
  69. {% endif %}
  70. </td>
  71. {% endblock blankslate %}
  72. {% block filters-modal-body %}
  73. <div class="row">
  74. <div class="col">
  75. {% form_row filter_form.uploader %}
  76. </div>
  77. </div>
  78. <div class="row">
  79. <div class="col">
  80. {% form_row filter_form.filename %}
  81. </div>
  82. </div>
  83. <div class="row">
  84. <div class="col">
  85. {% form_row filter_form.filetype %}
  86. </div>
  87. </div>
  88. <div class="row">
  89. <div class="col">
  90. {% form_row filter_form.is_orphan %}
  91. </div>
  92. </div>
  93. {% endblock filters-modal-body %}
  94. {% block javascripts %}
  95. {{ block.super }}
  96. <script type="text/javascript">
  97. $(function() {
  98. $('.delete-prompt').submit(function() {
  99. var decision = confirm("{% trans "Are you sure you want to delete this attachment?" %}");
  100. return decision;
  101. });
  102. });
  103. </script>
  104. {% endblock %}