mirror of
https://github.com/lemeow125/StudE-Backend.git
synced 2024-11-17 06:19:24 +08:00
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
from django import forms
|
|
from django.contrib import admin
|
|
from django.contrib.auth.admin import UserAdmin
|
|
from .models import CustomUser
|
|
from year_levels.models import Year_Level
|
|
from semesters.models import Semester
|
|
from courses.models import Course
|
|
from subjects.models import SubjectInstance
|
|
from django.contrib.admin.widgets import FilteredSelectMultiple
|
|
|
|
|
|
class CustomUserForm(forms.ModelForm):
|
|
def __init__(self, *args, **kwargs):
|
|
super(CustomUserForm, self).__init__(*args, **kwargs)
|
|
if self.instance:
|
|
self.fields['subjects'].queryset = SubjectInstance.objects.filter(
|
|
course=self.instance.course)
|
|
|
|
year_level = forms.ModelChoiceField(
|
|
queryset=Year_Level.objects.all(), required=False)
|
|
semester = forms.ModelChoiceField(
|
|
queryset=Semester.objects.all(), required=False)
|
|
course = forms.ModelChoiceField(
|
|
queryset=Course.objects.all(), required=False)
|
|
subjects = forms.ModelMultipleChoiceField(
|
|
queryset=SubjectInstance.objects.none(), required=False, widget=FilteredSelectMultiple("Subjects", is_stacked=False))
|
|
avatar = forms.ImageField(required=False)
|
|
|
|
class Meta:
|
|
model = CustomUser
|
|
fields = '__all__'
|
|
|
|
|
|
class CustomUserAdmin(UserAdmin):
|
|
model = CustomUser
|
|
form = CustomUserForm
|
|
|
|
fieldsets = UserAdmin.fieldsets + (
|
|
(None, {'fields': ('student_id_number',
|
|
'year_level', 'semester', 'course', 'subjects', 'avatar', 'is_student', 'irregular')}),
|
|
)
|
|
|
|
|
|
admin.site.register(CustomUser, CustomUserAdmin)
|