WIP: use parameters for vv creation

Use competence page from course, make multilang fns
This commit is contained in:
Christian Cueni 2023-07-27 11:26:53 +02:00
parent 3a2d12c0b9
commit a7dde5e58c
3 changed files with 142 additions and 88 deletions

View File

@ -6,3 +6,5 @@ COURSE_UK_TRAINING = -6
COURSE_UK_TRAINING_FR = -7
COURSE_UK_IT = -8
COURSE_UK_TRAINING_IT = -9
COURSE_VERSICHERUNGSVERMITTLERIN_FR_ID = -10
COURSE_VERSICHERUNGSVERMITTLERIN_IT_ID = -11

View File

@ -51,7 +51,9 @@ from vbv_lernwelt.course.consts import (
COURSE_UK_TRAINING,
COURSE_UK_TRAINING_FR,
COURSE_UK_TRAINING_IT,
COURSE_VERSICHERUNGSVERMITTLERIN_FR_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_IT_ID,
)
from vbv_lernwelt.course.creators.test_course import create_test_course
from vbv_lernwelt.course.creators.uk_course import (
@ -107,6 +109,8 @@ ADMIN_EMAILS = ["info@iterativ.ch", "admin"]
COURSE_TEST_ID,
COURSE_UK,
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_FR_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_IT_ID,
COURSE_UK_FR,
COURSE_UK_IT,
COURSE_UK_TRAINING,
@ -120,6 +124,11 @@ def command(course):
if COURSE_VERSICHERUNGSVERMITTLERIN_ID in course:
create_versicherungsvermittlerin_course()
if COURSE_VERSICHERUNGSVERMITTLERIN_FR_ID in course:
create_versicherungsvermittlerin_course(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_FR_ID, language="fr"
)
if COURSE_UK in course:
create_course_uk_de()
create_course_uk_de_course_sessions()
@ -153,11 +162,18 @@ def command(course):
create_course_training_it()
def create_versicherungsvermittlerin_course():
def create_versicherungsvermittlerin_course(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, language="de"
):
names = {
"de": "Versicherungsvermittler/-in",
"fr": "Intermédiaire dassurance",
"it": "Intermediario/a assicurativo/a",
}
# Versicherungsvermittler/in mit neuen Circles
course = create_versicherungsvermittlerin_with_categories(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID,
title="Versicherungsvermittler/-in",
course_id=course_id,
title=names[language],
)
# assignments create assignments parent page
@ -165,62 +181,61 @@ def create_versicherungsvermittlerin_course():
parent=course.coursepage,
)
create_vv_new_competence_profile(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID)
create_default_media_library(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID)
create_vv_einkommenssicherung_casework(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID
)
create_vv_gesundheit_casework(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID)
create_vv_gewinnen_casework(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID)
create_vv_reflection(course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID)
create_vv_new_learning_path()
create_vv_new_competence_profile(course_id=course_id)
create_default_media_library(course_id=course_id)
create_vv_einkommenssicherung_casework(course_id=course_id)
create_vv_gesundheit_casework(course_id=course_id)
create_vv_gewinnen_casework(course_id=course_id)
create_vv_reflection(course_id=course_id)
create_vv_new_learning_path(course_id=course_id)
cs = CourseSession.objects.create(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID,
title="Versicherungsvermittler/-in",
)
for user_data in default_users:
CourseSessionUser.objects.create(
cs = CourseSession.objects.create(course_id=course_id, title=names[language])
if language == "de":
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=user_data["email"]),
user=User.objects.get(username="student-vv@eiger-versicherungen.ch"),
)
expert1 = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="expert-vv.expert1@eiger-versicherungen.ch"),
role=CourseSessionUser.Role.EXPERT,
)
csu = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="student-vv@eiger-versicherungen.ch"),
)
expert1 = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="expert-vv.expert1@eiger-versicherungen.ch"),
role=CourseSessionUser.Role.EXPERT,
)
expert2 = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="expert-vv.expert2@eiger-versicherungen.ch"),
role=CourseSessionUser.Role.EXPERT,
)
expert3 = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="expert-vv.expert3@eiger-versicherungen.ch"),
role=CourseSessionUser.Role.EXPERT,
)
experts = [expert1, expert2, expert3]
circles = Circle.objects.filter(slug__startswith="versicherungsvermittler-in-lp")
for i, circle in enumerate(circles):
expert = experts[i % len(experts)]
expert.expert.add(circle)
create_feedback(circle, cs, 3)
for admin_email in ADMIN_EMAILS:
CourseSessionUser.objects.create(
expert2 = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(email=admin_email),
user=User.objects.get(username="expert-vv.expert2@eiger-versicherungen.ch"),
role=CourseSessionUser.Role.EXPERT,
)
expert3 = CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(username="expert-vv.expert3@eiger-versicherungen.ch"),
role=CourseSessionUser.Role.EXPERT,
)
experts = [expert1, expert2, expert3]
circles = Circle.objects.filter(
slug__startswith="versicherungsvermittler-in-lp"
)
for i, circle in enumerate(circles):
expert = experts[i % len(experts)]
expert.expert.add(circle)
create_feedback(circle, cs, 3)
for admin_email in ADMIN_EMAILS:
CourseSessionUser.objects.create(
course_session=cs,
user=User.objects.get(email=admin_email),
)
def create_course_uk_de(course_id=COURSE_UK, lang="de"):
names = {

View File

@ -110,7 +110,7 @@ def create_circle_basis(lp, title="Basis"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
content_url=f"/course/{circle.get_course().slug}/media",
)
LearningContentPlaceholderFactory(
title="Qualifikationsprofil und Zulassungsprüfung",
@ -227,7 +227,7 @@ def create_circle_gewinnen(lp, title="Gewinnen"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
content_url=f"/course/{course_slug}/media",
)
LearningContentPlaceholderFactory(
title="Die ersten Schritte im Verkauf",
@ -251,7 +251,7 @@ def create_circle_gewinnen(lp, title="Gewinnen"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
content_url=f"/course/{course_slug}/media",
)
LearningContentPlaceholderFactory(
title="Vom Lead zum Termin/Telefon auf Empfehlung/Neukundengewinnung",
@ -276,7 +276,7 @@ def create_circle_gewinnen(lp, title="Gewinnen"):
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"versicherungsvermittler-in-assignment-reflexion"
slug__startswith=f"{course_slug}-assignment-reflexion"
),
),
LearningContentFeedbackFactory(
@ -300,7 +300,7 @@ def create_circle_fahrzeug(lp, title="Fahrzeug"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/fahrzeug",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/fahrzeug",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -308,6 +308,7 @@ def create_circle_fahrzeug(lp, title="Fahrzeug"):
"Rafael Fasel wechselt sein Auto - Einstieg",
parent=circle,
category_name="Fahrzeug",
course=circle.get_course(),
competence_id="V1",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-fz-01-rafael-fasel-wechselt-sein-auto-einstieg.zip/index.html#/",
learning_unit_title="Gesprächsvorbereitung und -einstieg",
@ -318,6 +319,7 @@ def create_circle_fahrzeug(lp, title="Fahrzeug"):
"Rafael Fasel wechselt sein Auto - Analyse",
parent=circle,
category_name="Fahrzeug",
course=circle.get_course(),
competence_id="V2",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-fz-02-rafael-fasel-wechselt-sein-auto-analyse.zip/index.html",
learning_unit_title="Bedarfsanalyse, Ist- und Soll-Situation",
@ -328,6 +330,7 @@ def create_circle_fahrzeug(lp, title="Fahrzeug"):
"Rafael Fasel wechselt sein Auto - Lösung",
parent=circle,
category_name="Fahrzeug",
course=circle.get_course(),
competence_id="V3",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-fz-03-rafael-fasel-wechselt-sein-auto-losung.zip/index.html",
learning_unit_title="Lösungsvorschlag erarbeiten und präsentieren",
@ -338,6 +341,7 @@ def create_circle_fahrzeug(lp, title="Fahrzeug"):
"Rafael Fasel wechselt sein Auto - Abschluss",
parent=circle,
category_name="Fahrzeug",
course=circle.get_course(),
competence_id="V4",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-fz-04-rafael-fasel-wechselt-sein-auto-abschluss.zip/index.html",
learning_unit_title="Gesprächszusammenfassung, Abschluss und Nachbereitung",
@ -363,7 +367,7 @@ def create_circle_fahrzeug(lp, title="Fahrzeug"):
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"versicherungsvermittler-in-assignment-reflexion"
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
LearningContentFeedbackFactory(
@ -387,7 +391,7 @@ def create_circle_haushalt(lp, title="Haushalt"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -395,6 +399,7 @@ def create_circle_haushalt(lp, title="Haushalt"):
"Rafael und Claudia ziehen zusammen - Einstieg",
parent=circle,
category_name="Haushalt",
course=circle.get_course(),
competence_id="V1", # todo: fix
wbt_url="https://courses.my.vbv-afa.ch/courses/de-hh-01-rafael-und-claudia-ziehen-zusammen-einstieg.zip/index.html",
learning_unit_title="Gesprächsvorbereitung und -einstieg",
@ -405,6 +410,7 @@ def create_circle_haushalt(lp, title="Haushalt"):
"Rafael und Claudia ziehen zusammen - Analyse",
parent=circle,
category_name="Haushalt",
course=circle.get_course(),
competence_id="V1", # todo: fix
wbt_url="https://courses.my.vbv-afa.ch/courses/de-hh-02-rafael-und-claudia-ziehen-zusammen-analyse.zip/index.html",
learning_unit_title="Bedarfsanalyse, Ist- und Soll-Situation",
@ -415,6 +421,7 @@ def create_circle_haushalt(lp, title="Haushalt"):
"Rafael und Claudia ziehen zusammen - Lösung",
parent=circle,
category_name="Haushalt",
course=circle.get_course(),
competence_id="V1", # todo: fix
wbt_url="https://courses.my.vbv-afa.ch/courses/de-hh-03-rafael-und-claudia-ziehen-zusammen-losung.zip/index.html",
learning_unit_title="Gesprächszusammenfassung, Abschluss und Nachbereitung",
@ -425,6 +432,7 @@ def create_circle_haushalt(lp, title="Haushalt"):
"Rafael und Claudia ziehen zusammen - Abschluss",
parent=circle,
category_name="Haushalt",
course=circle.get_course(),
competence_id="V1", # todo: fix
wbt_url="https://courses.my.vbv-afa.ch/courses/de-hh-04-rafael-und-claudia-ziehen-zusammen-abschluss.zip/index.html",
learning_unit_title="Gesprächszusammenfassung, Abschluss und Nachbereitung",
@ -449,7 +457,7 @@ def create_circle_rechtsstreitigkeiten(lp, title="Rechtsstreitigkeiten"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Rechtsstreitigkeiten", parent=circle)
@ -457,6 +465,7 @@ def create_circle_rechtsstreitigkeiten(lp, title="Rechtsstreitigkeiten"):
"Rafael Fasel hat Ärger mit seinem Vermieter",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V1",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-rs-00-rafael-fasel-hat-arger-mit-seinem-vermieter.zip/index.html",
learning_unit_title="Terminvereinbarung, Vorbereitung und Gesprächseröffnung",
@ -482,7 +491,7 @@ def create_circle_reisen(lp, title="Reisen"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -490,6 +499,7 @@ def create_circle_reisen(lp, title="Reisen"):
"Emma und Ayla campen durch Amerika - Einstieg",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V1",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-re-01-emma-und-ayla-campen-durch-amerika-einstieg.zip/index.html",
learning_unit_title="Terminvereinbarung, Vorbereitung und Gesprächseröffnung",
@ -500,6 +510,7 @@ def create_circle_reisen(lp, title="Reisen"):
"Emma und Ayla campen durch Amerika - Analyse",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V2",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-re-02-emma-und-ayla-campen-durch-amerika-analyse.zip/index.html",
learning_unit_title="Bedarfsanalyse, Ist- und Soll-Situation",
@ -510,6 +521,7 @@ def create_circle_reisen(lp, title="Reisen"):
"Emma und Ayla campen durch Amerika - Lösung",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V3",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-re-03-emma-und-ayla-campen-durch-amerika-losung.zip/index.html",
learning_unit_title="Lösungsvorschlag erarbeiten und präsentieren",
@ -520,6 +532,7 @@ def create_circle_reisen(lp, title="Reisen"):
"Emma und Ayla campen durch Amerika - Abschluss",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V4",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-re-04-emma-und-ayla-campen-durch-amerika-abschluss.zip/index.html",
learning_unit_title="Gesprächszusammenfassung, Abschluss und Nachbereitung",
@ -540,7 +553,7 @@ def create_circle_reisen(lp, title="Reisen"):
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"versicherungsvermittler-in-assignment-reflexion"
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
LearningContentFeedbackFactory(
@ -565,7 +578,7 @@ def create_circle_einkommenssicherung(lp, title="Einkommenssicherung"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -573,6 +586,7 @@ def create_circle_einkommenssicherung(lp, title="Einkommenssicherung"):
"Patrizia und Marco sichern sich ab - Einstieg",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V1",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-ek-01-patrizia-marco-sichern-sich-ab-einstieg.zip/index.html",
learning_unit_title="Terminvereinbarung, Vorbereitung und Gesprächseröffnung",
@ -583,9 +597,10 @@ def create_circle_einkommenssicherung(lp, title="Einkommenssicherung"):
"Patrizia und Marco sichern sich ab - Analyse",
parent=circle,
category_name=title,
competence_id="V2",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-ek-02-patrizia-marco-sichern-sich-ab-analyse.zip/index.html",
learning_unit_title="Bedarfsanalyse, Ist- und Soll-Situation",
course=circle.get_course(),
competence_id="V1",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-ek-01-patrizia-marco-sichern-sich-ab-einstieg.zip/index.html",
learning_unit_title="Terminvereinbarung, Vorbereitung und Gesprächseröffnung",
)
LearningSequenceFactory(title="Lösung", parent=circle)
@ -593,9 +608,10 @@ def create_circle_einkommenssicherung(lp, title="Einkommenssicherung"):
"Patrizia und Marco sichern sich ab - Lösung",
parent=circle,
category_name=title,
competence_id="V3",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-ek-03-patrizia-marco-sichern-sich-ab-losung.zip/index.html",
learning_unit_title="Lösungsvorschlag erarbeiten und präsentieren",
course=circle.get_course(),
competence_id="V1",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-ek-01-patrizia-marco-sichern-sich-ab-einstieg.zip/index.html",
learning_unit_title="Terminvereinbarung, Vorbereitung und Gesprächseröffnung",
)
LearningSequenceFactory(title="Abschluss", parent=circle)
@ -603,6 +619,7 @@ def create_circle_einkommenssicherung(lp, title="Einkommenssicherung"):
"Patrizia und Marco sichern sich ab - Abschluss",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V4",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-ek-04-patrizia-marco-sichern-sich-ab-abschluss.zip/index.html",
learning_unit_title="Gesprächszusammenfassung, Abschluss und Nachbereitung",
@ -629,7 +646,7 @@ def create_circle_einkommenssicherung(lp, title="Einkommenssicherung"):
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"versicherungsvermittler-in-assignment-reflexion"
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
LearningContentFeedbackFactory(
@ -653,7 +670,7 @@ def create_circle_wohneigentum(lp, title="Wohneigentum"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Wohneigentum", parent=circle)
@ -682,7 +699,7 @@ def create_circle_wohneigentum(lp, title="Wohneigentum"):
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"versicherungsvermittler-in-assignment-reflexion"
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
LearningContentFeedbackFactory(
@ -706,7 +723,7 @@ def create_circle_pensionierung(lp, title="Pensionierung"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -714,6 +731,7 @@ def create_circle_pensionierung(lp, title="Pensionierung"):
"Giulia und Davide planen ihre Pensionierung - Einstieg",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V1",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-pe-01-giulia-und-davide-planen-ihre-pensionierung-einstieg.zip/index.html",
learning_unit_title="Gesprächsvorbereitung und -einstieg",
@ -724,6 +742,7 @@ def create_circle_pensionierung(lp, title="Pensionierung"):
"Giulia und Davide planen ihre Pensionierung - Analyse",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V2",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-pe-02-giulia-und-davide-planen-ihre-pensionierung-analyse.zip/index.html",
learning_unit_title="Bedarfsanalyse, Ist- und Soll-Situation",
@ -734,6 +753,7 @@ def create_circle_pensionierung(lp, title="Pensionierung"):
"Giulia und Davide planen ihre Pensionierung - Lösung",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V3",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-pe-03-giulia-und-davide-planen-ihre-pensionierung-losung.zip/index.html",
learning_unit_title="Lösungsvorschlag erarbeiten und präsentieren",
@ -744,6 +764,7 @@ def create_circle_pensionierung(lp, title="Pensionierung"):
"Giulia und Davide planen ihre Pensionierung - Abschluss",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V4",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-pe-04-giulia-und-davide-planen-ihre-pensionierung-abschluss.zip/index.html",
learning_unit_title="Gesprächszusammenfassung, Abschluss und Nachbereitung",
@ -760,7 +781,7 @@ def create_circle_pensionierung(lp, title="Pensionierung"):
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"versicherungsvermittler-in-assignment-reflexion"
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
LearningContentFeedbackFactory(
@ -784,7 +805,7 @@ def create_circle_erben(lp, title="Erben/Vererben"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Erben/Vererben", parent=circle)
@ -794,7 +815,7 @@ def create_circle_erben(lp, title="Erben/Vererben"):
parent=circle,
)
LearningContentPlaceholderFactory(
title=f"Guilia udn Davide machen sich Gedanken",
title=f"Guilia und Davide machen sich Gedanken",
parent=circle,
)
LearningContentPlaceholderFactory(
@ -817,7 +838,7 @@ def create_circle_erben(lp, title="Erben/Vererben"):
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"versicherungsvermittler-in-assignment-reflexion"
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
LearningContentFeedbackFactory(
@ -843,7 +864,7 @@ def create_circle_gesundheit(lp, title="Gesundheit"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -851,6 +872,7 @@ def create_circle_gesundheit(lp, title="Gesundheit"):
"Familie Babic erwartet Nachwuchs - Einstieg",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V1",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-ges-01-familie-babic-erwartet-nachwuchs-einstieg.zip/index.html",
learning_unit_title="Gesprächsvorbereitung und -einstieg",
@ -861,6 +883,7 @@ def create_circle_gesundheit(lp, title="Gesundheit"):
"Familie Babic erwartet Nachwuchs - Analyse",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V2",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-ges-02-familie-babic-erwartet-nachwuchs-analyse.zip/index.html",
learning_unit_title="Bedarfsanalyse, Ist- und Soll-Situation",
@ -871,6 +894,7 @@ def create_circle_gesundheit(lp, title="Gesundheit"):
"Familie Babic erwartet Nachwuchs - Lösung",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V3",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-ges-03-familie-babic-erwartet-nachwuchs-losung.zip/index.html",
learning_unit_title="Lösungsvorschlag erarbeiten und präsentieren",
@ -881,6 +905,7 @@ def create_circle_gesundheit(lp, title="Gesundheit"):
"Familie Babic erwartet Nachwuchs - Abschluss",
parent=circle,
category_name=title,
course=circle.get_course(),
competence_id="V4",
wbt_url="https://courses.my.vbv-afa.ch/courses/de-ges-04-familie-babic-erwartet-nachwuchs-abschluss.zip/index.html",
learning_unit_title="Gesprächszusammenfassung, Abschluss und Nachbereitung",
@ -903,7 +928,7 @@ def create_circle_gesundheit(lp, title="Gesundheit"):
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"versicherungsvermittler-in-assignment-reflexion"
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
LearningContentFeedbackFactory(
@ -927,7 +952,7 @@ def create_circle_sparen(lp, title="Sparen"):
LearningContentMediaLibraryFactory(
title="Mediathek",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Sparen", parent=circle)
@ -962,7 +987,7 @@ def create_circle_selbstaendigkeit(lp, title="Selbstständigkeit"):
LearningContentMediaLibraryFactory(
title="Mediathek",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Selbstständigkeit", parent=circle)
@ -995,7 +1020,7 @@ def create_circle_kmu(lp, title="KMU"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -1069,7 +1094,7 @@ def create_circle_standard_small(
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title, allow_unicode=True)}",
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title, allow_unicode=True)}",
)
if lu_title is None:
@ -1187,7 +1212,7 @@ def create_circle_pruefungsvorbereitung(lp, title="Prüfungsvorbereitung"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
content_url=f"/course/{circle.get_course().slug}/media",
)
LearningSequenceFactory(title="Aufbau", parent=circle)
@ -1258,6 +1283,7 @@ def create_standard_learning_unit(
title,
parent,
category_name,
course,
competence_id="V1",
wbt_url=None,
check_url=None,
@ -1271,7 +1297,7 @@ def create_standard_learning_unit(
title=learning_unit_title,
parent=parent,
course_category=CourseCategory.objects.get(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, title=category_name
course_id=course.id, title=category_name
),
title_hidden=title_hidden,
)
@ -1288,11 +1314,22 @@ def create_standard_learning_unit(
content_url=wbt_url,
)
competence_page = CompetencePage.objects.get(competence_id=competence_id)
competence_pages = CompetencePage.objects.filter(competence_id=competence_id)
course_page = CoursePage.objects.get(course=course)
# As the competences have all the same name, we need to pick the correct one
course_cp = None
for cp in competence_pages:
if cp.get_parent().get_parent().id == course_page.id:
course_cp = cp
break
else:
return
PerformanceCriteriaFactory(
parent=competence_page,
parent=course_cp,
competence_id=f"{competence_id}.{category_name}",
title=f"Ich bin fähig bei {category_name} eine {competence_page.title} zu machen",
title=f"Ich bin fähig bei {category_name} eine {course_cp.title} zu machen",
learning_unit=lu,
)