list.html 3.3 KB

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