Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/assets/vue/components/session/SessionCardSimple.vue

43 lines
1.2 KiB

<script setup>
import CourseCard from "../course/CourseCard.vue"
import { useSecurityStore } from "../../store/securityStore"
const props = defineProps({
session: {
type: Object,
required: true,
},
})
const securityStore = useSecurityStore()
const courses = props.session.courses
? props.session.courses.map((sesionRelCourse) => ({ ...sesionRelCourse.course, _id: sesionRelCourse.course.id }))
: []
const isGeneralCoach = props.session.generalCoachesSubscriptions
? props.session.generalCoachesSubscriptions.findIndex((sRcRU) => sRcRU.user["@id"] === securityStore.user["@id"]) >= 0
: false
const isCourseCoach = props.session.courseCoachesSubscriptions
? props.session.courseCoachesSubscriptions.findIndex((sRcRU) => sRcRU.user["@id"] === securityStore.user["@id"]) >= 0
: false
const enableAccess =
(isGeneralCoach || isCourseCoach) && props.session.activeForCoach ? true : props.session.activeForStudent
</script>
<template>
<div
v-for="(course, index) in courses"
:key="index"
style="max-width: 540px"
>
<CourseCard
:session="session"
:course="course"
:session-id="session.id"
:disabled="!enableAccess"
/>
</div>
</template>