Skip to content
Snippets Groups Projects

Draft: Resolve "Add dialog with each lesson's students"

Merged Hangzhi Yu requested to merge 259-add-dialog-with-each-lesson-s-students into master
1 file
+ 15
0
Compare changes
  • Side-by-side
  • Inline
@@ -381,10 +381,23 @@ def is_lesson_event_group_owner(user: User, obj: LessonEvent):
@@ -381,10 +381,23 @@ def is_lesson_event_group_owner(user: User, obj: LessonEvent):
return False
return False
 
@predicate
 
def is_documentation_teacher(user: User, obj: Documentation):
 
"""Predicate for teachers of a documentation.
 
 
Checks whether the person linked to the user is a teacher in the documentation.
 
"""
 
if obj:
 
return user.person in obj.teachers
 
return False
 
 
@predicate
@predicate
def can_view_documentation(user: User, obj: Documentation):
def can_view_documentation(user: User, obj: Documentation):
"""Predicate which checks if the user is allowed to view a documentation."""
"""Predicate which checks if the user is allowed to view a documentation."""
if obj:
if obj:
 
if is_documentation_teacher(user, obj):
 
return True
if obj.lesson_event:
if obj.lesson_event:
return (
return (
is_lesson_event_teacher(user, obj.lesson_event)
is_lesson_event_teacher(user, obj.lesson_event)
@@ -400,6 +413,8 @@ def can_view_documentation(user: User, obj: Documentation):
@@ -400,6 +413,8 @@ def can_view_documentation(user: User, obj: Documentation):
def can_edit_documentation(user: User, obj: Documentation):
def can_edit_documentation(user: User, obj: Documentation):
"""Predicate which checks if the user is allowed to edit or delete a documentation."""
"""Predicate which checks if the user is allowed to edit or delete a documentation."""
if obj:
if obj:
 
if is_documentation_teacher(user, obj):
 
return True
if obj.lesson_event:
if obj.lesson_event:
return is_lesson_event_teacher(user, obj.lesson_event) | is_lesson_event_group_owner(
return is_lesson_event_teacher(user, obj.lesson_event) | is_lesson_event_group_owner(
user, obj.lesson_event
user, obj.lesson_event
Loading