Skip to content
Snippets Groups Projects
Verified Commit 3fe5b6e0 authored by Lloyd Meins's avatar Lloyd Meins :thought_balloon:
Browse files

Enable personal configuration of default in personal preferences

parent 730ac289
No related branches found
No related tags found
1 merge request!183Resolve "Add page "Missing entries""
Pipeline #10753 canceled
......@@ -124,3 +124,11 @@ class RegisterObjectsTableItemsPerPage(IntegerPreference):
def validate(self, value):
if value < 1:
raise ValidationError(_("Each page must show at least one item."))
@person_preferences_registry.register
class DefaultLessonDocumentationFilter(BooleanPreference):
section = alsijil
name = "default_lesson_documentation_filter"
default = True
verbose_name = _("Filter lessons by existence of their lesson documentation on default")
......@@ -946,11 +946,18 @@ def overview_person(request: HttpRequest, id_: Optional[int] = None) -> HttpResp
context["extra_marks"] = extra_marks
# Build filter with own form and logic as django-filter can't work with different models
if request.user.person.preferences["alsijil__default_lesson_documentation_filter"]:
default_documentation = False
else:
default_documentation = None
filter_form = FilterRegisterObjectForm(
request, request.GET or None, for_person=True, default_documentation=False
request, request.GET or None, for_person=True, default_documentation=default_documentation
)
filter_dict = (
filter_form.cleaned_data if filter_form.is_valid() else {"has_documentation": False}
filter_form.cleaned_data
if filter_form.is_valid()
else {"has_documentation": default_documentation}
)
filter_dict["person"] = person
context["filter_form"] = filter_form
......
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