View unused covers.
authorRadek Czajka <rczajka@rczajka.pl>
Mon, 26 Aug 2024 08:01:01 +0000 (10:01 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Mon, 26 Aug 2024 08:01:01 +0000 (10:01 +0200)
src/cover/templates/cover/image_list.html
src/cover/views.py

index 02a3268..1f69a55 100644 (file)
@@ -7,14 +7,25 @@
 {% block content %}
 <div class="card mt-4 mb-4">
        <div class="card-header">
-<h1>{% trans "Cover images" %}</h1>
+<h1>{% trans "Cover images" %}{% if only_unused %} (nieużywane){% endif %}</h1>
        </div>
        <div class="card-body">
 
-{% if can_add %}
-    <a class="btn btn-primary" href="{% url 'cover_add_image' %}">{% trans "Add new" %}</a>
-{% endif %}
+          <div class="mb-4">
+            {% if can_add %}
+              <a class="btn btn-primary" href="{% url 'cover_add_image' %}">{% trans "Add new" %}</a>
+            {% endif %}
+            {% if only_unused %}
+              <a class="btn btn-secondary" href=".">
+                Pokaż wszystkie
+              </a>
+            {% else %}
+              <a class="btn btn-secondary" href="?unused=1">
+                Pokaż tylko nieużywane
+              </a>
+            {% endif %}
 
+          </div>
 <div class="row">
 {% autopaginate object_list 100 %}
 {% for image in object_list %}
index 5ea4a6c..302f5f5 100644 (file)
@@ -150,9 +150,14 @@ def image_file(request, pk):
 
 @active_tab('cover')
 def image_list(request):
+    qs = Image.objects.all().order_by('-id')
+    only_unused = request.GET.get('unused')
+    if only_unused:
+        qs = qs.filter(book=None)
     return render(request, "cover/image_list.html", {
-        'object_list': Image.objects.all().order_by('-id'),
+        'object_list': qs,
         'can_add': request.user.has_perm('cover.add_image'),
+        'only_unused': only_unused,
     })