object_imageattachments.html 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. {% extends base_template %}
  2. {% load helpers %}
  3. {% load i18n %}
  4. {% load render_table from django_tables2 %}
  5. {% load thumbnail %}
  6. {% block extra_controls %}
  7. {% if perms.extras.add_imageattachment %}
  8. <a href="{% url 'extras:imageattachment_add' %}?object_type={{ object|content_type_id }}&object_id={{ object.pk }}&return_url={% action_url object 'image-attachments' pk=object.pk %}" class="btn btn-primary">
  9. <span class="mdi mdi-plus-thick" aria-hidden="true"></span> {% trans "Attach an Image" %}
  10. </a>
  11. {% endif %}
  12. {% endblock %}
  13. {% block content %}
  14. {% if image_attachments %}
  15. <div class="d-flex flex-wrap">
  16. {% for object in image_attachments %}
  17. <div class="thumbnail m-2">
  18. {% thumbnail object.image "200x200" crop="center" as tn %}
  19. <a href="{{ object.get_absolute_url }}" class="d-block" title="{{ object.name }}">
  20. <img
  21. src="{{ tn.url }}"
  22. width="{{ tn.width }}"
  23. height="{{ tn.height }}"
  24. class="rounded"
  25. alt="{{ object.description|default:object.name }}"
  26. />
  27. </a>
  28. {% empty %}
  29. <a href="{{ object.get_absolute_url }}" class="d-block text-decoration-none" title="{{ object.name }}">
  30. <div class="d-flex align-items-center justify-content-center rounded bg-light text-secondary border" style="width: 200px; height: 200px;">
  31. <div class="text-center">
  32. <i class="mdi mdi-image-broken-variant display-4"></i>
  33. <div class="small mt-2 text-dark">{% trans "Thumbnail cannot be generated" %}</div>
  34. <div class="small fw-bold text-dark">{% trans "Click to view original" %}</div>
  35. </div>
  36. </div>
  37. </a>
  38. {% endthumbnail %}
  39. <div class="text-center text-secondary text-truncate fs-5">
  40. {{ object }}
  41. </div>
  42. </div>
  43. {% endfor %}
  44. </div>
  45. {% else %}
  46. <div class="alert alert-info">
  47. {% blocktrans with object_type=object|meta:"verbose_name" %}
  48. No images have been attached to this {{ object_type }}.
  49. {% endblocktrans %}
  50. </div>
  51. {% endif %}
  52. {% endblock %}