diff --git a/blogs/admin.py b/blogs/admin.py
index 24a389f3b..ef8fac4af 100644
--- a/blogs/admin.py
+++ b/blogs/admin.py
@@ -7,15 +7,15 @@
from .models import BlogEntry, Contributor, Translation, Feed, FeedAggregate
+@admin.register(Translation)
class TranslationAdmin(ContentManageableModelAdmin):
list_display = ['name', '_display_url']
def _display_url(self, obj):
return format_html('{0}'.format(obj.url))
-admin.site.register(Translation, TranslationAdmin)
-
+@admin.register(Contributor)
class ContributorAdmin(ContentManageableModelAdmin):
list_display = ['_display_name']
@@ -25,9 +25,8 @@ def _display_name(self, obj):
else:
return "{} (PK#{})".format(obj.user.username, obj.user.pk)
-admin.site.register(Contributor, ContributorAdmin)
-
+@admin.register(BlogEntry)
class BlogEntryAdmin(admin.ModelAdmin):
list_display = ['title', 'pub_date']
date_hierarchy = 'pub_date'
@@ -38,14 +37,11 @@ def sync_new_entries(self, request, queryset):
self.message_user(request, "Blog entries updated.")
sync_new_entries.short_description = "Sync new blog entries"
-
-admin.site.register(BlogEntry, BlogEntryAdmin)
+@admin.register(FeedAggregate)
class FeedAggregateAdmin(admin.ModelAdmin):
list_display = ['name', 'slug', 'description']
prepopulated_fields = {'slug': ('name',)}
-admin.site.register(FeedAggregate, FeedAggregateAdmin)
-
admin.site.register(Feed)
diff --git a/boxes/admin.py b/boxes/admin.py
index df5f7bdfc..d71e7810a 100644
--- a/boxes/admin.py
+++ b/boxes/admin.py
@@ -3,8 +3,6 @@
from .models import Box
+@admin.register(Box)
class BoxAdmin(ContentManageableModelAdmin):
ordering = ('label', )
-
-
-admin.site.register(Box, BoxAdmin)
diff --git a/community/admin.py b/community/admin.py
index f12f8c5d9..b9023ac00 100644
--- a/community/admin.py
+++ b/community/admin.py
@@ -19,6 +19,7 @@ class VideoInline(ContentManageableStackedInline):
extra = 0
+@admin.register(Post)
class PostAdmin(ContentManageableModelAdmin):
date_hierarchy = 'created'
list_display = ['__str__', 'status', 'media_type']
@@ -30,12 +31,7 @@ class PostAdmin(ContentManageableModelAdmin):
]
+@admin.register(Link, Photo, Video)
class PostTypeAdmin(ContentManageableModelAdmin):
date_hierarchy = 'created'
raw_id_fields = ['post']
-
-
-admin.site.register(Post, PostAdmin)
-admin.site.register(Link, PostTypeAdmin)
-admin.site.register(Photo, PostTypeAdmin)
-admin.site.register(Video, PostTypeAdmin)
diff --git a/companies/admin.py b/companies/admin.py
index 81f632cae..f5e2da58f 100644
--- a/companies/admin.py
+++ b/companies/admin.py
@@ -5,9 +5,8 @@
from .models import Company
+@admin.register(Company)
class CompanyAdmin(NameSlugAdmin):
search_fields = ['name']
list_display = ['__str__', 'contact', 'email']
ordering = ['-pk']
-
-admin.site.register(Company, CompanyAdmin)
diff --git a/downloads/admin.py b/downloads/admin.py
index 42e05760e..d32f97b71 100644
--- a/downloads/admin.py
+++ b/downloads/admin.py
@@ -4,6 +4,7 @@
from cms.admin import ContentManageableModelAdmin, ContentManageableStackedInline
+@admin.register(OS)
class OSAdmin(ContentManageableModelAdmin):
model = OS
prepopulated_fields = {"slug": ("name",)}
@@ -14,6 +15,7 @@ class ReleaseFileInline(ContentManageableStackedInline):
extra = 0
+@admin.register(Release)
class ReleaseAdmin(ContentManageableModelAdmin):
inlines = [ReleaseFileInline]
prepopulated_fields = {"slug": ("name",)}
@@ -23,6 +25,3 @@ class ReleaseAdmin(ContentManageableModelAdmin):
list_filter = ['version', 'is_published', 'show_on_download_page']
search_fields = ['name', 'slug']
ordering = ['-release_date']
-
-admin.site.register(OS, OSAdmin)
-admin.site.register(Release, ReleaseAdmin)
diff --git a/events/admin.py b/events/admin.py
index 0f9b0b516..df8ac278f 100644
--- a/events/admin.py
+++ b/events/admin.py
@@ -9,10 +9,6 @@ class EventInline(admin.StackedInline):
extra = 0
-class CalendarAdmin(ContentManageableModelAdmin):
- pass
-
-
class OccurringRuleInline(admin.StackedInline):
model = OccurringRule
extra = 0
@@ -29,6 +25,7 @@ class AlarmInline(admin.StackedInline):
extra = 0
+@admin.register(Event)
class EventAdmin(ContentManageableModelAdmin):
inlines = [OccurringRuleInline, RecurringRuleInline, AlarmInline]
list_display = ['__str__', 'calendar', 'featured']
@@ -37,14 +34,11 @@ class EventAdmin(ContentManageableModelAdmin):
search_fields = ['title']
+@admin.register(EventLocation)
class EventLocationAdmin(admin.ModelAdmin):
list_filter = ['calendar']
-admin.site.register(Calendar, CalendarAdmin)
admin.site.register(EventCategory, NameSlugAdmin)
-admin.site.register(Event, EventAdmin)
-admin.site.register(OccurringRule)
-admin.site.register(RecurringRule)
-admin.site.register(Alarm, ContentManageableModelAdmin)
-admin.site.register(EventLocation, EventLocationAdmin)
+admin.site.register((OccurringRule, RecurringRule))
+admin.site.register((Alarm, Calendar), ContentManageableModelAdmin)
diff --git a/jobs/admin.py b/jobs/admin.py
index de5814f00..f24e8b077 100644
--- a/jobs/admin.py
+++ b/jobs/admin.py
@@ -4,6 +4,7 @@
from cms.admin import NameSlugAdmin, ContentManageableModelAdmin
+@admin.register(Job)
class JobAdmin(ContentManageableModelAdmin):
date_hierarchy = 'created'
filter_horizontal = ['job_types']
@@ -13,26 +14,21 @@ class JobAdmin(ContentManageableModelAdmin):
search_fields = ['id', 'job_title']
+@admin.register(JobType)
class JobTypeAdmin(NameSlugAdmin):
list_display = ['__str__', 'active']
list_filter = ['active']
ordering = ('-active', 'name')
-admin.site.register(JobType, JobTypeAdmin)
-
+@admin.register(JobCategory)
class JobCategoryAdmin(NameSlugAdmin):
list_display = ['__str__', 'active']
list_filter = ['active']
ordering = ('-active', 'name')
+@admin.register(JobReviewComment)
class JobReviewCommentAdmin(ContentManageableModelAdmin):
list_display = ['__str__', 'job']
ordering = ('-created',)
-
-admin.site.register(JobCategory, JobCategoryAdmin)
-
-admin.site.register(Job, JobAdmin)
-
-admin.site.register(JobReviewComment, JobReviewCommentAdmin)
diff --git a/minutes/admin.py b/minutes/admin.py
index a37b7de57..63f7fdd4d 100644
--- a/minutes/admin.py
+++ b/minutes/admin.py
@@ -4,6 +4,7 @@
from cms.admin import ContentManageableModelAdmin
+@admin.register(Minutes)
class MinutesAdmin(ContentManageableModelAdmin):
date_hierarchy = 'date'
@@ -14,5 +15,3 @@ def get_list_filter(self, request):
def get_list_display(self, request):
fields = list(super().get_list_display(request))
return fields + ['is_published']
-
-admin.site.register(Minutes, MinutesAdmin)
diff --git a/nominations/admin.py b/nominations/admin.py
index c300e8a54..92c426431 100644
--- a/nominations/admin.py
+++ b/nominations/admin.py
@@ -3,10 +3,12 @@
from nominations.models import (Election, Nominee, Nomination)
+@admin.register(Election)
class ElectionAdmin(admin.ModelAdmin):
readonly_fields = ("slug",)
+@admin.register(Nominee)
class NomineeAdmin(admin.ModelAdmin):
raw_id_fields = ("user",)
list_display = ("__str__", "election", "accepted", "approved")
@@ -14,12 +16,8 @@ class NomineeAdmin(admin.ModelAdmin):
readonly_fields = ("slug",)
+@admin.register(Nomination)
class NominationAdmin(admin.ModelAdmin):
raw_id_fields = ("nominee", "nominator")
list_display = ("__str__", "election", "accepted", "approved")
list_filter = ("election", "accepted", "approved")
-
-
-admin.site.register(Election, ElectionAdmin)
-admin.site.register(Nominee, NomineeAdmin)
-admin.site.register(Nomination, NominationAdmin)
diff --git a/pages/admin.py b/pages/admin.py
index 11aff9d9d..7b701de72 100644
--- a/pages/admin.py
+++ b/pages/admin.py
@@ -61,6 +61,7 @@ def queryset(self, request, queryset):
return queryset.filter(path__startswith=self.value())
+@admin.register(Page)
class PageAdmin(ContentManageableModelAdmin):
search_fields = ['title', 'path']
list_display = ('get_title', 'path', 'is_published',)
@@ -71,5 +72,3 @@ class PageAdmin(ContentManageableModelAdmin):
('Advanced options', {'classes': ('collapse',), 'fields': ('template_name',)}),
]
save_as = True
-
-admin.site.register(Page, PageAdmin)
diff --git a/sponsors/admin.py b/sponsors/admin.py
index 096c69b1c..4507435ab 100644
--- a/sponsors/admin.py
+++ b/sponsors/admin.py
@@ -4,6 +4,7 @@
from cms.admin import ContentManageableModelAdmin
+@admin.register(Sponsor)
class SponsorAdmin(ContentManageableModelAdmin):
raw_id_fields = ['company']
@@ -14,5 +15,3 @@ def get_list_filter(self, request):
def get_list_display(self, request):
fields = list(super().get_list_display(request))
return fields + ['is_published']
-
-admin.site.register(Sponsor, SponsorAdmin)
diff --git a/successstories/admin.py b/successstories/admin.py
index 9729c5d5a..e4e4bef55 100644
--- a/successstories/admin.py
+++ b/successstories/admin.py
@@ -5,10 +5,12 @@
from cms.admin import ContentManageableModelAdmin, NameSlugAdmin
+@admin.register(StoryCategory)
class StoryCategoryAdmin(NameSlugAdmin):
prepopulated_fields = {'slug': ('name',)}
+@admin.register(Story)
class StoryAdmin(ContentManageableModelAdmin):
prepopulated_fields = {'slug': ('name',)}
raw_id_fields = ['category']
@@ -25,6 +27,3 @@ def get_list_display(self, request):
def show_link(self, obj):
return format_html('\U0001F517'.format(obj.get_absolute_url()))
show_link.short_description = 'View on site'
-
-admin.site.register(StoryCategory, StoryCategoryAdmin)
-admin.site.register(Story, StoryAdmin)
diff --git a/users/admin.py b/users/admin.py
index c501efadc..d0cdecdc4 100644
--- a/users/admin.py
+++ b/users/admin.py
@@ -24,6 +24,7 @@ class ApiKeyInline(TastypieApiKeyInline):
readonly_fields = ('key', 'created')
+@admin.register(User)
class UserAdmin(BaseUserAdmin):
inlines = BaseUserAdmin.inlines + [ApiKeyInline, MembershipInline]
fieldsets = (
@@ -48,6 +49,7 @@ def full_name(self, obj):
full_name.short_description = 'Name'
+@admin.register(Membership)
class MembershipAdmin(admin.ModelAdmin):
actions = [export_csv]
list_display = (
@@ -65,9 +67,6 @@ class ApiKeyAdmin(admin.ModelAdmin):
date_hierarchy = 'created'
-admin.site.register(User, UserAdmin)
-admin.site.register(Membership, MembershipAdmin)
-
try:
admin.site.unregister(ApiKey)
except admin.sites.NotRegistered:
diff --git a/work_groups/admin.py b/work_groups/admin.py
index 1b4c95b23..e17e300b3 100644
--- a/work_groups/admin.py
+++ b/work_groups/admin.py
@@ -5,6 +5,7 @@
from .models import WorkGroup
+@admin.register(WorkGroup)
class WorkGroupAdmin(ContentManageableModelAdmin):
search_fields = ['name', 'slug', 'url', 'short_description', 'purpose']
list_display = ('name', 'active', 'approved')
@@ -33,4 +34,3 @@ class WorkGroupAdmin(ContentManageableModelAdmin):
'members',
)})
]
-admin.site.register(WorkGroup, WorkGroupAdmin)