1595 lines
57 KiB
Python
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>
|
|
"""
|
|
),
|
|
)
|