feat(admin): Unregister most socialaccount models, and re-register SocialAccount

This allows to use the django-unfold ModelAdmin class
This commit is contained in:
Tom Hubrecht 2024-09-27 11:08:35 +02:00
parent 2f5482a091
commit dc8f89be86
Signed by: thubrecht
SSH key fingerprint: SHA256:r+nK/SIcWlJ0zFZJGHtlAoRwq1Rm+WcKAm5ADYMoQPc

View file

@ -1,3 +1,4 @@
from allauth.socialaccount.models import SocialAccount, SocialApp, SocialToken
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from import_export.admin import ImportExportMixin
@ -11,6 +12,29 @@ from unfold.contrib.import_export.forms import (
from dgsi.models import Bylaws, Service, Statutes, Translation, User
# Unregister allauth models
def unregister(*models, site=None):
"""
Unregister the given model(s) classes.
unregister(Author)
The `site` kwarg is an admin site to use instead of the default admin site.
"""
from django.contrib.admin.sites import site as default_site
admin_site = site or default_site
if not isinstance(admin_site, admin.AdminSite):
raise ValueError("site must subclass AdminSite")
admin_site.unregister(models)
unregister(SocialAccount, SocialApp, SocialToken)
@admin.register(User)
class UserAdmin(BaseUserAdmin, ImportExportMixin, ModelAdmin):
import_form_class = ImportForm
@ -18,7 +42,7 @@ class UserAdmin(BaseUserAdmin, ImportExportMixin, ModelAdmin):
export_form_class = SelectableFieldsExportForm
@admin.register(Bylaws, Service, Statutes, Translation)
@admin.register(Bylaws, Service, SocialAccount, Statutes, Translation)
class AdminClass(ImportExportMixin, ModelAdmin):
compressed_fields = True
import_form_class = ImportForm