vbv/server/vbv_lernwelt/course/management/commands/create_default_courses.py

185 lines
7.3 KiB
Python

import djclick as click
from wagtail.models import Page
from vbv_lernwelt.competence.create_default_competence_profile import (
create_default_competence_profile,
)
from vbv_lernwelt.core.create_default_users import default_users
from vbv_lernwelt.core.models import User
from vbv_lernwelt.course.consts import (
COURSE_TEST_ID,
COURSE_UK1,
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
)
from vbv_lernwelt.course.creators.test_course import create_test_course
from vbv_lernwelt.course.creators.versicherungsvermittlerin import (
create_versicherungsvermittlerin_with_categories,
)
from vbv_lernwelt.course.models import CourseSession, CourseSessionUser
from vbv_lernwelt.course.services import mark_course_completion
from vbv_lernwelt.learnpath.create_default_learning_path import (
create_default_learning_path,
)
from vbv_lernwelt.learnpath.models import Circle
from vbv_lernwelt.media_library.create_default_documents import (
create_default_collections,
create_default_documents,
)
from vbv_lernwelt.media_library.create_default_media_library import (
create_default_media_library,
)
@click.command()
def command():
# Versicherungsvermittler/in
create_versicherungsvermittlerin_with_categories()
create_default_learning_path()
create_default_competence_profile()
# media library data
create_default_collections()
create_default_documents()
create_default_media_library()
# Versicherungsvermittler/in
create_versicherungsvermittlerin_with_categories(
course_id=COURSE_UK1, title="Überbetriebliche Kurse"
)
create_default_learning_path(course_id=COURSE_UK1)
create_default_competence_profile(course_id=COURSE_UK1)
create_default_media_library(course_id=COURSE_UK1)
# test course
create_test_course()
# course sessions
CourseSession.objects.create(
course_id=COURSE_TEST_ID,
title="Test Lehrgang Session",
)
# course session Versicherungsvermittler/in
cs = CourseSession.objects.create(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID,
title="Versicherungsvermittler/in",
)
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="student-vv@eiger-versicherungen.ch"),
)
csu = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="expert-vv.einstieg@eiger-versicherungen.ch"),
role=CourseSessionUser.Role.EXPERT,
)
csu.expert.add(
Circle.objects.get(slug="versicherungsvermittlerin-lp-circle-einstieg")
)
csu = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="expert-vv.analyse@eiger-versicherungen.ch"),
role=CourseSessionUser.Role.EXPERT,
)
csu.expert.add(
Circle.objects.get(slug="versicherungsvermittlerin-lp-circle-analyse")
)
# course session Überbetriebliche Kurse Lehrjahr 1 - Region Bern
cs = CourseSession.objects.create(
course_id=COURSE_UK1,
title="Überbetriebliche Kurse Lehrjahr 1 - Region Bern",
)
# 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-bern@eiger-versicherungen.ch"),
# )
# figma demo users and data
csu = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="patrizia.huggel@eiger-versicherung.ch"),
role=CourseSessionUser.Role.EXPERT,
)
csu.expert.add(Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-einstieg"))
csu.expert.add(Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-analyse"))
csu.expert.add(Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-lösung"))
csu = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="michael.meier@example.com"),
)
for slug in [
"überbetriebliche-kurse-lp-circle-einstieg-lc-verschaff-dir-einen-überblick",
"überbetriebliche-kurse-lp-circle-einstieg-lc-mediathek",
"überbetriebliche-kurse-lp-circle-einstieg-lc-patrizia-marco-sichern-sich-ab",
"überbetriebliche-kurse-lp-circle-einstieg-lc-fachcheck-einkommenssicherung",
"überbetriebliche-kurse-competence-crit-a21-einkommenssicherung",
"überbetriebliche-kurse-competence-crit-a22-einkommenssicherung",
"überbetriebliche-kurse-competence-crit-a23-einkommenssicherung",
"überbetriebliche-kurse-competence-crit-a24-einkommenssicherung",
"überbetriebliche-kurse-competence-crit-a25-einkommenssicherung",
"überbetriebliche-kurse-competence-crit-b11-einkommenssicherung",
"überbetriebliche-kurse-competence-crit-b12-einkommenssicherung",
"überbetriebliche-kurse-competence-crit-b23-einkommenssicherung",
"überbetriebliche-kurse-lp-circle-einstieg-lc-rafael-fasel-wechselt-sein-auto",
"überbetriebliche-kurse-lp-circle-einstieg-lc-der-erste-eindruck-zählt",
]:
mark_course_completion(Page.objects.get(slug=slug).translation_key, csu.user)
csu = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="lina.egger@example.com"),
)
csu = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="evelyn.schmid@example.com"),
)
# 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"),
role=CourseSessionUser.Role.EXPERT,
)
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"),
role=CourseSessionUser.Role.EXPERT,
)
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"),
)