mirror of https://gitlab.crans.org/bde/nk20
36 lines
1004 B
Python
36 lines
1004 B
Python
|
# -*- mode: python; coding: utf-8 -*-
|
||
|
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||
|
# 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
|
||
|
|
||
|
from .forms import CustomUserChangeForm
|
||
|
from .models import Profile
|
||
|
|
||
|
|
||
|
class ProfileInline(admin.StackedInline):
|
||
|
"""Inline user profile in user admin"""
|
||
|
model = Profile
|
||
|
can_delete = False
|
||
|
|
||
|
|
||
|
class CustomUserAdmin(UserAdmin):
|
||
|
inlines = (ProfileInline,)
|
||
|
list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff')
|
||
|
list_select_related = ('profile',)
|
||
|
form = CustomUserChangeForm
|
||
|
|
||
|
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)
|
||
|
|
||
|
|
||
|
admin.site.unregister(User)
|
||
|
admin.site.register(User, CustomUserAdmin)
|