Skip to content
Snippets Groups Projects
Commit 0d6400b4 authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

Filter possible selection in absence form

parent 4a5b813e
No related branches found
No related tags found
2 merge requests!72Resolve "Filter selects on week overview and register absence",!49Resolve "Add rules and permissions"
Pipeline #3099 passed
......@@ -8,6 +8,7 @@ from django.utils.translation import gettext_lazy as _
from django_select2.forms import Select2Widget
from material import Layout, Row
from aleksis.core.util.core_helpers import queryset_rules_filter
from aleksis.apps.chronos.managers import TimetableType
from aleksis.core.models import Group, Person
......@@ -108,6 +109,12 @@ class RegisterAbsenceForm(forms.Form):
excused = forms.BooleanField(label=_("Excused"), initial=True, required=False)
remarks = forms.CharField(label=_("Remarks"), max_length=30, required=False)
def __init__(self, *args, **kwargs):
self.request = kwargs.pop("request")
super().__init__(*args, **kwargs)
self.fields["person"].queryset = queryset_rules_filter(self.request, Person.objects.all(),
"core.register_absence")
class PersonalNoteFilterForm(forms.ModelForm):
layout = Layout(Row("identifier", "description"), Row("regex"))
......
......@@ -396,7 +396,7 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
def register_absence(request: HttpRequest) -> HttpResponse:
context = {}
register_absence_form = RegisterAbsenceForm(request.POST or None)
register_absence_form = RegisterAbsenceForm(request.POST or None, request=request)
if request.method == "POST":
if register_absence_form.is_valid():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment