list.html 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. {% extends "misago/admin/generic/list.html" %}
  2. {% load i18n misago_capture misago_forms %}
  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 class="moment" data-iso="{{ item.uploaded_on.isoformat }}" data-format="LL"></abbr>
  36. {% endcapture %}
  37. <small class="text-muted">
  38. {% blocktrans trimmed with filetype=item.filetype size=item.size|filesizeformat uploader=uploader|safe uploaded_on=uploaded_on|safe uploader_ip=item.uploader_ip %}
  39. {{ filetype }}, {{ size }}, uploaded by {{ uploader }} {{ uploaded_on }} from {{ uploader_ip }}.
  40. {% endblocktrans %}
  41. </small>
  42. </td>
  43. <td>
  44. {% if item.post %}
  45. <a href="{{ item.post.get_absolute_url }}" class="item-title">
  46. {{ item.post.thread }}
  47. </a>
  48. {% else %}
  49. <em class="text-muted">{% trans "None" %}</em>
  50. {% endif %}
  51. </td>
  52. <td class="row-action">
  53. <form action="{% url 'misago:admin:system:attachments:delete' pk=item.pk %}" method="post" class="delete-prompt">
  54. <button class="btn btn-danger tooltip-top" title="{% trans "Delete" %}">
  55. {% csrf_token %}
  56. <span class="fa fa-times"></span>
  57. </button>
  58. </form>
  59. </td>
  60. {% endblock table-row %}
  61. {% block emptylist %}
  62. <td colspan="{{ 4|add:extra_actions_len }}">
  63. {% if active_filters %}
  64. <p>{% trans "No attachments matching search criteria exist." %}</p>
  65. {% else %}
  66. <p>{% trans "No attachments currently exist." %}</p>
  67. {% endif %}
  68. </td>
  69. {% endblock emptylist %}
  70. {% block modal-title %}
  71. {% trans "Search attachments" %}
  72. {% endblock modal-title %}
  73. {% block modal-body %}
  74. <div class="row">
  75. <div class="col-md-12">
  76. {% form_row search_form.uploader %}
  77. </div>
  78. </div>
  79. <div class="row">
  80. <div class="col-md-12">
  81. {% form_row search_form.filename %}
  82. </div>
  83. </div>
  84. <div class="row">
  85. <div class="col-md-12">
  86. {% form_row search_form.filetype %}
  87. </div>
  88. </div>
  89. <div class="row">
  90. <div class="col-md-12">
  91. {% form_row search_form.is_orphan %}
  92. </div>
  93. </div>
  94. {% endblock modal-body %}
  95. {% block javascripts %}
  96. {{ block.super }}
  97. <script type="text/javascript">
  98. $(function() {
  99. $('.delete-prompt').submit(function() {
  100. var decision = confirm("{% trans "Are you sure you want to delete this attachment?" %}");
  101. return decision;
  102. });
  103. });
  104. </script>
  105. {% endblock %}