Skip to content
Snippets Groups Projects
Verified Commit 8f133168 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Add preference for allowing original teachers to edit their substituted lessons

parent 7c0a44c8
No related branches found
No related tags found
1 merge request!158Resolve "Check permission rules if they handle lessons with substitutions correctly"
Pipeline #6281 passed
......@@ -34,6 +34,14 @@ class RegisterAbsenceAsPrimaryGroupOwner(BooleanPreference):
)
@site_preferences_registry.register
class EditLessonDocumentationAsOriginalTeacher(BooleanPreference):
section = alsijil
name = "edit_lesson_documentation_as_original_teacher"
default = True
verbose_name = _("Allow original teachers to edit their lessons although they are substituted")
@site_preferences_registry.register
class CarryOverDataToNextPeriods(BooleanPreference):
section = alsijil
......
......@@ -58,6 +58,10 @@ add_perm("alsijil.view_register_object_personalnote", view_lesson_personal_notes
# Edit personal note
edit_lesson_personal_note_predicate = view_lesson_personal_notes_predicate & (
is_lesson_teacher
| (
is_lesson_original_teacher
& is_site_preference_set("alsijil", "edit_lesson_documentation_as_original_teacher")
)
| has_global_perm("alsijil.change_personalnote")
| has_lesson_group_object_perm("core.edit_personalnote_group")
)
......@@ -76,7 +80,11 @@ add_perm("alsijil.view_personalnote", view_personal_note_predicate)
# Edit personal note
edit_personal_note_predicate = view_personal_note_predicate & (
~is_own_personal_note & ~is_personal_note_lesson_original_teacher
~is_own_personal_note
& ~(
is_personal_note_lesson_original_teacher
or not is_site_preference_set("alsijil", "edit_lesson_documentation_as_original_teacher")
)
| has_global_perm("alsijil.view_personalnote")
| has_personal_note_group_perm("core.edit_personalnote_group")
)
......@@ -89,6 +97,10 @@ add_perm("alsijil.view_lessondocumentation", view_lesson_documentation_predicate
# Edit lesson documentation
edit_lesson_documentation_predicate = view_register_object_predicate & (
is_lesson_teacher
| (
is_lesson_original_teacher
& is_site_preference_set("alsijil", "edit_lesson_documentation_as_original_teacher")
)
| has_global_perm("alsijil.change_lessondocumentation")
| has_lesson_group_object_perm("core.edit_lessondocumentation_group")
)
......
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