From 5cde9aab3089581069d8304c0878057499256fb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org> Date: Fri, 10 Mar 2023 18:39:24 +0100 Subject: [PATCH] wip - filters --- contracts/admin.py | 18 +++++++++++++++ ...ter_contractee_address_country_and_more.py | 23 +++++++++++++++++++ contracts/urls.py | 20 ++++++++-------- registry/settings/base.py | 1 + requirements/base.txt | 2 ++ 5 files changed, 54 insertions(+), 10 deletions(-) create mode 100644 contracts/migrations/0009_alter_contractee_address_country_and_more.py diff --git a/contracts/admin.py b/contracts/admin.py index 662e444..3f93aeb 100644 --- a/contracts/admin.py +++ b/contracts/admin.py @@ -1,3 +1,4 @@ +from dal_admin_filters import AutocompleteFilter from django.contrib import admin from django.utils.html import format_html @@ -25,6 +26,18 @@ class IndexHiddenModelAdmin(MarkdownxGuardedModelAdmin): return False +# BEGIN Autocompletes + + +class ContractAuthorPlaceholderFilter(AutocompleteFilter): + title = "Autor" + field_name = "author" + autocomplete_url = "" + + +# END Autocompletes + + # BEGIN Contracts @@ -161,6 +174,11 @@ class ContractAdmin(MarkdownxGuardedModelAdmin): super().save_model(request, obj, form, change) + list_filter = ( + ContracteePlaceholderFilter, + SigneePlaceholderFilter, + ) + # END Contracts diff --git a/contracts/migrations/0009_alter_contractee_address_country_and_more.py b/contracts/migrations/0009_alter_contractee_address_country_and_more.py new file mode 100644 index 0000000..5848293 --- /dev/null +++ b/contracts/migrations/0009_alter_contractee_address_country_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 4.1.4 on 2023-03-10 09:12 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('contracts', '0008_alter_signee_entity_type'), + ] + + operations = [ + migrations.AlterField( + model_name='contractee', + name='address_country', + field=models.CharField(default='CZ', max_length=256, verbose_name='ZemÄ›'), + ), + migrations.AlterField( + model_name='signee', + name='address_country', + field=models.CharField(default='CZ', max_length=256, verbose_name='ZemÄ›'), + ), + ] diff --git a/contracts/urls.py b/contracts/urls.py index ff346a7..4a97b22 100644 --- a/contracts/urls.py +++ b/contracts/urls.py @@ -28,6 +28,16 @@ urlpatterns = [ dal.autocomplete.Select2QuerySetView.as_view(model=models.ContractType), name="select2_djhacker_contract_type_autocomplete", ), + path( + "contracts/signees/autocomplete", + dal.autocomplete.Select2QuerySetView.as_view(model=models.Signee), + name="select2_djhacker_signee_autocomplete", + ), + path( + "contracts/contractees/autocomplete", + dal.autocomplete.Select2QuerySetView.as_view(model=models.Contractee), + name="select2_djhacker_contractee_autocomplete", + ), path( "contracts/signees/signatures/autocomplete", dal.autocomplete.Select2QuerySetView.as_view(model=models.SigneeSignature), @@ -38,14 +48,4 @@ urlpatterns = [ dal.autocomplete.Select2QuerySetView.as_view(model=models.ContracteeSignature), name="select2_djhacker_contractee_signature_autocomplete", ), - #path( - #"contracts/signees/autocomplete", - #dal.autocomplete.Select2QuerySetView.as_view(model=models.Signee), - #name="select2_djhacker_signee_autocomplete", - #), - #path( - #"contracts/contractees/autocomplete", - #dal.autocomplete.Select2QuerySetView.as_view(model=models.Contractee), - #name="select2_djhacker_contractee_autocomplete", - #), ] diff --git a/registry/settings/base.py b/registry/settings/base.py index 422a33e..c25e824 100644 --- a/registry/settings/base.py +++ b/registry/settings/base.py @@ -47,6 +47,7 @@ INSTALLED_APPS = [ "colorfield", "dal", "dal_select2", + "dal_admin_filters", "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", diff --git a/requirements/base.txt b/requirements/base.txt index f9d2f4d..f743df8 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,3 +1,4 @@ +dal-admin-filters==1.1.0 django==4.1.4 django-admin-interface==0.24.2 django-autocomplete-light==3.9.4 @@ -11,3 +12,4 @@ django-markdownx==4.0.0b1 django-environ==0.9.0 django-http-exceptions==1.4.0 django-guardian==2.4.0 +PyJWT==2.6.0 -- GitLab