75 lines
2.0 KiB
Python
75 lines
2.0 KiB
Python
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']
|