fix: allow learning content for trainers

Fixes #VBV-644
This commit is contained in:
Reto Aebersold 2024-02-13 12:19:20 +01:00
parent b0c63b8a3e
commit b307c84db1
2 changed files with 16 additions and 1 deletions

View File

@ -209,10 +209,16 @@ def can_view_course_completions(
)
def can_complete_learning_content(user: User, course_session_id: int) -> bool:
return is_course_session_member(
user, course_session_id
) or is_course_session_expert(user, course_session_id)
def course_session_permissions(user: User, course_session_id: int) -> list[str]:
return _action_list(
{
"complete-learning-content": is_course_session_member(
"complete-learning-content": can_complete_learning_content(
user, course_session_id
),
}

View File

@ -33,12 +33,21 @@ class ActionTestCase(TestCase):
role=CourseSessionUser.Role.MEMBER,
)
trainer = create_user("trainer")
add_course_session_user(
self.course_session,
trainer,
role=CourseSessionUser.Role.EXPERT,
)
# WHEN
mentor_actions = course_session_permissions(lm, self.course_session.id)
participant_actions = course_session_permissions(
participant, self.course_session.id
)
trainer_actions = course_session_permissions(trainer, self.course_session.id)
# THEN
self.assertEqual(len(mentor_actions), 0)
self.assertEqual(participant_actions, ["complete-learning-content"])
self.assertEqual(trainer_actions, ["complete-learning-content"])