diff --git a/hospexplorer/ask/admin.py b/hospexplorer/ask/admin.py index 335314f..a449c45 100644 --- a/hospexplorer/ask/admin.py +++ b/hospexplorer/ask/admin.py @@ -1,7 +1,8 @@ import logging from django.contrib import admin - +from django.contrib.auth.admin import UserAdmin +from django.contrib.auth.models import User from ask.models import Conversation, TermsAcceptance, QARecord, SimWorkflow, WebsiteResource, PDFResource from ask.kb_connector import add_website_to_kb, add_pdf_to_kb, delete_kb_document @@ -61,6 +62,25 @@ def qa_record_count(self, obj): qa_record_count.short_description = "Q&A Records" +class CustomUserAdmin(UserAdmin): + add_fieldsets = ( + (None, { + 'classes': ('wide',), + 'fields': ('username', 'email', 'password1', 'password2'), + }), + ) + + def get_form(self, request, obj=None, **kwargs): + form = super().get_form(request, obj, **kwargs) + if obj is None: + form.base_fields['email'].required = True + return form + + +admin.site.unregister(User) +admin.site.register(User, CustomUserAdmin) + + @admin.register(TermsAcceptance) class TermsAcceptanceAdmin(admin.ModelAdmin): list_display = ("user", "terms_version", "accepted_at") @@ -156,7 +176,7 @@ def delete_queryset(self, request, queryset): self.message_user(request, e.message, level="error") return - + @admin.register(WebsiteResource) class WebsiteResourceAdmin(KBDeleteAdminMixin, admin.ModelAdmin): list_display = ("title", "url", "creator", "modified_at")