chore(admin): Harmonize ModelAdmin classes
This commit is contained in:
parent
eecfdc8c1d
commit
0630a8251c
3 changed files with 50 additions and 36 deletions
|
@ -1,22 +1,12 @@
|
|||
from django.contrib import admin
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from import_export.admin import (
|
||||
ImportExportMixin,
|
||||
ImportForm,
|
||||
SelectableFieldsExportForm,
|
||||
)
|
||||
from import_export.forms import ExportForm
|
||||
from unfold.admin import ModelAdmin
|
||||
|
||||
from api.models import ServiceUser, Token
|
||||
from shared.admin import BaseModelAdmin
|
||||
|
||||
|
||||
@admin.register(ServiceUser)
|
||||
class UserAdmin(ImportExportMixin, ModelAdmin):
|
||||
import_form_class = ImportForm
|
||||
export_form_class = ExportForm
|
||||
export_form_class = SelectableFieldsExportForm
|
||||
|
||||
class UserAdmin(BaseModelAdmin):
|
||||
fieldsets = (
|
||||
(
|
||||
None,
|
||||
|
@ -47,8 +37,15 @@ class UserAdmin(ImportExportMixin, ModelAdmin):
|
|||
|
||||
|
||||
@admin.register(Token)
|
||||
class AdminClass(ImportExportMixin, ModelAdmin):
|
||||
compressed_fields = True
|
||||
import_form_class = ImportForm
|
||||
export_form_class = ExportForm
|
||||
export_form_class = SelectableFieldsExportForm
|
||||
class AdminClass(BaseModelAdmin):
|
||||
readonly_fields = ("key",)
|
||||
|
||||
add_fieldsets = (
|
||||
(
|
||||
None,
|
||||
{
|
||||
"classes": ("wide",),
|
||||
"fields": ("user",),
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
|
@ -1,21 +1,16 @@
|
|||
from allauth.socialaccount.models import SocialAccount, SocialApp, SocialToken
|
||||
from django.contrib import admin
|
||||
from django.contrib.auth.admin import GroupAdmin as DjangoGroupAdmin
|
||||
from django.contrib.auth.admin import UserAdmin as DjangoUserAdmin
|
||||
from django.contrib.auth.models import Group
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from import_export.admin import ImportExportMixin
|
||||
from unfold.admin import ModelAdmin
|
||||
from unfold.contrib.import_export.forms import (
|
||||
ExportForm,
|
||||
ImportForm,
|
||||
SelectableFieldsExportForm,
|
||||
)
|
||||
|
||||
from dgsi.models import Archive, Bylaws, Service, Statutes, Translation, User
|
||||
from shared.admin import BaseModelAdmin
|
||||
|
||||
assert DjangoUserAdmin.fieldsets is not None
|
||||
|
||||
|
||||
# Unregister allauth models
|
||||
def unregister(*models, site=None):
|
||||
"""
|
||||
Unregister the given model(s) classes.
|
||||
|
@ -35,15 +30,20 @@ def unregister(*models, site=None):
|
|||
admin_site.unregister(models)
|
||||
|
||||
|
||||
# Unregister allauth models
|
||||
unregister(SocialAccount, SocialApp, SocialToken)
|
||||
|
||||
# Unregister django models
|
||||
unregister(Group)
|
||||
|
||||
|
||||
@admin.register(Group)
|
||||
class GroupAdmin(DjangoGroupAdmin, BaseModelAdmin):
|
||||
pass
|
||||
|
||||
|
||||
@admin.register(User)
|
||||
class UserAdmin(DjangoUserAdmin, ImportExportMixin, ModelAdmin):
|
||||
import_form_class = ImportForm
|
||||
export_form_class = ExportForm
|
||||
export_form_class = SelectableFieldsExportForm
|
||||
|
||||
class UserAdmin(DjangoUserAdmin, BaseModelAdmin):
|
||||
readonly_fields = ("vlan_id",)
|
||||
|
||||
# Add the local fields
|
||||
|
@ -60,9 +60,12 @@ class UserAdmin(DjangoUserAdmin, ImportExportMixin, ModelAdmin):
|
|||
)
|
||||
|
||||
|
||||
@admin.register(Archive, Bylaws, Service, SocialAccount, Statutes, Translation)
|
||||
class AdminClass(ImportExportMixin, ModelAdmin):
|
||||
compressed_fields = True
|
||||
import_form_class = ImportForm
|
||||
export_form_class = ExportForm
|
||||
export_form_class = SelectableFieldsExportForm
|
||||
for model in [
|
||||
Archive,
|
||||
Bylaws,
|
||||
Service,
|
||||
SocialAccount,
|
||||
Statutes,
|
||||
Translation,
|
||||
]:
|
||||
admin.site.register(model, BaseModelAdmin)
|
||||
|
|
14
src/shared/admin.py
Normal file
14
src/shared/admin.py
Normal file
|
@ -0,0 +1,14 @@
|
|||
from import_export.admin import (
|
||||
ImportExportMixin,
|
||||
ImportForm,
|
||||
SelectableFieldsExportForm,
|
||||
)
|
||||
from import_export.forms import ExportForm
|
||||
from unfold.admin import ModelAdmin
|
||||
|
||||
|
||||
class BaseModelAdmin(ImportExportMixin, ModelAdmin):
|
||||
compressed_fields = True
|
||||
import_form_class = ImportForm
|
||||
export_form_class = ExportForm
|
||||
export_form_class = SelectableFieldsExportForm
|
Loading…
Add table
Add a link
Reference in a new issue