vbv/server/vbv_lernwelt/learnpath/create_vv_new_learning_path.py

1595 lines
57 KiB
Python

from django.core.management import call_command
from slugify import slugify
from wagtail.models import Locale, Page
from wagtail.rich_text import RichText
from wagtail_localize.models import LocaleSynchronization
from vbv_lernwelt.assignment.models import Assignment
from vbv_lernwelt.competence.factories import (
ActionCompetenceFactory,
ActionCompetenceListPageFactory,
PerformanceCriteriaFactory,
)
from vbv_lernwelt.competence.models import ActionCompetence
from vbv_lernwelt.core.admin import User
from vbv_lernwelt.course.consts import (
COURSE_MOTORFAHRZEUG_PRUEFUNG_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID,
)
from vbv_lernwelt.course.models import CourseCategory, CoursePage
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
CircleFactory,
LearningContentAssignmentFactory,
LearningContentFeedbackVVFactory,
LearningContentLearningModuleFactory,
LearningContentMediaLibraryFactory,
LearningContentPlaceholderFactory,
LearningContentRichTextFactory,
LearningContentVideoFactory,
LearningPathFactory,
LearningSequenceFactory,
LearningUnitFactory,
TopicFactory,
)
from vbv_lernwelt.learnpath.vv_circle_goals import VV_CIRCLE_GOALS, GoalsType
# todo: remove when all Handlungsfelder are ready
READY_HF = ["Fahrzeug", "Reisen"]
def create_vv_new_learning_path(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, user=None, skip_locales=True
):
if user is None:
user = User.objects.get(username="info@iterativ.ch")
course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory(
title="Lernpfad",
parent=course_page,
)
TopicFactory(title="Basis", is_visible=False, parent=lp)
create_circle_basis(lp, course_page=course_page)
TopicFactory(title="Gewinnen von Kunden", parent=lp)
create_circle_gewinnen(lp)
TopicFactory(title="Beraten und Betreuen von Kunden", parent=lp)
create_circle_fahrzeug(lp, course_page=course_page)
create_circle_haushalt(lp)
create_circle_rechtsstreitigkeiten(lp)
create_circle_reisen(lp)
create_circle_einkommenssicherung(lp)
create_circle_wohneigentum(lp)
create_circle_pensionierung(lp)
create_circle_erben(lp)
create_circle_gesundheit(lp)
create_circle_sparen(lp)
create_circle_selbstaendigkeit(lp)
create_circle_kmu(lp)
TopicFactory(title="Prüfung", parent=lp)
create_circle_pruefungsvorbereitung(lp)
create_circle_pruefung(lp)
# locales
if not skip_locales:
locale_de = Locale.objects.get(language_code="de-CH")
locale_fr, _ = Locale.objects.get_or_create(language_code="fr-CH")
LocaleSynchronization.objects.get_or_create(
locale_id=locale_fr.id, sync_from_id=locale_de.id
)
locale_it, _ = Locale.objects.get_or_create(language_code="it-CH")
LocaleSynchronization.objects.get_or_create(
locale_id=locale_it.id, sync_from_id=locale_de.id
)
call_command("sync_locale_trees")
# all pages belong to 'admin' by default
Page.objects.update(owner=user)
def create_vv_pruefung_learning_path(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID, user=None
):
if user is None:
user = User.objects.get(username="info@iterativ.ch")
course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory(
title="Lernpfad",
parent=course_page,
)
TopicFactory(title="Prüfung", parent=lp)
create_circle_pruefungsvorbereitung(lp)
create_circle_pruefung(lp)
# all pages belong to 'admin' by default
Page.objects.update(owner=user)
def create_vv_motorfahrzeug_pruefung_learning_path(
course_id=COURSE_MOTORFAHRZEUG_PRUEFUNG_ID, user=None
):
if user is None:
user = User.objects.get(username="info@iterativ.ch")
course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory(
title="Lernpfad",
parent=course_page,
)
TopicFactory(title="Fahrzeug", parent=lp)
create_circle_fahrzeug(lp, course_page=course_page)
# all pages belong to 'admin' by default
Page.objects.update(owner=user)
def create_circle_basis(lp, title="Basis", course_page=None):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["basis"]["description"],
goals=VV_CIRCLE_GOALS["basis"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle, title_hidden=True)
LearningContentPlaceholderFactory(
title="Verschaff dir einen Überblick",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Aufbau myVBV",
parent=circle,
)
LearningSequenceFactory(title="Lernreise", parent=circle)
LearningUnitFactory(
title="Lerntechnik, Lernbegleitung, Lernpartner/-in und Einführung in MyVBV",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media",
)
LearningContentPlaceholderFactory(
title="Qualifikationsprofil und Zulassungsprüfung",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Lege dir eine Lernstrategie zurecht",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Such dir eine/n Lernbegleiter/-in, einen Lern-Buddy und plane deine Lernzeiten",
parent=circle,
)
LearningSequenceFactory(title="Arbeitsalltag", parent=circle)
lu = LearningUnitFactory(
title="Mein neuer Job, Arbeitstechnik, Soziale Medien, Datenschutz und Beratungspflichten",
parent=circle,
)
competence_profile_page = ActionCompetenceListPageFactory(
title="KompetenzNavi",
parent=course_page,
)
ace = ActionCompetenceFactory(
parent=competence_profile_page,
)
PerformanceCriteriaFactory(
parent=ace,
competence_id="VV-Arbeitsalltag-A",
title="Ich kenne die wichtigsten Aspekte des Arbeitsalltags als Versicherungsvermittler/-in.",
learning_unit=lu,
)
PerformanceCriteriaFactory(
parent=ace,
competence_id="VV-Arbeitsalltag-B",
title="Ich identifiziere und analysiere neue Markttrends im Versicherungssektor.",
learning_unit=lu,
)
PerformanceCriteriaFactory(
parent=ace,
competence_id="VV-Arbeitsalltag-C",
title="Ich nutze digitale Tools zur Optimierung der Kundenbetreuung und -beratung im Versicherungswesen.",
learning_unit=lu,
)
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Mein neuer Job",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Organisiere deinen Arbeitsalltag",
parent=circle,
)
LearningContentLearningModuleFactory(
title="Lucas Auftritt in den sozialen Medien und der Umgang mit sensiblen Daten",
parent=circle,
content_url="https://courses.my.vbv-afa.ch/courses/de-ba-00-lucas-auftritt-in-den-sozialen-medien-und-der-umgang-mit-sensiblen-daten.zip/index.html#/",
)
LearningContentPlaceholderFactory(
title="Beraterpflichten",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Fachcheck Beraterpflichten",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
LearningSequenceFactory(title="Basiswissen", parent=circle)
LearningUnitFactory(
title="Basiswissen Versicherungen, VVG",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Einstieg in die Versicherung",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Basiswissen Versicherungen",
parent=circle,
)
LearningContentPlaceholderFactory(
title="VVG im Versicherungsalltag (inkl. VBV-WBT)",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Fachcheck Versicherungswirtschaft",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Fachcheck Versicherungsrecht",
parent=circle,
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Reflexion, Feedback", parent=circle)
(
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith="versicherungsvermittler-in-assignment-reflexion"
),
),
)
LearningContentFeedbackVVFactory(
parent=circle,
)
def create_circle_gewinnen(lp, title="Gewinnen"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["gewinnen"]["description"],
goals=VV_CIRCLE_GOALS["gewinnen"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", title_hidden=True, parent=circle)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
course_slug = lp.slug.replace("-lp", "")
LearningSequenceFactory(title="Verkaufsgrundlagen", parent=circle)
LearningUnitFactory(title="Verkaufsgrundlagen", parent=circle)
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url=f"/course/{course_slug}/media",
)
LearningContentPlaceholderFactory(
title="Die ersten Schritte im Verkauf",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Sich und das Unternehmen vorstellen",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Fachcheck Verkaufsgrundlagen",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
LearningSequenceFactory(title="Kundenakquise", parent=circle)
LearningUnitFactory(title="Kundenakquise", parent=circle)
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url=f"/course/{course_slug}/media",
)
LearningContentPlaceholderFactory(
title="Vom Lead zum Termin/Telefon auf Empfehlung/Neukundengewinnung",
parent=circle,
)
(
LearningContentAssignmentFactory(
title="Mein Kundenstamm",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{course_slug}-assignment-mein-kundenstamm"
),
),
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Reflexion, Feedback", parent=circle)
(
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{course_slug}-assignment-reflexion"
),
),
)
LearningContentFeedbackVVFactory(
parent=circle,
)
def create_circle_fahrzeug(lp, title="Fahrzeug", course_page=None):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["fahrzeug"]["description"],
goals=VV_CIRCLE_GOALS["fahrzeug"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle, title_hidden=True)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/fahrzeug",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Analyse", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Lösung", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Abschluss", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
lu_transfer = LearningUnitFactory(
title="Transfer",
title_hidden=True,
parent=circle,
)
LearningContentPlaceholderFactory(
title="Praxisauftrag",
parent=circle,
)
# LearningContentEdoniqTestFactory(
# title="Fachcheck Fahrzeug",
# parent=circle,
# description=RichText(
# "<p>Teste dein Wissen mit dem Fachcheck. Der Test kann nur einmal durchgeführt werden.</p>"
# ),
# checkbox_text="Hiermit bestätige ich, dass ich die Anweisungen verstanden und die Redlichkeitserklärung akzeptiert habe.",
# content_url="https://s3.eu-central-1.amazonaws.com/myvbv-wbt.iterativ.ch/fachcheck-fahrzeug-xapi-LFv8YiyM/index.html#/",
# )
# LearningContentAssignmentFactory(
# title="Reflexion",
# assignment_type="REFLECTION",
# content_assignment=Assignment.objects.get(
# slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
# ),
# ),
LearningContentFeedbackVVFactory(
parent=circle,
)
competence_profile_page = ActionCompetenceListPageFactory(
title="KompetenzNavi",
parent=course_page,
)
ace = ActionCompetenceFactory(
parent=competence_profile_page,
)
PerformanceCriteriaFactory(
parent=ace,
competence_id="VV-Transfer-A",
title="Ich setze das Gelernte in der Praxis um.",
learning_unit=lu_transfer,
)
PerformanceCriteriaFactory(
parent=ace,
competence_id="VV-Transfer-B",
title="Ich kenne den Unterschied zwischen einem Neuwagen und einem Occasionswagen.",
learning_unit=lu_transfer,
)
PerformanceCriteriaFactory(
parent=ace,
competence_id="VV-Transfer-C",
title="Ich kenne den Unterschied zwischen einem Leasing und einem Kauf.",
learning_unit=lu_transfer,
)
def create_circle_haushalt(lp, title="Haushalt"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["haushalt"]["description"],
goals=VV_CIRCLE_GOALS["haushalt"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Analyse", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Lösung", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Abschluss", parent=circle)
create_standard_learning_unit(
"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",
)
create_learning_sequence_transfer(circle, title="Haushalt")
def create_circle_rechtsstreitigkeiten(lp, title="Rechtsstreitigkeiten"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["rechtsstreitigkeiten"]["description"],
goals=VV_CIRCLE_GOALS["rechtsstreitigkeiten"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Rechtsstreitigkeiten", parent=circle)
create_standard_learning_unit(
"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",
title_hidden=True,
)
create_learning_sequence_transfer(circle, title="Rechtsstreitigkeiten")
def create_circle_reisen(lp, title="Reisen"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["reisen"]["description"],
goals=VV_CIRCLE_GOALS["reisen"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle, title_hidden=True)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Analyse", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Lösung", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Abschluss", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Transfer", title_hidden=True, parent=circle)
LearningContentPlaceholderFactory(
title="Auswandern",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Fachcheck Reisen",
parent=circle,
)
(
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
)
LearningContentFeedbackVVFactory(
parent=circle,
)
def create_circle_einkommenssicherung(lp, title="Einkommenssicherung"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["einkommenssicherung"]["description"],
goals=VV_CIRCLE_GOALS["einkommenssicherung"]["goals"],
)
course_slug = lp.slug.replace("-lp", "")
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle, title_hidden=True)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Analyse", parent=circle)
create_standard_learning_unit(
"Patrizia und Marco sichern sich ab - Analyse",
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",
)
LearningSequenceFactory(title="Lösung", parent=circle)
create_standard_learning_unit(
"Patrizia und Marco sichern sich ab - Lösung",
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",
)
LearningSequenceFactory(title="Abschluss", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Transfer", title_hidden=True, parent=circle)
(
LearningContentAssignmentFactory(
title="Heirat: Was ändert sich",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{course_slug}-assignment-heirat-was-ändert-sich"
),
),
)
LearningContentPlaceholderFactory(
title="Familienmanagerin",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Fachcheck Einkommenssicherung",
parent=circle,
)
(
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
)
LearningContentFeedbackVVFactory(
parent=circle,
)
def create_circle_wohneigentum(lp, title="Wohneigentum"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["wohneigentum"]["description"],
goals=VV_CIRCLE_GOALS["wohneigentum"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Wohneigentum", parent=circle)
LearningUnitFactory(title="Immobilien versichern bei Kauf und Umbau", parent=circle)
LearningContentPlaceholderFactory(
title="Patrizia und Marco kaufen ein Haus",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Transfer", title_hidden=True, parent=circle)
LearningContentPlaceholderFactory(
title="Wohneigentum",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Fachcheck Wohneigentum",
parent=circle,
)
(
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
)
LearningContentFeedbackVVFactory(
parent=circle,
)
def create_circle_pensionierung(lp, title="Pensionierung"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["pensionierung"]["description"],
goals=VV_CIRCLE_GOALS["pensionierung"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle, title_hidden=True)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Analyse", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Lösung", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Abschluss", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Transfer", title_hidden=True, parent=circle)
LearningContentPlaceholderFactory(
title="Fachcheck Pensionierung",
parent=circle,
)
(
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
)
LearningContentFeedbackVVFactory(
parent=circle,
)
def create_circle_erben(lp, title="Erben/Vererben"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["erben"]["description"],
goals=VV_CIRCLE_GOALS["erben"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle, title_hidden=True)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Erben/Vererben", parent=circle)
LearningUnitFactory(
title="Gesetzliche Erben, Pflichtteile, Testament",
title_hidden=True,
parent=circle,
)
LearningContentPlaceholderFactory(
title="Guilia und Davide machen sich Gedanken",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Transfer", title_hidden=True, parent=circle)
LearningContentPlaceholderFactory(
title="Hausverkauf mit Erbvorbezug",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Fachcheck Erben/Vererben",
parent=circle,
)
(
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
)
LearningContentFeedbackVVFactory(
parent=circle,
)
def create_circle_gesundheit(lp, title="Gesundheit"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["gesundheit"]["description"],
goals=VV_CIRCLE_GOALS["gesundheit"]["goals"],
)
course_slug = lp.slug.replace("-lp", "")
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle, title_hidden=True)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Analyse", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Lösung", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Abschluss", parent=circle)
create_standard_learning_unit(
"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",
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Transfer", title_hidden=True, parent=circle)
(
LearningContentAssignmentFactory(
title="Krankenversicherung: Passt die Lösung noch?",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{course_slug}-assignment-krankenversicherung-passt-die-lösung-noch"
),
),
)
LearningContentPlaceholderFactory(
title="Fachcheck Gesundheit",
parent=circle,
)
(
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{circle.get_course().slug}-assignment-reflexion"
),
),
)
LearningContentFeedbackVVFactory(
parent=circle,
)
def create_circle_sparen(lp, title="Sparen"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["sparen"]["description"],
goals=VV_CIRCLE_GOALS["sparen"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", title_hidden=True, parent=circle)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title="Mediathek",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Sparen", parent=circle)
LearningUnitFactory(
title="Sparinstrumente, Idee und Funktionsweise von Anlagefonds", parent=circle
)
LearningContentPlaceholderFactory(
title="Familie Babic spart auf ein Ziel",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
create_learning_sequence_transfer(circle, "Sparen")
def create_circle_selbstaendigkeit(lp, title="Selbstständigkeit"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["selbstständigkeit"]["description"],
goals=VV_CIRCLE_GOALS["selbstständigkeit"]["goals"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", title_hidden=True, parent=circle)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title="Mediathek",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Selbstständigkeit", parent=circle)
LearningUnitFactory(title="Selbsständigerwerbende versichern", parent=circle)
LearningContentPlaceholderFactory(
title="Patrizia Feller macht sich selbstständig",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
create_learning_sequence_transfer(circle, "Selbstständigkeit")
def create_circle_kmu(lp, title="KMU"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["kmu"]["description"],
goals=VV_CIRCLE_GOALS["kmu"]["description"],
)
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle, title_hidden=True)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
LearningUnitFactory(title="Gesprächsvorbereitung und -einstieg", parent=circle)
LearningContentPlaceholderFactory(
title="Anne Fleur übernimmt den Blumenladen - Einstieg",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
LearningSequenceFactory(title="Analyse", parent=circle)
LearningUnitFactory(title="Bedarfsanalyse, Ist- und Soll-Situation", parent=circle)
LearningContentPlaceholderFactory(
title="Anne Fleur übernimmt den Blumenladen - Analyse",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
LearningSequenceFactory(title="Lösung", parent=circle)
LearningUnitFactory(
title="Lösungsvorschlag erarbeiten und präsentieren", parent=circle
)
LearningContentPlaceholderFactory(
title="Anne Fleur übernimmt den Blumenladen - Lösung",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
LearningSequenceFactory(title="Abschluss", parent=circle)
LearningUnitFactory(
title="Gesprächszusammenfassung, Abschluss und Nachbereitung", parent=circle
)
LearningContentPlaceholderFactory(
title="Anne Fleur übernimmt den Blumenladen - Abschluss",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Selbsteinschätzung",
parent=circle,
)
create_learning_sequence_transfer(circle, "KMU")
def create_circle_standard_small(
lp,
title,
lc_title,
lu_title=None,
lc_praxis_title=None,
goals=None,
description=None,
):
circle = CircleFactory(**setup_circle_factory_kwargs(title, lp, goals, description))
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle)
LearningContentVideoFactory(
title="Verschaff dir einen Überblick",
parent=circle,
content_url="https://player.vimeo.com/video/772512710?h=30f912f15a",
description="Willkommen im Lehrgang Versicherungsvermitler VBV",
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media/handlungsfelder/{slugify(title, allow_unicode=True)}",
)
if lu_title is None:
lu_title = title
LearningSequenceFactory(title=title, parent=circle)
create_standard_learning_unit(
lc_title,
parent=circle,
category_name=title,
competence_id="V1",
learning_unit_title=lu_title,
)
create_learning_sequence_transfer(circle, title, lc_praxis_title=lc_praxis_title)
def create_circle_standard(lp, title, lc_title, goals=None, description=None):
circle = CircleFactory(**setup_circle_factory_kwargs(title, lp, goals, description))
LearningSequenceFactory(title="Einführung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle)
LearningContentVideoFactory(
title="Verschaff dir einen Überblick",
parent=circle,
content_url="https://player.vimeo.com/video/772512710?h=30f912f15a",
description="Willkommen im Lehrgang Versicherungsvermitler VBV",
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/course/versicherungsvermittler-in/media/handlungsfelder/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
create_standard_learning_unit(
f"{lc_title} - Einstieg",
parent=circle,
category_name=title,
competence_id="V1",
learning_unit_title="Gesprächsvorbereitung und -einstieg",
)
LearningSequenceFactory(title="Analyse", parent=circle)
create_standard_learning_unit(
f"{lc_title} - Analyse",
parent=circle,
category_name=title,
competence_id="V2",
learning_unit_title="Bedarfsanalyse, Ist- und Soll-Situation",
)
LearningSequenceFactory(title="Lösung", parent=circle)
create_standard_learning_unit(
f"{lc_title} - Lösung",
parent=circle,
category_name=title,
competence_id="V3",
learning_unit_title="Lösungsvorschlag erarbeiten und präsentieren",
)
LearningSequenceFactory(title="Abschluss", parent=circle)
create_standard_learning_unit(
f"{lc_title} - Abschluss",
parent=circle,
category_name=title,
competence_id="V4",
learning_unit_title="Gesprächszusammenfassung, Abschluss und Nachbereitung",
)
create_learning_sequence_transfer(circle, title)
def create_html_goals(goals):
html = ""
if goals is None:
return None
for goal in goals:
if goal["type"] == GoalsType.PARAGRAPH:
html += f'<p class="mb-4">{goal["content"]}</p>'
elif goal["type"] == GoalsType.LIST:
icon = '<it-icon-check class="hidden h-12 w-12 flex-none text-sky-500 lg:inline-block it-icon"></it-icon-check>'
li_classes = '"flex items-center"'
ul_classes = '"mb-4"'
html += f"<ul class={ul_classes}>{''.join([f'<li class={li_classes}>{icon}<span>{item}</span></li>' for item in goal['content']])}</ul>"
elif goal["type"] == GoalsType.HEADING:
h3_classes = '"mb-4"'
html += f"<h3 class={h3_classes}>{goal['content']}</h3>"
return html
def setup_circle_factory_kwargs(title, lp, goals, description):
kwargs = {
"title": title,
"parent": lp,
}
return kwargs
def create_circle_pruefungsvorbereitung(lp, title="Prüfungsvorbereitung"):
circle = CircleFactory(
title=title,
parent=lp,
description=VV_CIRCLE_GOALS["prüfungsvorbereitung"]["description"],
goals=VV_CIRCLE_GOALS["prüfungsvorbereitung"]["goals"],
)
LearningSequenceFactory(title="Einführung ", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Einführung", parent=circle)
LearningContentPlaceholderFactory(
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url=f"/course/{circle.get_course().slug}/media",
)
LearningSequenceFactory(title="Aufbau", parent=circle)
LearningUnitFactory(title="Aufbau", parent=circle, title_hidden=True)
LearningContentPlaceholderFactory(
title="Aufbau und Struktur",
parent=circle,
)
LearningSequenceFactory(title="Nullserien", parent=circle)
LearningUnitFactory(title="Schriftliche Nullserien", parent=circle)
LearningContentPlaceholderFactory(
title="Nullserie 1",
parent=circle,
)
LearningUnitFactory(title="Mündliche Nullserien", parent=circle)
LearningContentPlaceholderFactory(
title="Nullserie 1 - Aufgabe",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Nullserie 1 - Lösung",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Nullserie 2 - Aufgabe",
parent=circle,
)
LearningContentPlaceholderFactory(
title="Nullserie 2 - Lösung",
parent=circle,
)
create_learning_sequence_transfer(circle, "Prüfungsvorbereitung")
def create_circle_pruefung(lp, title="Prüfung"):
circle = CircleFactory(
title=title,
parent=lp,
description="Hier erfährst du alles, was du für die Zulassungsprüfung zum/zur Versicherungsvermittler/-in VBV wissen musst. Du trainierst konkret mit zwei Nullserien, damit du dich zielgerichtet auf die Prüfung vorbereiten kannst.",
)
LearningSequenceFactory(title="Anmeldung", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Anmeldung", parent=circle)
LearningContentPlaceholderFactory(
title="Anmeldung",
parent=circle,
)
LearningSequenceFactory(
title="Durchführung", parent=circle, icon="it-icon-ls-start"
)
LearningUnitFactory(title="Durchführung", parent=circle)
LearningContentPlaceholderFactory(
title="Durchführung",
parent=circle,
)
LearningSequenceFactory(title="Feedback", parent=circle, icon="it-icon-ls-start")
LearningUnitFactory(title="Feedback", parent=circle)
LearningContentPlaceholderFactory(
title="Feedback",
parent=circle,
)
def create_standard_learning_unit(
title,
parent,
category_name,
course,
competence_id="V1",
wbt_url=None,
check_url=None,
learning_unit_title=None,
title_hidden=False,
):
if learning_unit_title is None:
learning_unit_title = category_name
lu = LearningUnitFactory(
title=learning_unit_title,
parent=parent,
course_category=CourseCategory.objects.get(
course_id=course.id, title=category_name
),
title_hidden=title_hidden,
)
if wbt_url is None:
LearningContentPlaceholderFactory(
title=title,
parent=parent,
)
else:
LearningContentLearningModuleFactory(
title=title,
parent=parent,
content_url=wbt_url,
)
competence_pages = ActionCompetence.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=course_cp,
competence_id=f"{competence_id}.{category_name}",
title=f"Ich bin fähig bei {category_name} eine {course_cp.title} zu machen",
learning_unit=lu,
)
def create_learning_sequence_transfer(parent, title, lc_praxis_title=None):
LearningSequenceFactory(title="Transfer", parent=parent, icon="it-icon-ls-end")
LearningUnitFactory(title="Transfer", title_hidden=True, parent=parent)
if lc_praxis_title:
LearningContentPlaceholderFactory(
title=lc_praxis_title,
parent=parent,
)
LearningContentPlaceholderFactory(
title=f"Fachcheck {title}",
parent=parent,
)
(
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=parent,
content_assignment=Assignment.objects.get(
slug__startswith="versicherungsvermittler-in-assignment-reflexion"
),
),
)
LearningContentFeedbackVVFactory(
parent=parent,
)
def create_learning_content_beenden(parent):
LearningContentRichTextFactory(
title="Hier entsteht die Lernsequenz «beenden»",
parent=parent,
content_url="https://www.vbv.ch/",
description=RichText(
"""
<h2 data-block-key="pwyep">Hier entsteht die Lernsequenz \u00abbeenden\u00bb</h2><h3
data-block-key="dppb3">Reflektiert</h3>
<img src="/static/media/demo_oktober/beenden.jpg" style="
float: right;
margin-left: 32px;
margin-bottom: 32px;
">
<p data-block-key="bho67">Du hast dich im
Circle mit bestimmten Handlungskompetenzen auseinandergesetzt und dir zu verschiedenen
Handlungsfeldern Fachkenntnisse angeeignet. Es handelt sich hier um viel Lernstoff,
der verarbeitet werden muss.</p><p data-block-key="f547i">Deshalb hast du bereits am
Ende jeder Lerneinheit eine Selbsteinsch\u00e4tzung der angestrebten
Handlungskompetenzen vorgenommen. Nun ist es Zeit, nochmals auf das KompetenzNavi zu
schauen. Wo sind noch L\u00fccken? Was braucht es noch? Reflektiere hier nochmals
deine Erfahrungen. Dies kann in Form eines Lerntagebuchs und/oder im Austausch mit
deiner Lernbegleitung passieren.</p><h3 data-block-key="7ljuq">Wieso ist dies
sinnvoll?</h3><p data-block-key="7sf2">Das F\u00fchren eines Lerntagebuchs und das
Beantworten von Reflexionsfragen helfen dir den eigenen Lern- und Denkprozess sichtbar
und begreifbar zu machen. Es deckt deine pers\u00f6nlichen St\u00e4rken und
Schw\u00e4chen w\u00e4hrend der Erarbeitung auf und hilft dir, dich laufend zu
verbessern.</p><p data-block-key="ecq4l">Die folgenden Fragestellungen k\u00f6nnen dir
dabei helfen.</p><h3 data-block-key="9mbpa">Reflexionsbeispiel zum Lerninhalt:</h3>
<ul>
<li data-block-key="bgr7s">Was gelingt mir bereits gut?</li>
<li data-block-key="72mrj">Wo muss ich mich noch vertiefen oder nochmals repetieren?
</li>
<li data-block-key="3gq01">Blick auf das KompetenzNavi sch\u00e4rfen</li>
<li data-block-key="8443s">Was nehme ich mit?</li>
<li data-block-key="4nstg">Was m\u00f6chte ich nochmals mit meiner Lernbegleitung
anschauen?
</li>
</ul><h3 data-block-key="6us0c">Reflexionsbeispiele zum Vorgehen/Verhalten:</h3>
<ul>
<li data-block-key="5ih9d">Wie habe ich mich auf den Circle vorbereitet (z.B. Lernzeit
eingeplant)?
</li>
<li data-block-key="6piqr">Wie gut ist mir die Einhaltung der Lernzeiten gelungen? Was
f\u00fchrte zum Erfolg/Misserfolg?
</li>
<li data-block-key="dglus">Wie bin ich beim Lernen vorgegangen (Einsatz von
Lernmethoden)?
</li>
<li data-block-key="53o3r">Was will ich f\u00fcr den n\u00e4chsten Circle im
Lernprozess \u00e4ndern/verbessern?
</li>
</ul><h3 data-block-key="86e5g">Tools, die du f\u00fcr deine Reflexion in Form eines
Lerntagebuches verwenden kannst:</h3>
<ul>
<li data-block-key="16m0n">OneNote</li>
<li data-block-key="disfa">Miroboard</li>
<li data-block-key="2sr1l">Worddokument</li>
<li data-block-key="5lfsl">Powerpointpr\u00e4sentation</li>
<li data-block-key="fvlkb">Notizbuch</li>
</ul><p data-block-key="fu5sc">Der Vorteil eines digitalen Lerntagebuchs besteht in
erster Linie darin, dass sehr einfach Inhalte strukturiert, erg\u00e4nzt und
bearbeitet werden k\u00f6nnen.</p>
"""
),
)
LearningContentPlaceholderFactory(
parent=parent,
)
def create_learning_content_transferauftrag(title, parent):
LearningContentRichTextFactory(
title=title,
parent=parent,
content_url="https://www.vbv.ch/",
description=RichText(
"""
<h2 data-block-key="pwyep">Hier entsteht die Lernsequenz «üben»</h2><h3
data-block-key="dppb3">Praxisorientiert</h3>
<p data-block-key="bho67">Die Lernsequenz «üben» fordert die Teilnehmenden auf, in der eigenen Organisation anhand eines Transferauftrages eine entsprechende Handlungssituation durchzuführen.</p>
<p data-block-key="f547i">Der Auftrag unterstützt den Transfer in die Praxis und nimmt einzelne Themen aus dem jeweiligen Circle nochmals auf.</p>
<p data-block-key="f547i">Der Teilnehmende wird sein Ergebnis in MyVBV hochladen.</p>
<p data-block-key="f547i">Feedback erfolgt durch die Lernbegleitung oder durch weitere vom Teilnehmenden definierte Personen.<br>Ein Abgleich mit Musterlösungen wird wo sinnvoll angeboten</p>
<p data-block-key="f547i">Zusätzlich zum Auftrag wird auf das relevante Fachwissen aus der Mediathek verwiesen und wo sinnvoll Hilfsmittel zur Verfügung gestellt.</p>
<h3 data-block-key="7ljuq">Hier siehst du ein Beispiel eines Transferauftrages mit einer entsprechenden Musterlösung. </h3>
<p data-block-key="7sf2">Schnuppere mal rein. Viel Spass!</p>
<p>
<img src="/static/media/demo_oktober/der_erste_eindruck.jpg">
</p>
<p>
<a href="/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt.pdf">PDF Transferauftrag: Der erste Eindruck zählt</a><br>
<a href="/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt_Musterlösung.pdf">PDF Transferauftrag: Der erste Eindruck zählt - Lösung</a>
</p>
"""
),
)