Skip to content

Commit

Permalink
Add autocomplete filters in admin panel
Browse files Browse the repository at this point in the history
  • Loading branch information
thenav56 committed Apr 26, 2024
1 parent b7be062 commit c760e12
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 9 deletions.
36 changes: 28 additions & 8 deletions apps/cap_feed/admin.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from admin_auto_filters.filters import AutocompleteFilterFactory
from django.contrib import admin
from django_celery_beat.models import (
ClockedSchedule,
Expand Down Expand Up @@ -44,7 +45,10 @@ class AlertInfoAreaAdmin(admin.ModelAdmin):

class AlertInfoAdmin(admin.ModelAdmin):
list_display = ['alert', 'language']
list_filter = ['alert__feed', 'alert__country']
list_filter = (
AutocompleteFilterFactory('Feed', 'alert__feed'),
AutocompleteFilterFactory('Country', 'alert__country'),
)
search_fields = ['alert__url']
fieldsets = [
('Administration', {'fields': ['alert']}),
Expand Down Expand Up @@ -83,7 +87,10 @@ class AlertInfoInline(admin.StackedInline):

class AlertAdmin(admin.ModelAdmin):
list_display = ['url', 'country', 'feed', 'sent', 'status', 'msg_type', 'scope']
list_filter = ['feed', 'country']
list_filter = (
AutocompleteFilterFactory('Feed', 'feed'),
AutocompleteFilterFactory('Country', 'country'),
)
search_fields = ['url']
fieldsets = [
('Administration', {'fields': ['country', 'feed']}),
Expand Down Expand Up @@ -113,13 +120,16 @@ class AlertAdmin(admin.ModelAdmin):

class CountryAdmin(admin.ModelAdmin):
list_display = ['name', 'iso3', 'region', 'continent']
list_filter = ['region', 'continent']
list_filter = (
'region',
'continent',
)
search_fields = ['name', 'iso3']


class Admin1Admin(admin.ModelAdmin):
list_display = ['name', 'country']
list_filter = ['country']
list_filter = (AutocompleteFilterFactory('Country', 'country'),)
search_fields = ['name']


Expand All @@ -135,7 +145,11 @@ def get_formset(self, *args, **kwargs):

class FeedAdmin(admin.ModelAdmin):
list_display = ['name', 'country', 'url', 'format', 'polling_interval']
list_filter = ['format', 'country__region', 'country']
list_filter = (
'format',
'country__region',
AutocompleteFilterFactory('Country', 'country'),
)
search_fields = ['url']
inlines = [LanguageInfoInline]

Expand All @@ -153,7 +167,10 @@ def name(self, obj):

class FeedLogAdmin(admin.ModelAdmin):
list_display = ['exception', 'feed', 'description', 'alert_url', 'timestamp']
list_filter = ['exception', 'feed']
list_filter = (
'exception',
AutocompleteFilterFactory('Feed', 'feed'),
)
search_fields = ['feed', 'exception', 'alert_url']
fieldsets = [
('Log Context', {'fields': ['feed', 'alert_url', 'timestamp', 'notes']}),
Expand All @@ -163,13 +180,16 @@ class FeedLogAdmin(admin.ModelAdmin):

class AlertAdmin1Admin(admin.ModelAdmin):
list_display = ['alert', 'admin1']
list_filter = ['alert__country', 'admin1']
list_filter = (
AutocompleteFilterFactory('Admin1', 'admin1'),
AutocompleteFilterFactory('Country', 'alert__country'),
)
search_fields = ['alert__url', 'admin1__name']


class ProcessedAlertAdmin(admin.ModelAdmin):
list_display = ['url', 'feed']
list_filter = ['feed']
list_filter = (AutocompleteFilterFactory('Feed', 'feed'),)
search_fields = ['url']


Expand Down
1 change: 1 addition & 0 deletions main/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
'django.contrib.gis',
# External
'strawberry_django',
'admin_auto_filters',
'django_celery_beat',
'django_extensions',
'corsheaders',
Expand Down
16 changes: 15 additions & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ django-environ = "*"
django-extensions = "^3.2.3"
django-redis = "^5.3.0"
django-storages = "^1.13.2"
django-admin-autocomplete-filter = "*"
iso639-lang = "^2.1.0"
graphene-django = "*"
psycopg2-binary = "^2.9.9"
Expand Down

0 comments on commit c760e12

Please sign in to comment.