from django import forms from django.db import transaction from .models import NewsAndEvents, Session, Semester, SEMESTER # news and events class NewsAndEventsForm(forms.ModelForm): class Meta: model = NewsAndEvents fields = ( "title", "summary", "posted_as", ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["title"].widget.attrs.update({"class": "form-control"}) self.fields["summary"].widget.attrs.update({"class": "form-control"}) self.fields["posted_as"].widget.attrs.update({"class": "form-control"}) class SessionForm(forms.ModelForm): next_session_begins = forms.DateTimeField( widget=forms.TextInput( attrs={ "type": "date", } ), required=True, ) class Meta: model = Session fields = ["session", "is_current_session", "next_session_begins"] class SemesterForm(forms.ModelForm): semester = forms.CharField( widget=forms.Select( choices=SEMESTER, attrs={ "class": "browser-default custom-select", }, ), label="semester", ) is_current_semester = forms.CharField( widget=forms.Select( choices=((True, "Yes"), (False, "No")), attrs={ "class": "browser-default custom-select", }, ), label="is current semester ?", ) session = forms.ModelChoiceField( queryset=Session.objects.all(), widget=forms.Select( attrs={ "class": "browser-default custom-select", } ), required=True, ) next_semester_begins = forms.DateTimeField( widget=forms.TextInput( attrs={ "type": "date", "class": "form-control", } ), required=True, ) class Meta: model = Semester fields = ["semester", "is_current_semester", "session", "next_semester_begins"]