From 0fb50603e54758abf9286098292155946e3ef9a9 Mon Sep 17 00:00:00 2001 From: BrainIsDead Date: Thu, 22 Feb 2024 18:21:09 +0200 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20signals/filters.py?= =?UTF-8?q?=20->=20Added=20an=20OrderingFilter=20for=20signal=20ordering?= =?UTF-8?q?=20=F0=9F=9B=A0=EF=B8=8F=20signals/forms.py=20->=20Added=20orde?= =?UTF-8?q?r=5Fby=20field=20to=20SignalFilterForm=20=F0=9F=9B=A0=EF=B8=8F?= =?UTF-8?q?=20signals/views.py=20->=20Added=20a=20blank=20line=20?= =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20templates/signals/signals.html=20->=20A?= =?UTF-8?q?dded=20form=20for=20filtering=20signals?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/signals/filters.py | 9 ++++++++- src/signals/forms.py | 14 ++++++++++++++ src/templates/signals/signals.html | 25 +++++++++++-------------- 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/signals/filters.py b/src/signals/filters.py index c8b792e..d4efde9 100644 --- a/src/signals/filters.py +++ b/src/signals/filters.py @@ -2,7 +2,7 @@ import django_filters from django.db.models import Q -from django_filters.filters import CharFilter +from django_filters.filters import CharFilter, OrderingFilter from signals.models import Signal @@ -13,6 +13,13 @@ class SignalFilter(django_filters.FilterSet): """ search = CharFilter(method='filter_search') + order_by = OrderingFilter( + fields=( + ('name', 'ame'), + ('source__name', 'source'), + ('last_updated', 'last_updated'), + ) + ) class Meta: model = Signal diff --git a/src/signals/forms.py b/src/signals/forms.py index 94f0e78..51ff46a 100644 --- a/src/signals/forms.py +++ b/src/signals/forms.py @@ -16,6 +16,14 @@ class SignalFilterForm(forms.ModelForm): """ A form for filtering signals. """ + order_by = forms.ChoiceField(choices=[ + ('', '---------'), + ('name', 'Name'), + ('source__name', 'Source'), + ('last_updated', 'Last Updated'), + ], + required=False, + ) search = forms.CharField(min_length=3) pathogen = forms.ModelChoiceField(queryset=Pathogen.objects.all(), empty_label='---------') active = forms.NullBooleanField(initial=None) @@ -26,6 +34,7 @@ class SignalFilterForm(forms.ModelForm): class Meta: model = Signal fields: list[str] = [ + 'order_by', 'search', 'pathogen', 'active', @@ -38,6 +47,11 @@ class Meta: ] widgets = { + 'order_by': forms.Select(attrs={ + 'class': 'form-select', + 'id': 'order_by', + 'aria-label': 'Order by', + }), 'search': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Enter search term'}), 'pathogen': forms.Select(attrs={'class': 'form-select'}), 'active': forms.NullBooleanSelect(attrs={'class': 'form-check mt-3', 'label': "Test "},), diff --git a/src/templates/signals/signals.html b/src/templates/signals/signals.html index 9d938c1..ee2792f 100644 --- a/src/templates/signals/signals.html +++ b/src/templates/signals/signals.html @@ -4,11 +4,11 @@ {% load crispy_forms_tags %} {% block content %} +
-

@@ -269,7 +269,6 @@
-
@@ -277,18 +276,15 @@
-
-
- - +
+ + {{ form.order_by|as_crispy_field }}
- +
@@ -314,4 +310,5 @@
- {% endblock %} \ No newline at end of file + + {% endblock %} From 6d4d74a56c62413a955dec6692fdb547db35e3af Mon Sep 17 00:00:00 2001 From: BrainIsDead Date: Thu, 22 Feb 2024 19:03:40 +0200 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20filters.py=20->=20U?= =?UTF-8?q?pdated=20'name'=20field=20to=20'display=5Fname'=20=F0=9F=9B=A0?= =?UTF-8?q?=EF=B8=8F=20signals.html=20->=20Removed=20extra=20indentation?= =?UTF-8?q?=20=F0=9F=9B=A0=EF=B8=8F=20signals=5Flist.html=20->=20Updated?= =?UTF-8?q?=20date=20format=20and=20added=20fallback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/signals/filters.py | 2 +- src/templates/signals/signals.html | 2 +- src/templates/signals/signals_list.html | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/signals/filters.py b/src/signals/filters.py index d4efde9..93bb647 100644 --- a/src/signals/filters.py +++ b/src/signals/filters.py @@ -15,7 +15,7 @@ class SignalFilter(django_filters.FilterSet): search = CharFilter(method='filter_search') order_by = OrderingFilter( fields=( - ('name', 'ame'), + ('display_name', 'name'), ('source__name', 'source'), ('last_updated', 'last_updated'), ) diff --git a/src/templates/signals/signals.html b/src/templates/signals/signals.html index ee2792f..09076da 100644 --- a/src/templates/signals/signals.html +++ b/src/templates/signals/signals.html @@ -311,4 +311,4 @@ - {% endblock %} +{% endblock %} diff --git a/src/templates/signals/signals_list.html b/src/templates/signals/signals_list.html index fc1b755..85d93ac 100644 --- a/src/templates/signals/signals_list.html +++ b/src/templates/signals/signals_list.html @@ -21,7 +21,11 @@ {% endif %} - Last Updated + {% if signal.last_updated %} + {{ signal.last_updated|date:"Y-m-d" }} + {% else %} + --/-- + {% endif %} -{% endfor %} \ No newline at end of file +{% endfor %} From 268c4276e7236f7f32d9093b3480385b7a9e4f19 Mon Sep 17 00:00:00 2001 From: BrainIsDead Date: Fri, 23 Feb 2024 13:56:43 +0200 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20style.css=20->=20Ad?= =?UTF-8?q?ded=20styling=20for=20#id=5Forder=5Fby=20and=20#order=5Fby=5Fla?= =?UTF-8?q?bel=20=F0=9F=9B=A0=EF=B8=8F=20signals.html=20->=20Updated=20Sor?= =?UTF-8?q?t=20By=20label=20and=20form=20submission=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/style.css | 8 ++++++++ src/templates/signals/signals.html | 18 +++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/assets/css/style.css b/src/assets/css/style.css index 67871f0..b6618f7 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -1228,3 +1228,11 @@ h6 { font-size: 13px; color: #012970; } + +#id_order_by { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +#order_by_label{ + margin-bottom: 1rem; +} diff --git a/src/templates/signals/signals.html b/src/templates/signals/signals.html index 09076da..fca1ab5 100644 --- a/src/templates/signals/signals.html +++ b/src/templates/signals/signals.html @@ -276,15 +276,10 @@
-
- - {{ form.order_by|as_crispy_field }} -
- +
+ + {{ form.order_by|as_crispy_field }} +
@@ -311,4 +306,9 @@
+ {% endblock %}