Newer
Older
from django import forms
from django_select2.forms import ModelSelect2MultipleWidget, ModelSelect2Widget

Jonathan Weth
committed
from material import Layout
from .models import AutomaticPlan, LessonSubstitution, SupervisionSubstitution
from .util.chronos_helpers import get_teachers
class LessonSubstitutionForm(forms.ModelForm):
class Meta:
model = LessonSubstitution
fields = ["subject", "teachers", "room", "cancelled", "comment"]
widgets = {
"teachers": ModelSelect2MultipleWidget(
search_fields=[
"first_name__icontains",
"last_name__icontains",
"short_name__icontains",
],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
def __init__(self, request, *args, **kwargs):
super().__init__(*args, **kwargs)
self.request = request
self.fields["teachers"].queryset = get_teachers(request.user)
class SupervisionSubstitutionForm(forms.ModelForm):
"""Form to manage supervisions substitutions."""
class Meta:
model = SupervisionSubstitution
fields = ["teacher"]
widgets = {
"teacher": ModelSelect2Widget(
search_fields=[
"first_name__icontains",
"last_name__icontains",
"short_name__icontains",
],
attrs={"data-minimum-input-length": 0, "class": "browser-default"},
),
}
def __init__(self, request, *args, **kwargs):
super().__init__(*args, **kwargs)
self.request = request
self.fields["teacher"].queryset = get_teachers(request.user)
class AutomaticPlanForm(forms.ModelForm):
layout = Layout("slug", "name", "number_of_days", "show_header_box")
class Meta:
model = AutomaticPlan
fields = ["slug", "name", "number_of_days", "show_header_box"]