diff --git a/apps/account/admin/user.py b/apps/account/admin/user.py index b765ac2..049aace 100644 --- a/apps/account/admin/user.py +++ b/apps/account/admin/user.py @@ -333,7 +333,7 @@ class CourseTableSection(TableSection): class ProfessorUpgradeForm(forms.ModelForm): existing_user = forms.ModelChoiceField( - queryset=User.objects.exclude(groups__name="Professor Group"), + queryset=User.objects.filter(is_active=True, email__isnull=False).exclude(groups__name="Professor Group"), required=True, label=_("Select Existing User"), help_text=_("Choose an existing user to upgrade to Professor."), diff --git a/apps/chat/admin.py b/apps/chat/admin.py index 8efe223..cb23080 100644 --- a/apps/chat/admin.py +++ b/apps/chat/admin.py @@ -39,7 +39,8 @@ class MessageReadStatusAdmin(ModelAdmin): is_read_status.short_description = _("Read Status") - +from django.contrib.auth import get_user_model +User = get_user_model() class RoomMessageAdmin(ModelAdmin): list_display = ( 'name', 'room_type_badge', 'course', 'initiator', @@ -70,6 +71,15 @@ class RoomMessageAdmin(ModelAdmin): 'classes': ('grid-col-2',), }), ) + + def formfield_for_foreignkey(self, db_field, request, **kwargs): + if db_field.name == "initiator": + kwargs["queryset"] = User.objects.filter(is_active=True, email__isnull=False) + + if db_field.name == "recipient": + kwargs["queryset"] = User.objects.filter(is_active=True, email__isnull=False) + + return super().formfield_for_foreignkey(db_field, request, **kwargs) def messages_count(self, obj): count = obj.messages.count() diff --git a/apps/course/admin/course.py b/apps/course/admin/course.py index 8fbcf21..c5b6dbc 100644 --- a/apps/course/admin/course.py +++ b/apps/course/admin/course.py @@ -239,7 +239,7 @@ from unfold.widgets import UnfoldAdminSelectWidget class AddStudentForm(forms.Form): student = forms.ModelChoiceField( - queryset=User.objects.filter(is_active=True), + queryset=User.objects.filter(is_active=True , email__isnull=False), label=_("Select Student"), widget=UnfoldAdminSelectWidget, required=True