VBV-726: Mediathek für Berufsbildner
This commit is contained in:
parent
0f6ec66122
commit
020b7b64dd
|
|
@ -69,18 +69,37 @@ def has_media_library(user, course_session_id: int):
|
|||
).exists()
|
||||
|
||||
|
||||
def is_course_session_learning_mentor(mentor: User, course_session_id: int):
|
||||
def has_agent_role_in_course_session(
|
||||
agent: User, course_session_id: int, role: AgentParticipantRoleType
|
||||
):
|
||||
course_session = CourseSession.objects.get(id=course_session_id)
|
||||
|
||||
if course_session is None:
|
||||
return False
|
||||
|
||||
return AgentParticipantRelation.objects.filter(
|
||||
agent=mentor,
|
||||
role=AgentParticipantRoleType.LEARNING_MENTOR.value,
|
||||
agent=agent,
|
||||
participant__course_session_id=course_session_id,
|
||||
role=role.value,
|
||||
).exists()
|
||||
|
||||
|
||||
def is_course_session_learning_mentor(mentor: User, course_session_id: int):
|
||||
return has_agent_role_in_course_session(
|
||||
agent=mentor,
|
||||
course_session_id=course_session_id,
|
||||
role=AgentParticipantRoleType.LEARNING_MENTOR,
|
||||
)
|
||||
|
||||
|
||||
def is_course_session_berufsbildner(agent: User, course_session_id: int):
|
||||
return has_agent_role_in_course_session(
|
||||
agent=agent,
|
||||
course_session_id=course_session_id,
|
||||
role=AgentParticipantRoleType.BERUFSBILDNER,
|
||||
)
|
||||
|
||||
|
||||
def is_agent_for_user(
|
||||
agent: User,
|
||||
participant_user_id: str,
|
||||
|
|
@ -329,6 +348,7 @@ def course_session_permissions(user: User, course_session_id: int) -> list[str]:
|
|||
is_expert = is_course_session_expert(user, course_session_id)
|
||||
is_member = is_course_session_member(user, course_session_id)
|
||||
is_learning_mentor = is_course_session_learning_mentor(user, course_session_id)
|
||||
is_berufsbildner = is_course_session_berufsbildner(user, course_session_id)
|
||||
|
||||
course_has_learning_mentor = (
|
||||
course_session.course.configuration.enable_learning_mentor
|
||||
|
|
@ -350,7 +370,9 @@ def course_session_permissions(user: User, course_session_id: int) -> list[str]:
|
|||
"learning-mentor::guide-members": course_has_learning_mentor
|
||||
and is_learning_mentor,
|
||||
"preview": has_course_session_preview(user, course_session_id),
|
||||
"media-library": is_supervisor or is_expert or is_member,
|
||||
"media-library": (
|
||||
is_supervisor or is_expert or is_member or is_berufsbildner
|
||||
),
|
||||
"appointments": is_supervisor or is_expert or is_member,
|
||||
"expert-cockpit": is_expert,
|
||||
"learning-path": is_member,
|
||||
|
|
|
|||
Loading…
Reference in New Issue