From c5750a199b8e8e59d9a25a2138d52d15fee14282 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Mon, 22 Oct 2018 19:01:20 +0200 Subject: [PATCH] Extend user admin --- .../migrations/0003_auto_20181022_1646.py | 17 +++++++++++ server/users/admin.py | 28 ++++++++++++++++++- server/users/forms.py | 15 ++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 server/objectives/migrations/0003_auto_20181022_1646.py create mode 100644 server/users/forms.py diff --git a/server/objectives/migrations/0003_auto_20181022_1646.py b/server/objectives/migrations/0003_auto_20181022_1646.py new file mode 100644 index 00000000..8bd2e245 --- /dev/null +++ b/server/objectives/migrations/0003_auto_20181022_1646.py @@ -0,0 +1,17 @@ +# Generated by Django 2.0.6 on 2018-10-22 16:46 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('objectives', '0002_auto_20181015_1237'), + ] + + operations = [ + migrations.AlterModelOptions( + name='objectivegroup', + options={'verbose_name': 'Lernzielgruppe', 'verbose_name_plural': 'Lernzielgruppen'}, + ), + ] diff --git a/server/users/admin.py b/server/users/admin.py index ad435bf1..773c16f0 100644 --- a/server/users/admin.py +++ b/server/users/admin.py @@ -1,9 +1,16 @@ from django.contrib import admin from django.contrib.auth.admin import UserAdmin +from users.forms import CustomUserCreationForm, CustomUserChangeForm from .models import User, SchoolClass, Role, UserRole -admin.site.register(User, UserAdmin) + +class SchoolClassInline(admin.TabularInline): + model = SchoolClass.users.through + + +class RoleInline(admin.TabularInline): + model = UserRole @admin.register(SchoolClass) @@ -24,3 +31,22 @@ class UserSchoolRoleAdmin(admin.ModelAdmin): # list_filter = ('role__school',) readonly_fields = [] # search_fields = ('user__email', 'user__username') + + +class CustomUserAdmin(UserAdmin): + add_form = CustomUserCreationForm + form = CustomUserChangeForm + model = User + list_display = ('username', 'first_name', 'last_name',) + + inlines = [ + SchoolClassInline, + RoleInline, + ] + + # fieldsets = UserAdmin.fieldsets + ( + # (None, {'fields': ('school_classes',)}), + # ) + + +admin.site.register(User, CustomUserAdmin) diff --git a/server/users/forms.py b/server/users/forms.py new file mode 100644 index 00000000..0f59dbeb --- /dev/null +++ b/server/users/forms.py @@ -0,0 +1,15 @@ +from django.contrib.auth.forms import UserCreationForm, UserChangeForm + +from users.models import User + + +class CustomUserCreationForm(UserCreationForm): + class Meta(UserCreationForm.Meta): + model = User + fields = ('username', 'email',) + + +class CustomUserChangeForm(UserChangeForm): + class Meta(UserChangeForm.Meta): + model = User + fields = ('username', 'email',)