From a13d6d1f364a17ec00c88ec59b4095a6f9091e10 Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 25 Mar 2021 10:08:22 +0000 Subject: [PATCH 1/2] changes to core.admin, useradmin still not showing password correctly --- core/admin.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/core/admin.py b/core/admin.py index 72bb44d..f13f27a 100644 --- a/core/admin.py +++ b/core/admin.py @@ -6,8 +6,22 @@ from . import models class UserAdmin(admin.ModelAdmin): + model = models.CustomUser + list_display = ('email', 'full_name', 'role', 'company', 'email_verified', 'is_active', 'is_staff', 'created', 'last_visit') list_filter = ('is_active', 'is_staff', 'email_verified') search_fields = ('email', 'full_name', 'company__short_name') + fieldsets = ( + (None, {'fields': ('email', 'password','full_name', 'role', 'notify','provider','email_verified','company','is_active')}), + ('Permissions', {'fields': ('is_staff', 'groups')}), + ) + + add_fieldsets = ( + (None, { + 'classes': ('wide',), + 'fields': ('email', 'password1', 'password2', 'is_staff', 'is_active')} + ), + ) + admin.site.register(models.CustomUser, UserAdmin) From 86aaa0ef2e4e7e61e03a1e94d717e66605bbfaa1 Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 25 Mar 2021 10:16:08 +0000 Subject: [PATCH 2/2] admin user forms handle passwords correctly --- core/admin.py | 10 +++++++++- core/forms.py | 27 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 core/forms.py diff --git a/core/admin.py b/core/admin.py index f13f27a..11522ac 100644 --- a/core/admin.py +++ b/core/admin.py @@ -1,12 +1,20 @@ from django.contrib import admin +from .forms import CustomUserChangeForm, CustomUserCreationForm from . import models +from .forms import CustomUserChangeForm, CustomUserCreationForm # Register your models here. +from django.contrib.auth import get_user_model + +User = get_user_model() + class UserAdmin(admin.ModelAdmin): - model = models.CustomUser + add_form = CustomUserCreationForm + form = CustomUserChangeForm + model = User list_display = ('email', 'full_name', 'role', 'company', 'email_verified', 'is_active', 'is_staff', 'created', 'last_visit') list_filter = ('is_active', 'is_staff', 'email_verified') diff --git a/core/forms.py b/core/forms.py new file mode 100644 index 0000000..ddf7731 --- /dev/null +++ b/core/forms.py @@ -0,0 +1,27 @@ +from django import forms +from django.contrib.auth.forms import UserChangeForm, UserCreationForm +from django.forms import ModelForm +from django.contrib.auth import get_user_model + +User = get_user_model() + + +class CustomUserCreationForm(UserCreationForm): + + class Meta(UserCreationForm.Meta): + + model = User + + UserCreationForm.Meta.fields = ('email',) + fields = UserCreationForm.Meta.fields + ('full_name','role', 'notify', 'provider', 'email_verified', 'company', 'is_active', 'is_staff') + UserCreationForm.Meta.fields = ('password1','password2',) + + +class CustomUserChangeForm(UserChangeForm): + + class Meta(UserChangeForm.Meta): + model = User + UserChangeForm.Meta.fields = ('email',) + fields = UserChangeForm.Meta.fields + ('full_name','role', 'notify', 'provider', 'email_verified', 'company', 'is_active', 'is_staff') + UserChangeForm.Meta.fields = ('password1','password2',) +