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

Respect setting "view_own_personal_notes" on all places

parent 091caa94
No related branches found
No related tags found
1 merge request!49Resolve "Add rules and permissions"
Pipeline #4056 failed
......@@ -5,6 +5,7 @@ from aleksis.core.util.predicates import (
has_object_perm,
has_person,
is_current_person,
is_site_preference_set,
)
from .util.predicates import (
......@@ -55,13 +56,15 @@ edit_lesson_personal_note_predicate = has_person & (
)
add_perm("alsijil.edit_lesson_personalnote", edit_lesson_personal_note_predicate)
# View personal note
view_personal_note_predicate = has_person & (
has_global_perm("alsijil.view_personalnote")
| has_personal_note_group_perm("core.view_personalnote_group")
| is_personal_note_lesson_teacher
| is_own_personal_note
| (
is_own_personal_note
& is_site_preference_set("alsijil", "view_own_personal_notes")
)
| is_personal_note_lesson_parent_group_owner
)
add_perm("alsijil.view_personalnote", view_personal_note_predicate)
......@@ -148,7 +151,8 @@ add_perm("alsijil.view_my_groups", view_my_groups_predicate)
# View person overview
view_person_overview_predicate = has_person & (
is_current_person | is_person_group_owner
(is_current_person & is_site_preference_set("alsijil", "view_own_personal_notes"))
| is_person_group_owner
)
add_perm("alsijil.view_person_overview", view_person_overview_predicate)
......@@ -161,7 +165,7 @@ view_person_overview_personal_notes_predicate = has_person & (
has_global_perm("alsijil.view_personalnote")
| has_person_group_object_perm("core.view_personalnote_group")
| is_person_primary_group_owner
| is_current_person
| (is_current_person & is_site_preference_set("alsijil", "view_own_personal_notes"))
)
add_perm(
"alsijil.view_person_overview_personalnote",
......
......@@ -7,7 +7,6 @@ from rules import predicate
from aleksis.apps.chronos.models import LessonPeriod
from aleksis.core.models import Group, Person
from aleksis.core.util.core_helpers import get_site_preferences
from aleksis.core.util.predicates import check_object_permission
from ..models import PersonalNote
......@@ -166,15 +165,10 @@ def is_own_personal_note(user: User, obj: PersonalNote) -> bool:
"""Predicate for users referred to in a personal note
Checks whether the user referred to in a PersonalNote is the active user.
Is configurable via dynamic preferences.
"""
if hasattr(obj, "person"):
if (
get_site_preferences()["alsijil__view_own_personal_notes"]
and obj.person is user.person
):
return True
return False
if hasattr(obj, "person") and obj.person is user.person:
return True
return False
@predicate
......
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