diff --git a/biscuit/apps/alsijil/forms.py b/biscuit/apps/alsijil/forms.py index fde563a0e8b367fe0316acb696fab30e10cc5022..53bb755241c768293d633840adb5356c8656d9f8 100644 --- a/biscuit/apps/alsijil/forms.py +++ b/biscuit/apps/alsijil/forms.py @@ -53,7 +53,7 @@ PersonalNoteFormSet = forms.modelformset_factory( class RegisterAbsenceForm(forms.Form): date_start = forms.DateField(label=_('Start date'), widget=forms.SelectDateWidget, initial=datetime.today) date_end = forms.DateField(label=_('End date'), widget=forms.SelectDateWidget, initial=datetime.today) - starting_lesson = forms.IntegerField(label=_('Starting lesson'), initial=0, min_value=0) + from_period = forms.IntegerField(label=_('From period'), initial=0, min_value=0) person = forms.ModelChoiceField(label=_('Person'), queryset=Person.objects.all(), widget=Select2Widget) absent = forms.BooleanField(label=_('Absent'), initial=True, required=False) excused = forms.BooleanField(label=_('Excused'), initial=True, required=False) diff --git a/biscuit/apps/alsijil/model_extensions.py b/biscuit/apps/alsijil/model_extensions.py index 3b36b00a657826b70ec698a0f438d4f7a4bdc018..a9fd549117671790b3d187fa013ddba26fc77878 100644 --- a/biscuit/apps/alsijil/model_extensions.py +++ b/biscuit/apps/alsijil/model_extensions.py @@ -1,4 +1,4 @@ -from datetime import date +From datetime import date from django.db.models import Exists, F, OuterRef @@ -10,7 +10,7 @@ from .models import PersonalNote @Person.method -def mark_absent(self, day: date, starting_period: int = 0, absent: bool = True, bool = False, remarks: str = ''): +def mark_absent(self, day: date, from_period: int = 0, absent: bool = True, bool = False, remarks: str = ''): """ Mark a person absent for all lessons in a day, optionally starting with a selected period number. @@ -30,7 +30,7 @@ def mark_absent(self, day: date, starting_period: int = 0, absent: bool = True, lesson_periods = self.lesson_periods_as_participant.on_day( day ).filter( - period__period__gte=starting_period + period__period__gte=from_period ) # Create and update all personal notes for the discovered lesson periods diff --git a/biscuit/apps/alsijil/views.py b/biscuit/apps/alsijil/views.py index e2be251c4c95289e13468e43ea36ed262ac46561..44c9ed95afdda1907630876395b2b96908805185 100644 --- a/biscuit/apps/alsijil/views.py +++ b/biscuit/apps/alsijil/views.py @@ -232,7 +232,7 @@ def register_absence(request: HttpRequest) -> HttpResponse: person = register_absence_form.cleaned_data['person'] start_date = register_absence_form.cleaned_data['date_start'] end_date = register_absence_form.cleaned_data['date_end'] - starting_lesson = register_absence_form.cleaned_data['starting_lesson'] + from_period = register_absence_form.cleaned_data['from_period'] absent = register_absence_form.cleaned_data['absent'] excused = register_absence_form.cleaned_data['excused'] remarks = register_absence_form.cleaned_data['remarks'] @@ -240,9 +240,9 @@ def register_absence(request: HttpRequest) -> HttpResponse: # Mark person as absent delta = end_date - start_date for i in range(delta.days+1): - starting_period = starting_lesson if i == 0 else 0 + from_period = from_period if i == 0 else 0 day = start_date + timedelta(days=i) - person.mark_absent(day, starting_period, absent, excused, remarks) + person.mark_absent(day, from_period, absent, excused, remarks) messages.success(request, _('The absence has been saved.')) return redirect('index')