30 lines
1.1 KiB
Python
Executable File
30 lines
1.1 KiB
Python
Executable File
from django.contrib import admin
|
|
from django.contrib.auth.admin import UserAdmin
|
|
from .models import CustomUser
|
|
|
|
class CustomUserAdmin(UserAdmin):
|
|
model = CustomUser
|
|
list_display = ('email', 'name', 'is_staff', 'is_active',)
|
|
list_filter = ('is_staff', 'is_active',)
|
|
fieldsets = (
|
|
(None, {'fields': ('email', 'password')}),
|
|
('Personal info', {'fields': ('first_name', 'last_name', 'dob', 'contact_number', 'profile_photo')}),
|
|
('Permissions', {'fields': ('is_staff', 'is_active', 'is_superuser', 'groups', 'user_permissions')}),
|
|
)
|
|
add_fieldsets = (
|
|
(None, {
|
|
'classes': ('wide',),
|
|
'fields': ('email', 'first_name', 'last_name', 'password1', 'password2', 'is_staff', 'is_active')}
|
|
),
|
|
)
|
|
search_fields = ('email',)
|
|
ordering = ('email',)
|
|
|
|
def save_model(self, request, obj, form, change):
|
|
if not change: # If the user is being created
|
|
obj.set_password(form.cleaned_data['password1'])
|
|
obj.save() # Call save with custom_save=True
|
|
else:
|
|
obj.save()
|
|
admin.site.register(CustomUser, CustomUserAdmin)
|