Show only uniqe courses (not course sessions) on Dashboar

This commit is contained in:
Daniel Egger 2022-11-14 11:20:37 +01:00
parent ca195c0b4a
commit a3c3e60763
4 changed files with 45 additions and 12 deletions

View File

@ -34,11 +34,11 @@ onMounted(async () => {
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 auto-rows-fr"> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 auto-rows-fr">
<div <div
v-for="courseSession in courseSessionsStore.courseSessions" v-for="courseSession in courseSessionsStore.coursesFromCourseSessions"
:key="courseSession.id" :key="courseSession.id"
> >
<div class="bg-white p-6 md:h-full"> <div class="bg-white p-6 md:h-full">
<h3 class="mb-4">{{ courseSession.title }}</h3> <h3 class="mb-4">{{ courseSession.course.title }}</h3>
<div> <div>
<LearningPathDiagramSmall <LearningPathDiagramSmall
class="mb-4" class="mb-4"

View File

@ -1,6 +1,8 @@
import { itGetCached } from "@/fetchHelpers"; import { itGetCached } from "@/fetchHelpers";
import type { CourseSession } from "@/types"; import type { CourseSession } from "@/types";
import _ from "lodash";
import log from "loglevel"; import log from "loglevel";
import { defineStore } from "pinia"; import { defineStore } from "pinia";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
@ -25,6 +27,11 @@ export const useCourseSessionsStore = defineStore({
); );
}); });
}, },
coursesFromCourseSessions: (state) => {
if (state.courseSessions) {
return _.uniqBy(state.courseSessions, "course.id");
}
},
}, },
actions: { actions: {
async loadCourseSessionsData(reload = false) { async loadCourseSessionsData(reload = false) {

View File

@ -123,12 +123,12 @@ def create_default_users(user_model=User, group_model=Group, default_password=No
) )
_create_student_user( _create_student_user(
email="trainer-uk1-bern.analyse@eiger-versicherungen.ch", email="trainer-uk1.analyse@eiger-versicherungen.ch",
first_name="Trainer", first_name="Trainer",
last_name="Analyse", last_name="Analyse",
) )
_create_student_user( _create_student_user(
email="trainer-uk1-bern.einstieg@eiger-versicherungen.ch", email="trainer-uk1.einstieg@eiger-versicherungen.ch",
first_name="Trainer", first_name="Trainer",
last_name="Einstieg", last_name="Einstieg",
) )
@ -137,6 +137,11 @@ def create_default_users(user_model=User, group_model=Group, default_password=No
first_name="Student", first_name="Student",
last_name="UK1-Bern", last_name="UK1-Bern",
) )
_create_student_user(
email="student-uk1-zurich@eiger-versicherungen.ch",
first_name="Student",
last_name="UK1-Zürich",
)
def _get_or_create_user(user_model, *args, **kwargs): def _get_or_create_user(user_model, *args, **kwargs):

View File

@ -87,10 +87,10 @@ def command():
Circle.objects.get(slug="versicherungsvermittlerin-lp-circle-analyse") Circle.objects.get(slug="versicherungsvermittlerin-lp-circle-analyse")
) )
# course session Überbetriebliche Kurse Lehrjahr 1 # course session Überbetriebliche Kurse Lehrjahr 1 - Region Bern
cs = CourseSession.objects.create( cs = CourseSession.objects.create(
course_id=COURSE_UK1, course_id=COURSE_UK1,
title="Überbetriebliche Kurse Region Bern Lehrjahr 1", title="Überbetriebliche Kurse Lehrjahr 1 - Region Bern",
) )
for user_data in default_users: for user_data in default_users:
CourseSessionUser.objects.create( CourseSessionUser.objects.create(
@ -99,19 +99,40 @@ def command():
) )
csu = CourseSessionUser.objects.create( csu = CourseSessionUser.objects.create(
course_session=cs, course_session=cs,
user=User.objects.get( user=User.objects.get(username="trainer-uk1.einstieg@eiger-versicherungen.ch"),
username="trainer-uk1-bern.einstieg@eiger-versicherungen.ch"
),
) )
csu.expert.add(Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-einstieg")) csu.expert.add(Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-einstieg"))
csu = CourseSessionUser.objects.create( csu = CourseSessionUser.objects.create(
course_session=cs, course_session=cs,
user=User.objects.get( user=User.objects.get(username="trainer-uk1.analyse@eiger-versicherungen.ch"),
username="trainer-uk1-bern.analyse@eiger-versicherungen.ch"
),
) )
csu.expert.add(Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-analyse")) csu.expert.add(Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-analyse"))
csu = CourseSessionUser.objects.create( csu = CourseSessionUser.objects.create(
course_session=cs, course_session=cs,
user=User.objects.get(username="student-uk1-bern@eiger-versicherungen.ch"), user=User.objects.get(username="student-uk1-bern@eiger-versicherungen.ch"),
) )
# course session Überbetriebliche Kurse Lehrjahr 1 - Region Zürich
cs = CourseSession.objects.create(
course_id=COURSE_UK1,
title="Überbetriebliche Kurse Lehrjahr 1 - Region Zürich",
)
for user_data in default_users:
CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username=user_data["email"]),
)
csu = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="trainer-uk1.einstieg@eiger-versicherungen.ch"),
)
csu.expert.add(Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-einstieg"))
csu = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="trainer-uk1.analyse@eiger-versicherungen.ch"),
)
csu.expert.add(Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-analyse"))
csu = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="student-uk1-zurich@eiger-versicherungen.ch"),
)