class CourseAccreditationForm(forms.Form): OPERATOR_CHOICES = ( ('AND', 'HAS ALL'), ('OR', 'HAS ANY'), ('NONE_OF', 'HAS NONE OF'), ) start_semester = SemesterCodeField() end_semester = SemesterCodeField() operator = forms.ChoiceField(choices=OPERATOR_CHOICES, required=False, initial='AND') flag = forms.MultipleChoiceField(choices=[], required=False, widget=forms.CheckboxSelectMultiple()) def __init__(self, *args, **kwargs): flags = kwargs.pop('flags', []) super(CourseAccreditationForm, self).__init__(*args, **kwargs) if 'start_semester' not in self.data: self.data['start_semester'] = Semester.current().name if 'end_semester' not in self.data: self.data['end_semester'] = Semester.current().name self.fields['flag'].choices = flags
class AvailableCapacityForm(forms.Form): start_semester = SemesterCodeField() end_semester = SemesterCodeField() def __init__(self, *args, **kwargs): super(AvailableCapacityForm, self).__init__(*args, **kwargs) if 'start_semester' not in self.data: self.data['start_semester'] = ReportingSemester.current().prev( ).prev().code if 'end_semester' not in self.data: self.data['end_semester'] = ReportingSemester.current().code
class TeachingSummaryForm(forms.Form): start_semester = SemesterCodeField() end_semester = SemesterCodeField()