Skip to content
Snippets Groups Projects
Commit 46738b63 authored by farbod's avatar farbod Committed by Marcus Eibrink-Lunzenauer
Browse files

not showing courses without courseware, refs #277

parent 1f13700e
No related branches found
No related tags found
No related merge requests found
...@@ -194,7 +194,7 @@ export default { ...@@ -194,7 +194,7 @@ export default {
} }
}, },
async mounted() { async mounted() {
this.courses = await this.loadUsersCourses(this.userId); this.courses = await this.loadUsersCourses({ userId: this.userId, withCourseware: true });
this.loadSemesterMap(); this.loadSemesterMap();
} }
......
...@@ -819,7 +819,7 @@ export const actions = { ...@@ -819,7 +819,7 @@ export const actions = {
} while (rootGetters[`${type}/all`].length < rootGetters[`${type}/lastMeta`].page.total); } while (rootGetters[`${type}/all`].length < rootGetters[`${type}/lastMeta`].page.total);
}, },
async loadUsersCourses({ dispatch, rootGetters, state }, userId) { async loadUsersCourses({ dispatch, rootGetters, state }, { userId, withCourseware }) {
const parent = { const parent = {
type: 'users', type: 'users',
id: userId, id: userId,
...@@ -841,19 +841,29 @@ export const actions = { ...@@ -841,19 +841,29 @@ export const actions = {
}); });
let courses = []; let courses = [];
memberships.forEach((membership) => { for (let membership of memberships) {
if ( if (
membership.attributes.permission === 'dozent' && membership.attributes.permission === 'dozent' &&
state.context.id !== membership.relationships.course.data.id state.context.id !== membership.relationships.course.data.id
) { ) {
courses.push(rootGetters['courses/related']({ parent: membership, relationship: 'course' })); const course = rootGetters['courses/related']({ parent: membership, relationship: 'course' });
if (!withCourseware) {
courses.push(course);
continue;
}
const coursewareInstance = await dispatch('loadRemoteCoursewareStructure', {
rangeId: course.id,
rangeType: course.type
});
if (coursewareInstance?.relationships?.root) {
courses.push(course);
}
} }
}); }
return courses; return courses;
}, },
loadRemoteCoursewareStructure({ dispatch, rootGetters }, { rangeId, rangeType }) { async loadRemoteCoursewareStructure({ dispatch, rootGetters }, { rangeId, rangeType }) {
const parent = { const parent = {
id: rangeId, id: rangeId,
type: rangeType, type: rangeType,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment