1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-01-19 06:31:20 +00:00
nk20/apps/member/admin.py

43 lines
1.1 KiB
Python
Raw Normal View History

2020-02-18 21:30:26 +01:00
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
2019-07-08 13:59:31 +02:00
# SPDX-License-Identifier: GPL-3.0-or-later
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
2019-08-11 16:22:52 +02:00
from .forms import ProfileForm
2019-07-17 09:49:59 +02:00
from .models import Club, Membership, Profile, Role
2019-07-08 13:59:31 +02:00
class ProfileInline(admin.StackedInline):
2019-07-16 09:05:41 +02:00
"""
Inline user profile in user admin
"""
2019-07-08 13:59:31 +02:00
model = Profile
can_delete = False
class CustomUserAdmin(UserAdmin):
2020-03-07 22:28:59 +01:00
inlines = (ProfileInline,)
2019-07-08 13:59:31 +02:00
list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff')
2020-03-07 22:28:59 +01:00
list_select_related = ('profile',)
2019-08-11 16:22:52 +02:00
form = ProfileForm
2019-07-08 13:59:31 +02:00
def get_inline_instances(self, request, obj=None):
"""
When creating a new user don't show profile one the first step
"""
if not obj:
return list()
return super().get_inline_instances(request, obj)
2019-07-17 09:49:59 +02:00
# Update Django User with profile
2019-07-08 13:59:31 +02:00
admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)
2019-07-17 09:49:59 +02:00
# Add other models
2019-07-16 15:17:57 +02:00
admin.site.register(Club)
2019-07-17 09:49:59 +02:00
admin.site.register(Membership)
admin.site.register(Role)