prettier filtering for resources
authorJan Szejko <janek37@gmail.com>
Mon, 24 Apr 2017 16:50:35 +0000 (18:50 +0200)
committerJan Szejko <janek37@gmail.com>
Mon, 24 Apr 2017 16:50:35 +0000 (18:50 +0200)
apps/catalogue/filters.py
apps/catalogue/templates/catalogue/document_list_base.html [new file with mode: 0644]
apps/catalogue/templates/catalogue/finished.html
apps/catalogue/templates/catalogue/upcoming.html
apps/catalogue/views.py

index e0069bb..e14864b 100644 (file)
@@ -4,6 +4,7 @@
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
 import django_filters
+from django.forms.widgets import SelectMultiple
 from django.utils.functional import lazy
 from django_filters.filters import ModelMultipleChoiceFilter
 
@@ -13,7 +14,13 @@ from catalogue.models import Document, Category
 def tag_filter(dc_tag):
     category = Category.objects.get(dc_tag=dc_tag)
     return ModelMultipleChoiceFilter(
-        queryset=category.tag_set.all(), label=lazy(lambda: category.label, unicode)(), method='filter_by_tag')
+        queryset=category.tag_set.all(),
+        label='',
+        widget=SelectMultiple(attrs={
+            'class': 'chosen-select',
+            'data-placeholder': lazy(lambda: category.label, unicode)(),
+        }),
+        method='filter_by_tag')
 
 
 class DocumentFilterSet(django_filters.FilterSet):
diff --git a/apps/catalogue/templates/catalogue/document_list_base.html b/apps/catalogue/templates/catalogue/document_list_base.html
new file mode 100644 (file)
index 0000000..c896fa0
--- /dev/null
@@ -0,0 +1,23 @@
+{% extends "catalogue/base.html" %}
+{% load i18n %}
+
+
+{% block content %}
+    <div class="row">
+        <h1 class="col-md-8 col-md-offset-3">{% block header %}{% endblock %}</h1>
+    </div>
+    <div class="row">
+        <div class="col-md-2 col-md-offset-1">
+            <h3>{% trans "Filters" %}</h3>
+            <form action="" method="get">
+                {{ filter_set.form.as_p }}
+                <input type="submit" value="{% trans "Apply" %}" />
+            </form>
+        </div>
+        <div class="col-md-8">
+            {% for doc in filter_set.qs %}
+                {% include "catalogue/resource_box.html" %}
+            {% endfor %}
+        </div>
+    </div>
+{% endblock %}
index 16188cc..30adbac 100644 (file)
@@ -2,13 +2,4 @@
 {% load i18n %}
 
 
-{% block inner_content %}
-    <h1>{% trans "Finished resources" %}</h1>
-    <form action="" method="get">
-        {{ filter_set.form.as_p }}
-        <input type="submit" />
-    </form>
-    {% for doc in filter_set.qs %}
-        {% include "catalogue/resource_box.html" with link_url='catalogue_html' %}
-    {% endfor %}
-{% endblock %}
+{% block header %}{% trans "Finished resources" %}{% endblock %}
index 1ac7045..ebddbfc 100644 (file)
@@ -1,14 +1,5 @@
-{% extends "catalogue/base.html" %}
+{% extends "catalogue/document_list_base.html" %}
 {% load i18n %}
 
 
-{% block inner_content %}
-    <h1>{% trans "Upcoming resources" %}</h1>
-    <form action="" method="get">
-        {{ filter_set.form.as_p }}
-        <input type="submit" />
-    </form>
-    {% for doc in filter_set.qs %}
-        {% include "catalogue/resource_box.html" with link_url='catalogue_preview' %}
-    {% endfor %}
-{% endblock %}
+{% block header %}{% trans "Upcoming resources" %}{% endblock %}
index 64e39f6..1f3130a 100644 (file)
@@ -514,6 +514,7 @@ def upcoming(request):
     f = DocumentFilterSet(request.GET, queryset=Document.objects.filter(deleted=False).filter(publish_log=None))
     return render(request, "catalogue/upcoming.html", {
         'filter_set': f,
+        'link_url': 'catalogue_preview',
     })
 
 
@@ -521,4 +522,5 @@ def finished(request):
     f = DocumentFilterSet(request.GET, queryset=Document.objects.filter(deleted=False).exclude(publish_log=None))
     return render(request, "catalogue/finished.html", {
         'filter_set': f,
+        'link_url': 'catalogue_html',
     })