From 71ca517831eeb1c997a612b7ccaf5a1a853e66bb Mon Sep 17 00:00:00 2001 From: csae8092 Date: Mon, 22 Apr 2024 11:27:27 +0200 Subject: [PATCH] more case-form (styling) things #43 --- .flake8 | 2 +- archiv/dal_views.py | 13 ++++++++++++- archiv/filters.py | 6 ++++++ archiv/forms.py | 2 +- webpage/static/webpage/css/style.css | 12 ++++++++++++ 5 files changed, 32 insertions(+), 3 deletions(-) diff --git a/.flake8 b/.flake8 index dc5fa60..4ebf544 100644 --- a/.flake8 +++ b/.flake8 @@ -1,5 +1,5 @@ [flake8] -ignore = D203 W504 +ignore = D203 W504 W503 max-line-length = 120 exclude = */migrations, diff --git a/archiv/dal_views.py b/archiv/dal_views.py index f6fbb3e..d4403cd 100644 --- a/archiv/dal_views.py +++ b/archiv/dal_views.py @@ -1,6 +1,7 @@ # generated by appcreator from dal import autocomplete from django.db.models import Q +from django.utils.html import format_html from .models import Court from .models import CourtDecission @@ -30,11 +31,18 @@ def get_queryset(self): class CourtAC(autocomplete.Select2QuerySetView): + def get_result_label(self, item): + return f"{item.name} ({item.name_english}) {item.abbreviation}" + def get_queryset(self): qs = Court.objects.all() if self.q: - qs = qs.filter(Q(name__icontains=self.q)) + qs = qs.filter( + Q(name__icontains=self.q) + | Q(name_english__icontains=self.q) + | Q(abbreviation__startswith=self.q) + ) return qs @@ -48,6 +56,9 @@ def get_queryset(self): class KeyWordAC(autocomplete.Select2QuerySetView): + def get_result_label(self, result): + return format_html('{}', result.name) + def get_queryset(self): qs = KeyWord.objects.all() diff --git a/archiv/filters.py b/archiv/filters.py index aa748f5..83b779c 100644 --- a/archiv/filters.py +++ b/archiv/filters.py @@ -132,6 +132,11 @@ class CourtDecissionListFilter(django_filters.FilterSet): help_text=CourtDecission._meta.get_field("file_number").help_text, label=CourtDecission._meta.get_field("file_number").verbose_name, ) + ecli = django_filters.CharFilter( + lookup_expr="icontains", + help_text=CourtDecission._meta.get_field("ecli").help_text, + label=CourtDecission._meta.get_field("ecli").verbose_name, + ) party = django_filters.CharFilter( lookup_expr="icontains", help_text=CourtDecission._meta.get_field("party").help_text, @@ -173,6 +178,7 @@ class CourtDecissionListFilter(django_filters.FilterSet): label=CourtDecission._meta.get_field("keyword").verbose_name, widget=autocomplete.Select2Multiple( url="archiv-ac:keyword-autocomplete", + attrs={'data-html': True} ), ) author = django_filters.ModelMultipleChoiceFilter( diff --git a/archiv/forms.py b/archiv/forms.py index d589ea5..e2975c4 100644 --- a/archiv/forms.py +++ b/archiv/forms.py @@ -140,7 +140,7 @@ def __init__(self, *args, **kwargs): "author", css_id="extended", ), - always_open=True + always_open=True, ) ) diff --git a/webpage/static/webpage/css/style.css b/webpage/static/webpage/css/style.css index 61e2730..02b0722 100644 --- a/webpage/static/webpage/css/style.css +++ b/webpage/static/webpage/css/style.css @@ -5,3 +5,15 @@ nav[data-toggle='toc'] .nav .nav { display: block; } + + +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: var(--bs-body-bg)!important; + border: 1px solid var(--bs-body-bg) !important; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} \ No newline at end of file