diff --git a/aleksis/apps/chronos/apps.py b/aleksis/apps/chronos/apps.py index 73f66b1466a2d5d9e6c3d0a3b8b0780afdeda9ac..698cc3b9b71c327d0c0022d365b3ba4a80b7dbec 100644 --- a/aleksis/apps/chronos/apps.py +++ b/aleksis/apps/chronos/apps.py @@ -10,10 +10,11 @@ class ChronosConfig(AppConfig): } licence = "EUPL-1.2+" copyright_info = ( - ([2018, 2019, 2020], "Jonathan Weth", "wethjo@katharineum.de"), + ([2018, 2019, 2020, 2021], "Jonathan Weth", "wethjo@katharineum.de"), ([2018, 2019], "Frank Poetzsch-Heffter", "p-h@katharineum.de"), ([2019, 2020], "Dominik George", "dominik.george@teckids.org"), + ([2019, 2021], "Hangzhi Yu", "yuha@katharineum.de"), ([2019], "Julian Leucker", "leuckeju@katharineum.de"), ([2019], "Tom Teichler", "tom.teichler@teckids.org"), - ([2019], "Hangzhi Yu", "yuha@katharineum.de"), + ([2021], "Lloyd Meins", "meinsll@katharineum.de"), ) diff --git a/aleksis/apps/chronos/menus.py b/aleksis/apps/chronos/menus.py index 4a07e4e87d46782bd43782725e6a54b549c3393c..89fb6d8ddb6383e71c167191abb9a428fc62f25e 100644 --- a/aleksis/apps/chronos/menus.py +++ b/aleksis/apps/chronos/menus.py @@ -19,7 +19,7 @@ MENUS = { "validators": [ ( "aleksis.core.util.predicates.permission_validator", - "chronos.view_my_timetable", + "chronos.view_my_timetable_rule", ), ], }, @@ -30,7 +30,7 @@ MENUS = { "validators": [ ( "aleksis.core.util.predicates.permission_validator", - "chronos.view_timetable_overview", + "chronos.view_timetable_overview_rule", ), ], }, @@ -41,7 +41,7 @@ MENUS = { "validators": [ ( "aleksis.core.util.predicates.permission_validator", - "chronos.view_lessons_day", + "chronos.view_lessons_day_rule", ), ], }, @@ -52,7 +52,7 @@ MENUS = { "validators": [ ( "aleksis.core.util.predicates.permission_validator", - "chronos.view_substitutions", + "chronos.view_substitutions_rule", ), ], }, diff --git a/aleksis/apps/chronos/rules.py b/aleksis/apps/chronos/rules.py index 6be07872b6bb0689f90d9169aa83f3cc7016ca4f..d34a3f494ee0e3d06ef6574ac2f4ff8d4f01104b 100644 --- a/aleksis/apps/chronos/rules.py +++ b/aleksis/apps/chronos/rules.py @@ -14,39 +14,39 @@ from .util.predicates import has_any_timetable_object, has_room_timetable_perm, view_timetable_overview_predicate = has_person & ( has_any_timetable_object | has_global_perm("chronos.view_timetable_overview") ) -add_perm("chronos.view_timetable_overview", view_timetable_overview_predicate) +add_perm("chronos.view_timetable_overview_rule", view_timetable_overview_predicate) # View my timetable -add_perm("chronos.view_my_timetable", has_person) +add_perm("chronos.view_my_timetable_rule", has_person) # View timetable view_timetable_predicate = has_person & has_timetable_perm -add_perm("chronos.view_timetable", view_timetable_predicate) +add_perm("chronos.view_timetable_rule", view_timetable_predicate) # View all lessons per day view_lessons_day_predicate = has_person & has_global_perm("chronos.view_lessons_day") -add_perm("chronos.view_lessons_day", view_lessons_day_predicate) +add_perm("chronos.view_lessons_day_rule", view_lessons_day_predicate) # Edit substition edit_substitution_predicate = has_person & ( has_global_perm("chronos.change_lessonsubstitution") | has_object_perm("chronos.change_lessonsubstitution") ) -add_perm("chronos.edit_substitution", edit_substitution_predicate) +add_perm("chronos.edit_substitution_rule", edit_substitution_predicate) # Delete substitution delete_substitution_predicate = has_person & ( has_global_perm("chronos.delete_lessonsubstitution") | has_object_perm("chronos.delete_lessonsubstitution") ) -add_perm("chronos.delete_substitution", delete_substitution_predicate) +add_perm("chronos.delete_substitution_rule", delete_substitution_predicate) # View substitutions view_substitutions_predicate = has_person & ( has_global_perm("chronos.view_lessonsubstitution") - | has_any_object("chronos.view_lessonsubstitution", LessonSubstitution) + | has_any_object("chronos.view_lessonsubstitution_rule", LessonSubstitution) ) -add_perm("chronos.view_substitutions", view_substitutions_predicate) +add_perm("chronos.view_substitutions_rule", view_substitutions_predicate) # View room (timetable) view_room_predicate = has_person & has_room_timetable_perm diff --git a/aleksis/apps/chronos/views.py b/aleksis/apps/chronos/views.py index 4ddc0c73b7d8f24b5b6adc8d0a6a9aaeaf3e0d9f..67e256a352e5cedffb6290673e7b903f49e4117e 100644 --- a/aleksis/apps/chronos/views.py +++ b/aleksis/apps/chronos/views.py @@ -33,7 +33,7 @@ from .util.date import CalendarWeek, get_weeks_for_year from .util.js import date_unix -@permission_required("chronos.view_timetable_overview") +@permission_required("chronos.view_timetable_overview_rule") def all_timetables(request: HttpRequest) -> HttpResponse: """View all timetables for persons, groups and rooms.""" context = {} @@ -48,7 +48,7 @@ def all_timetables(request: HttpRequest) -> HttpResponse: return render(request, "chronos/all.html", context) -@permission_required("chronos.view_my_timetable") +@permission_required("chronos.view_my_timetable_rule") def my_timetable( request: HttpRequest, year: Optional[int] = None, @@ -109,7 +109,7 @@ def my_timetable( return redirect("all_timetables") -@permission_required("chronos.view_timetable", fn=get_el_by_pk) +@permission_required("chronos.view_timetable_rule", fn=get_el_by_pk) def timetable( request: HttpRequest, type_: str, @@ -195,7 +195,7 @@ def timetable( return render(request, "chronos/timetable.html", context) -@permission_required("chronos.view_lessons_day") +@permission_required("chronos.view_lessons_day_rule") def lessons_day( request: HttpRequest, year: Optional[int] = None, @@ -235,7 +235,7 @@ def lessons_day( @never_cache -@permission_required("chronos.edit_substitution", fn=get_substitution_by_id) +@permission_required("chronos.edit_substitution_rule", fn=get_substitution_by_id) def edit_substitution(request: HttpRequest, id_: int, week: int) -> HttpResponse: """View a form to edit a substitution lessen.""" context = {} @@ -271,7 +271,7 @@ def edit_substitution(request: HttpRequest, id_: int, week: int) -> HttpResponse return render(request, "chronos/edit_substitution.html", context) -@permission_required("chronos.delete_substitution", fn=get_substitution_by_id) +@permission_required("chronos.delete_substitution_rule", fn=get_substitution_by_id) def delete_substitution(request: HttpRequest, id_: int, week: int) -> HttpResponse: """Delete a substitution lesson. @@ -288,7 +288,7 @@ def delete_substitution(request: HttpRequest, id_: int, week: int) -> HttpRespon return redirect("lessons_day_by_date", year=date.year, month=date.month, day=date.day) -@permission_required("chronos.view_substitutions") +@permission_required("chronos.view_substitutions_rule") def substitutions( request: HttpRequest, year: Optional[int] = None,