Refactor courseSessionStore names
This commit is contained in:
parent
1d88117d99
commit
a7cc07cc80
|
|
@ -196,7 +196,7 @@ const nextStep = () => {
|
|||
|
||||
const sendFeedback = () => {
|
||||
log.info("sending feedback");
|
||||
const courseSession = courseSessionsStore.courseSessionForRoute;
|
||||
const courseSession = courseSessionsStore.currentCourseSession;
|
||||
if (!courseSession || !courseSession.id) {
|
||||
log.error("no course session set");
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ function popoverClick(event: Event) {
|
|||
}
|
||||
|
||||
const selectedCourseSessionTitle = computed(() => {
|
||||
return courseSessionsStore.courseSessionForRoute?.title;
|
||||
return courseSessionsStore.currentCourseSession?.title;
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
|
|
@ -83,8 +83,8 @@ onMounted(() => {
|
|||
<MobileMenu
|
||||
v-if="userStore.loggedIn"
|
||||
:show="state.showMobileNavigationMenu"
|
||||
:course-session="courseSessionsStore.courseSessionForRoute"
|
||||
:media-url="courseSessionsStore.courseSessionForRoute?.media_library_url"
|
||||
:course-session="courseSessionsStore.currentCourseSession"
|
||||
:media-url="courseSessionsStore.currentCourseSession?.media_library_url"
|
||||
:user="userStore"
|
||||
@closemodal="state.showMobileNavigationMenu = false"
|
||||
@logout="userStore.handleLogout()"
|
||||
|
|
@ -97,7 +97,7 @@ onMounted(() => {
|
|||
@closemodal="state.showMobileProfileMenu = false"
|
||||
>
|
||||
<AccountMenuContent
|
||||
:course-sessions="courseSessionsStore.courseSessionsForRoute"
|
||||
:course-sessions="courseSessionsStore.currentCourseSessions"
|
||||
:user="userStore"
|
||||
@logout="logout"
|
||||
/>
|
||||
|
|
@ -139,10 +139,10 @@ onMounted(() => {
|
|||
<router-link
|
||||
v-if="
|
||||
inCourse() &&
|
||||
courseSessionsStore.courseSessionForRoute &&
|
||||
courseSessionsStore.currentCourseSession &&
|
||||
courseSessionsStore.hasCockpit
|
||||
"
|
||||
:to="`${courseSessionsStore.courseSessionForRoute.course_url}/cockpit`"
|
||||
:to="`${courseSessionsStore.currentCourseSession.course_url}/cockpit`"
|
||||
class="nav-item"
|
||||
:class="{ 'nav-item--active': inCockpit() }"
|
||||
>
|
||||
|
|
@ -150,8 +150,8 @@ onMounted(() => {
|
|||
</router-link>
|
||||
|
||||
<router-link
|
||||
v-if="inCourse() && courseSessionsStore.courseSessionForRoute"
|
||||
:to="courseSessionsStore.courseSessionForRoute.learning_path_url"
|
||||
v-if="inCourse() && courseSessionsStore.currentCourseSession"
|
||||
:to="courseSessionsStore.currentCourseSession.learning_path_url"
|
||||
class="nav-item"
|
||||
:class="{ 'nav-item--active': inLearningPath() }"
|
||||
>
|
||||
|
|
@ -159,8 +159,8 @@ onMounted(() => {
|
|||
</router-link>
|
||||
|
||||
<router-link
|
||||
v-if="inCourse() && courseSessionsStore.courseSessionForRoute"
|
||||
:to="courseSessionsStore.courseSessionForRoute.competence_url"
|
||||
v-if="inCourse() && courseSessionsStore.currentCourseSession"
|
||||
:to="courseSessionsStore.currentCourseSession.competence_url"
|
||||
class="nav-item"
|
||||
:class="{ 'nav-item--active': inCompetenceProfile() }"
|
||||
>
|
||||
|
|
@ -218,7 +218,7 @@ onMounted(() => {
|
|||
>
|
||||
<div class="p-4">
|
||||
<AccountMenuContent
|
||||
:course-sessions="courseSessionsStore.courseSessionsForRoute"
|
||||
:course-sessions="courseSessionsStore.currentCourseSessions"
|
||||
:user="userStore"
|
||||
@logout="logout"
|
||||
@select-course-session="selectCourseSession"
|
||||
|
|
|
|||
|
|
@ -28,12 +28,15 @@ onMounted(async () => {
|
|||
<h1 data-cy="welcome-message">
|
||||
{{ $t("dashboard.welcome", { name: userStore.first_name }) }}
|
||||
</h1>
|
||||
<div v-if="courseSessionsStore.courseSessions.length > 0" class="mb-14">
|
||||
<div
|
||||
v-if="courseSessionsStore.uniqueCourseSessionsByCourse.length > 0"
|
||||
class="mb-14"
|
||||
>
|
||||
<h2 class="mb-3 mt-12">Kurse</h2>
|
||||
|
||||
<div class="grid auto-rows-fr grid-cols-1 gap-4 md:grid-cols-2">
|
||||
<div
|
||||
v-for="courseSession in courseSessionsStore.userCourses"
|
||||
v-for="courseSession in courseSessionsStore.uniqueCourseSessionsByCourse"
|
||||
:key="courseSession.id"
|
||||
>
|
||||
<div class="bg-white p-6 md:h-full">
|
||||
|
|
|
|||
|
|
@ -132,8 +132,8 @@ function setActiveClasses(translationKey: string) {
|
|||
learningPathStore.learningPathForUser(props.courseSlug, userStore.id)
|
||||
?.circles || []
|
||||
"
|
||||
:course-id="courseSessionStore.courseSessionForRoute?.course.id || 0"
|
||||
:url="courseSessionStore.courseSessionForRoute?.course_url || ''"
|
||||
:course-id="courseSessionStore.currentCourseSession?.course.id || 0"
|
||||
:url="courseSessionStore.currentCourseSession?.course_url || ''"
|
||||
></FeedbackSummary>
|
||||
<div>
|
||||
<!-- progress -->
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ const feedbackData = reactive<FeedbackData>({ amount: 0, questions: {} });
|
|||
onMounted(async () => {
|
||||
log.debug("FeedbackPage mounted");
|
||||
const data = await itGet(
|
||||
`/api/core/feedback/${courseSessionStore.courseSessionForRoute?.course.id}/${props.circleId}`
|
||||
`/api/core/feedback/${courseSessionStore.currentCourseSession?.course.id}/${props.circleId}`
|
||||
);
|
||||
Object.assign(feedbackData, data);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -112,12 +112,12 @@ async function uploadDocument(data: DocumentUploadData) {
|
|||
isUploading.value = true;
|
||||
showUploadErrorMessage.value = false;
|
||||
try {
|
||||
if (!courseSessionsStore.courseSessionForRoute) {
|
||||
if (!courseSessionsStore.currentCourseSession) {
|
||||
throw new Error("No course session found");
|
||||
}
|
||||
const newDocument = await uploadCircleDocument(
|
||||
data,
|
||||
courseSessionsStore.courseSessionForRoute.id
|
||||
courseSessionsStore.currentCourseSession.id
|
||||
);
|
||||
const courseSessionStore = useCourseSessionsStore();
|
||||
courseSessionStore.addDocument(newDocument);
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ function handleBack() {
|
|||
<div class="mt-6 lg:mt-12">
|
||||
{{ $t("selfEvaluation.progressText") }}
|
||||
<router-link
|
||||
:to="courseSession.courseSessionForRoute?.competence_url || '/'"
|
||||
:to="courseSession.currentCourseSession?.competence_url || '/'"
|
||||
class="text-primary-500 underline"
|
||||
>
|
||||
{{ $t("selfEvaluation.progressLink") }}
|
||||
|
|
|
|||
|
|
@ -167,9 +167,7 @@ export const useCompetenceStore = defineStore({
|
|||
const completionStore = useCompletionStore();
|
||||
|
||||
const courseSessionsStore = useCourseSessionsStore();
|
||||
const courseSession = courseSessionsStore.courseSessionForCourse(
|
||||
competenceProfilePage.course.slug
|
||||
);
|
||||
const courseSession = courseSessionsStore.currentCourseSession;
|
||||
if (courseSession) {
|
||||
const completionData = await completionStore.loadCompletionData(
|
||||
courseSession.id,
|
||||
|
|
|
|||
|
|
@ -31,13 +31,9 @@ export const useCompletionStore = defineStore({
|
|||
) {
|
||||
if (!courseSessionId) {
|
||||
const courseSessionsStore = useCourseSessionsStore();
|
||||
const courseSlug = courseSessionsStore.currentCourseSlug;
|
||||
if (courseSlug) {
|
||||
const courseSessionsStore = useCourseSessionsStore();
|
||||
const courseSession = courseSessionsStore.courseSessionForCourse(courseSlug);
|
||||
if (courseSession) {
|
||||
courseSessionId = courseSession.id;
|
||||
}
|
||||
const courseSession = courseSessionsStore.currentCourseSession;
|
||||
if (courseSession) {
|
||||
courseSessionId = courseSession.id;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
|
|||
const currentCourseSlug = ref("");
|
||||
|
||||
// these will become getters
|
||||
const userCourses = computed(() =>
|
||||
const uniqueCourseSessionsByCourse = computed(() =>
|
||||
// TODO: refactor after implementing of Klassenkonzept
|
||||
// @ts-ignore
|
||||
uniqBy(courseSessions.value, "course.id")
|
||||
|
|
@ -125,19 +125,19 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
|
|||
});
|
||||
}
|
||||
|
||||
const courseSessionForRoute = computed(() => {
|
||||
const currentCourseSession = computed(() => {
|
||||
return courseSessionForCourse(currentCourseSlug.value);
|
||||
});
|
||||
|
||||
const courseSessionsForRoute = computed(() => {
|
||||
const currentCourseSessions = computed(() => {
|
||||
return courseSessionsForCourse(currentCourseSlug.value);
|
||||
});
|
||||
|
||||
const hasCockpit = computed(() => {
|
||||
if (courseSessionForRoute.value) {
|
||||
if (currentCourseSession.value) {
|
||||
const userStore = useUserStore();
|
||||
return (
|
||||
userStore.course_session_experts.includes(courseSessionForRoute.value.id) ||
|
||||
userStore.course_session_experts.includes(currentCourseSession.value.id) ||
|
||||
userStore.is_superuser
|
||||
);
|
||||
}
|
||||
|
|
@ -149,8 +149,8 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
|
|||
const circleStore = useCircleStore();
|
||||
const circleTranslationKey = circleStore.circle?.translation_key;
|
||||
|
||||
if (courseSessionForRoute.value && circleTranslationKey) {
|
||||
return courseSessionForRoute.value.users.filter((u) => {
|
||||
if (currentCourseSession.value && circleTranslationKey) {
|
||||
return currentCourseSession.value.users.filter((u) => {
|
||||
if (u.role === "EXPERT") {
|
||||
return (u as ExpertSessionUser).circles
|
||||
.map((c) => c.translation_key)
|
||||
|
|
@ -175,11 +175,11 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
|
|||
return circleStore.circle?.learningSequences
|
||||
.map((ls) => ({ id: ls.id, title: ls.title, documents: [] }))
|
||||
.map((ls: { id: number; title: string; documents: CircleDocument[] }) => {
|
||||
if (courseSessionForRoute.value === undefined) {
|
||||
if (currentCourseSession.value === undefined) {
|
||||
return ls;
|
||||
}
|
||||
|
||||
for (const document of courseSessionForRoute.value.documents) {
|
||||
for (const document of currentCourseSession.value.documents) {
|
||||
if (document.learning_sequence === ls.id) {
|
||||
ls.documents.push(document);
|
||||
}
|
||||
|
|
@ -190,7 +190,7 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
|
|||
});
|
||||
|
||||
function addDocument(document: CircleDocument) {
|
||||
courseSessionForRoute.value?.documents.push(document);
|
||||
currentCourseSession.value?.documents.push(document);
|
||||
}
|
||||
|
||||
async function startUpload() {
|
||||
|
|
@ -204,20 +204,20 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
|
|||
async function removeDocument(documentId: number) {
|
||||
await deleteCircleDocument(documentId);
|
||||
|
||||
if (courseSessionForRoute.value === undefined) {
|
||||
if (currentCourseSession.value === undefined) {
|
||||
return;
|
||||
}
|
||||
|
||||
courseSessionForRoute.value.documents =
|
||||
courseSessionForRoute.value?.documents.filter((d) => d.id !== documentId);
|
||||
currentCourseSession.value.documents = currentCourseSession.value?.documents.filter(
|
||||
(d) => d.id !== documentId
|
||||
);
|
||||
}
|
||||
|
||||
function findAttendanceDay(
|
||||
contentId: number
|
||||
): CourseSessionAttendanceDay | undefined {
|
||||
const currentCourseSession = courseSessionForRoute.value;
|
||||
if (currentCourseSession) {
|
||||
return currentCourseSession.attendance_days.find(
|
||||
if (currentCourseSession.value) {
|
||||
return currentCourseSession.value.attendance_days.find(
|
||||
(attendanceDay) => attendanceDay.learningContentId === contentId
|
||||
);
|
||||
}
|
||||
|
|
@ -225,12 +225,10 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
|
|||
|
||||
return {
|
||||
currentCourseSlug,
|
||||
courseSessions,
|
||||
userCourses,
|
||||
courseSessionForRoute,
|
||||
uniqueCourseSessionsByCourse,
|
||||
currentCourseSession,
|
||||
currentCourseSessions,
|
||||
courseSessionForCourse,
|
||||
courseSessionsForRoute,
|
||||
courseSessionsForCourse,
|
||||
switchCourseSession,
|
||||
hasCockpit,
|
||||
canUploadCircleDocuments,
|
||||
|
|
|
|||
Loading…
Reference in New Issue