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 PerformanceCriteriaFactory from vbv_lernwelt.competence.models import ActionCompetence from vbv_lernwelt.core.admin import User from vbv_lernwelt.course.consts import COURSE_VERSICHERUNGSVERMITTLERIN_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 GoalsType, VV_CIRCLE_GOALS # 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) TopicFactory(title="Gewinnen von Kunden", parent=lp) create_circle_gewinnen(lp) TopicFactory(title="Beraten und Betreuen von Kunden", parent=lp) create_circle_fahrzeug(lp) 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_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_circle_basis(lp, title="Basis"): 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) LearningUnitFactory( title="Mein neuer Job, Arbeitstechnik, Soziale Medien, Datenschutz und Beratungspflichten", parent=circle, ) 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=f"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"): 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") LearningUnitFactory(title="Transfer", title_hidden=True, parent=circle) LearningContentPlaceholderFactory( title="Praxisauftrag", parent=circle, ) # LearningContentEdoniqTestFactory( # title="Fachcheck Fahrzeug", # parent=circle, # description=RichText( # "

Teste dein Wissen mit dem Fachcheck. Der Test kann nur einmal durchgeführt werden.

" # ), # 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, ) 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=f"Auswandern", parent=circle, ) LearningContentPlaceholderFactory( title=f"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=f"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=f"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=f"Guilia und Davide machen sich Gedanken", parent=circle, ) LearningContentPlaceholderFactory( title=f"Selbsteinschätzung", parent=circle, ) LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end") LearningUnitFactory(title="Transfer", title_hidden=True, parent=circle) LearningContentPlaceholderFactory( title=f"Hausverkauf mit Erbvorbezug", parent=circle, ) LearningContentPlaceholderFactory( title=f"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=f"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'

{goal["content"]}

' elif goal["type"] == GoalsType.LIST: icon = '' li_classes = '"flex items-center"' ul_classes = '"mb-4"' html += f"" elif goal["type"] == GoalsType.HEADING: h3_classes = '"mb-4"' html += f"

{goal['content']}

" 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=f"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( """

Hier entsteht die Lernsequenz \u00abbeenden\u00bb

Reflektiert

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.

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.

Wieso ist dies sinnvoll?

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.

Die folgenden Fragestellungen k\u00f6nnen dir dabei helfen.

Reflexionsbeispiel zum Lerninhalt:

Reflexionsbeispiele zum Vorgehen/Verhalten:

Tools, die du f\u00fcr deine Reflexion in Form eines Lerntagebuches verwenden kannst:

Der Vorteil eines digitalen Lerntagebuchs besteht in erster Linie darin, dass sehr einfach Inhalte strukturiert, erg\u00e4nzt und bearbeitet werden k\u00f6nnen.

""" ), ) LearningContentPlaceholderFactory( parent=parent, ) def create_learning_content_transferauftrag(title, parent): LearningContentRichTextFactory( title=title, parent=parent, content_url="https://www.vbv.ch/", description=RichText( """

Hier entsteht die Lernsequenz «üben»

Praxisorientiert

Die Lernsequenz «üben» fordert die Teilnehmenden auf, in der eigenen Organisation anhand eines Transferauftrages eine entsprechende Handlungssituation durchzuführen.

Der Auftrag unterstützt den Transfer in die Praxis und nimmt einzelne Themen aus dem jeweiligen Circle nochmals auf.

Der Teilnehmende wird sein Ergebnis in MyVBV hochladen.

Feedback erfolgt durch die Lernbegleitung oder durch weitere vom Teilnehmenden definierte Personen.
Ein Abgleich mit Musterlösungen wird wo sinnvoll angeboten

Zusätzlich zum Auftrag wird auf das relevante Fachwissen aus der Mediathek verwiesen und wo sinnvoll Hilfsmittel zur Verfügung gestellt.

Hier siehst du ein Beispiel eines Transferauftrages mit einer entsprechenden Musterlösung.

Schnuppere mal rein. Viel Spass!

PDF Transferauftrag: Der erste Eindruck zählt
PDF Transferauftrag: Der erste Eindruck zählt - Lösung

""" ), )