288 lines
14 KiB
Python
288 lines
14 KiB
Python
import wagtail_factories
|
||
from django.conf import settings
|
||
from wagtail.models import Site, Page
|
||
|
||
from vbv_lernwelt.core.admin import User
|
||
from vbv_lernwelt.learnpath.models import LearningPath, Topic, Circle, LearningSequence, LearningContent
|
||
from vbv_lernwelt.learnpath.tests.learning_path_factories import LearningPathFactory, TopicFactory, CircleFactory, \
|
||
LearningSequenceFactory, LearningContentFactory, VideoBlockFactory, PodcastBlockFactory, CompetenceBlockFactory, \
|
||
ExerciseBlockFactory, DocumentBlockFactory, LearningUnitFactory, LearningUnitQuestionFactory
|
||
|
||
|
||
def create_default_learning_path(user=None):
|
||
if user is None:
|
||
user = User.objects.get(username='admin')
|
||
|
||
site = Site.objects.filter(is_default_site=True).first()
|
||
|
||
if not site:
|
||
site = wagtail_factories.SiteFactory(is_default_site=True)
|
||
|
||
if settings.APP_ENVIRONMENT == 'development':
|
||
site.port = 8000
|
||
site.save()
|
||
|
||
# create_default_competences()
|
||
|
||
lp = LearningPathFactory(title="Versicherungsvermittler/in", parent=site.root_page)
|
||
|
||
tp = TopicFactory(title="Basissdf", is_visible=False, parent=lp)
|
||
|
||
circle_1 = CircleFactory(
|
||
title="Basis",
|
||
parent=lp,
|
||
|
||
description="""
|
||
In diesem Circle erklären wir dir, wie der Lehrgang
|
||
Versicherungsvermittler / in " aufgebaut ist. Zudem vermitteln wir dir die wichtigsten Grundlagen,
|
||
damit erfolgreich mit deinem Lernpfad starten kannst.
|
||
""")
|
||
|
||
tp = TopicFactory(title="Gewinnen von Kunden", parent=lp)
|
||
|
||
circle_2 = CircleFactory(
|
||
title="Gewinnen",
|
||
parent=lp,
|
||
description="""
|
||
Versicherungsvermittlerinnen und -vermittler verfügen über
|
||
ein starkes Netzwerk, das sie gezielt pflegen und ausbauen. Sie beraten und betreuen ihre bestehenden Kundinnen und Kunden professionell und gewinnen so ihr Vertrauen. Dadurch schaffen sie die Basis für das Gewinnen
|
||
von neuen Kundinnen und Kunden. Versicherungsvermittlerinnen und -vermittler sprechen ihre bestehenden Kundinnen
|
||
und Kunden auf Weiterempfehlung an. So nutzen sie ihre
|
||
bestehenden Kontakte geschickt für das Anwerben von
|
||
Neukundinnen und -kunden.""",
|
||
goals=[
|
||
('goal', '... Bestehende Kunden so zu beraten, dass sie von diesen weiterempfohlen werden'),
|
||
('goal', '... Geeignete Personen wie z.B. Garagisten, Architekten, Treuhänder auf die Vermittlung / Zusammenarbeit anzusprechen'),
|
||
('goal', '... Verschiedene Datenquellen wie Internet, Telefonbuch, Handelszeitung, Baugesuche etc. Gezielt für die Gewinnung von Neukunden zu benützen'),
|
||
('goal', '... Ein beliebiges Gespräch resp. Einen bestehenden Kontakt in die Richtung «Versicherung» zu lenken'),
|
||
('goal', '... Das Thema Risiko und Sicherheit in einem Gespräch gezielt und auf die Situation des jeweiligen Gesprächspartners bezogen einfliessen zu lassen'),
|
||
('goal', '... Im täglichen Kontakt potenzielle Kundinnen und Kunden zu erkennen'),
|
||
],
|
||
)
|
||
|
||
tp = TopicFactory(title="Beraten der Kunden", parent=lp)
|
||
circle_3 = CircleFactory(title="Einstieg", parent=lp)
|
||
|
||
circe_analyse = CircleFactory(
|
||
title="Analyse",
|
||
parent=lp,
|
||
|
||
description="""
|
||
Nach dem Gespräch werten sie die Analyse aus und erstellen mit den
|
||
zur Verfügung stehenden Systemen formal korrekte Lösungsvorschläge bzw.
|
||
Ausschreibungen. Je nach Komplexität der Situation ziehen sie die nötigen
|
||
Fachspezialisten bei.
|
||
""",
|
||
job_situations=[
|
||
('job_situation', 'Absicherung der Familie'),
|
||
('job_situation', 'Prämien einsparen'),
|
||
('job_situation', 'Deckung optimieren'),
|
||
('job_situation', 'Auto kaufen'),
|
||
('job_situation', 'Fahrzeugwechsel'),
|
||
('job_situation', 'Pensionerung inklusive Variante Frühpensionierung'),
|
||
('job_situation', 'Reisen'),
|
||
],
|
||
goals=[
|
||
('goal', '... die heutige Versicherungssituation von Privat- oder Geschäftskunden einzuschätzen.'),
|
||
('goal', '... deinem Kunden einen ungenügenden oder übermässigen Versicherungsschutz aufzuzeigen.'),
|
||
('goal', '... deinem Kunden zu helfen, sein Optimierungspotential voll auszuschöpfen.'),
|
||
('goal', '... deinem Kunden seine optimale Lösung aufzuzeigen'),
|
||
],
|
||
experts=[
|
||
('person', {'last_name': 'Huggel', 'first_name': 'Patrizia', 'email': 'patrizia.huggel@example.com'}),
|
||
]
|
||
)
|
||
|
||
LearningSequenceFactory(title='Starten', parent=circe_analyse, icon='it-icon-ls-start')
|
||
LearningContentFactory(
|
||
title='Einleitung Circle "Anlayse"',
|
||
parent=circe_analyse,
|
||
minutes=15,
|
||
contents=[('video', VideoBlockFactory(
|
||
url='https://www.youtube.com/embed/qhPIfxS2hvI',
|
||
description='In dieser Circle zeigt dir ein Fachexperte anhand von Kundensituationen, wie du erfolgreich'
|
||
'den Kundenbedarf ermitteln, analysieren, priorisieren und anschliessend zusammenfassen kannst.'
|
||
))]
|
||
)
|
||
|
||
LearningSequenceFactory(title='Beobachten', parent=circe_analyse, icon='it-icon-ls-watch')
|
||
lu = LearningUnitFactory(
|
||
title='Absicherung der Familie',
|
||
parent=circe_analyse,
|
||
)
|
||
LearningUnitQuestionFactory(
|
||
title="Ich bin in der Lage, mit geeigneten Fragestellungen die Deckung von Versicherungen zu erfassen.",
|
||
parent=lu
|
||
)
|
||
LearningContentFactory(
|
||
title='Ermittlung des Kundenbedarfs',
|
||
parent=circe_analyse,
|
||
minutes=30,
|
||
contents=[('podcast', PodcastBlockFactory(
|
||
description='Die Ermittlung des Kundenbedarfs muss in einem eingehenden Gespräch herausgefunden werden. Höre dazu auch diesen Podcast an.',
|
||
url='https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/325190984&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true',
|
||
))]
|
||
)
|
||
LearningContentFactory(
|
||
title='Kundenbedürfnisse erkennen',
|
||
parent=circe_analyse,
|
||
minutes=30,
|
||
contents=[('competence', CompetenceBlockFactory())]
|
||
)
|
||
LearningContentFactory(
|
||
title='Was braucht eine Familie?',
|
||
parent=circe_analyse,
|
||
minutes=60,
|
||
contents=[('exercise', ExerciseBlockFactory())]
|
||
)
|
||
|
||
LearningSequenceFactory(title='Anwenden', parent=circe_analyse, icon='it-icon-ls-apply')
|
||
LearningUnitFactory(title='Prämien einsparen', parent=circe_analyse)
|
||
LearningContentFactory(
|
||
title='Versicherungsbedarf für Familien',
|
||
parent=circe_analyse,
|
||
minutes=60,
|
||
contents=[('exercise', ExerciseBlockFactory())]
|
||
)
|
||
LearningContentFactory(
|
||
title='Alles klar?',
|
||
parent=circe_analyse,
|
||
minutes=60,
|
||
contents=[('exercise', ExerciseBlockFactory())]
|
||
)
|
||
|
||
LearningUnitFactory(title='Sich selbständig machen', parent=circe_analyse)
|
||
LearningContentFactory(
|
||
title='GmbH oder AG',
|
||
parent=circe_analyse,
|
||
minutes=120,
|
||
contents=[('video', VideoBlockFactory())]
|
||
)
|
||
LearningContentFactory(
|
||
title='Tiertherapie Patrizia Feller',
|
||
parent=circe_analyse,
|
||
minutes=120,
|
||
contents=[('exercise', ExerciseBlockFactory())]
|
||
)
|
||
|
||
LearningUnitFactory(title='Auto verkaufen', parent=circe_analyse)
|
||
LearningContentFactory(
|
||
title='Motorfahrzeugversicherung',
|
||
parent=circe_analyse,
|
||
minutes=240,
|
||
contents=[('competence', CompetenceBlockFactory())]
|
||
)
|
||
LearningContentFactory(
|
||
title='Nora kauft sich ein neues Auto',
|
||
parent=circe_analyse,
|
||
minutes=60,
|
||
contents=[('podcast', PodcastBlockFactory())]
|
||
)
|
||
LearningContentFactory(
|
||
title='Ermittlung des Kundenbedarfs',
|
||
parent=circe_analyse,
|
||
minutes=120,
|
||
contents=[('document', DocumentBlockFactory())]
|
||
)
|
||
LearningContentFactory(
|
||
title='Motorfahrzeug kaufen',
|
||
parent=circe_analyse,
|
||
minutes=120,
|
||
contents=[('exercise', ExerciseBlockFactory())]
|
||
)
|
||
|
||
LearningSequenceFactory(title='Üben', parent=circe_analyse, icon='it-icon-ls-practice')
|
||
LearningUnitFactory(title='Kind zieht von zu Hause aus', parent=circe_analyse)
|
||
LearningContentFactory(
|
||
title='Hausrat',
|
||
parent=circe_analyse,
|
||
minutes=120,
|
||
contents=[('competence', CompetenceBlockFactory())]
|
||
)
|
||
LearningContentFactory(
|
||
title='Privathaftpflicht',
|
||
parent=circe_analyse,
|
||
minutes=60,
|
||
contents=[('competence', CompetenceBlockFactory())]
|
||
)
|
||
LearningContentFactory(
|
||
title='Kind zieht von zu Hause wirklich aus',
|
||
parent=circe_analyse,
|
||
minutes=60,
|
||
contents=[('competence', CompetenceBlockFactory())]
|
||
)
|
||
|
||
# learning_unit = LearningUnitFactory.create(title='** Einstieg Video"', parent=circle_4)
|
||
# video_url = "https://www.vbv.ch/fileadmin/vbv/Videos/Statements_Externe/Janos_M/Testimonial_Janos_Mischler_PositiveEffekte.mp4"
|
||
# video_title = "Ausbildung ist pflicht"
|
||
# video_description = "Erfahren Sie, was für Janos Mischler die positiven Aspekte von ständiger Weiterbildung sind – aus fachlicher und aus persönlicher Sicht."
|
||
# video_block = VideoBlockFactory(content_type="video", url=video_url, title=video_title, description=video_description)
|
||
# learning_unit.contents.append(('video', video_block))
|
||
# learning_unit.save()
|
||
#
|
||
# learning_unit = LearningUnitFactory.create(title='** Web Based Training"', parent=circle_4)
|
||
# wbt_url = "web_based_trainings/rise_cmi5_test_export/scormcontent/index.html"
|
||
# wbt_block = WebBasedTrainingBlockFactory(content_type="web_based_training", url=wbt_url)
|
||
# learning_unit.contents.append(('web_based_training', wbt_block))
|
||
# learning_unit.save()
|
||
# learning_unit = LearningUnitFactory.create(title="Selbsteinschätzung", parent=circle_4)
|
||
#
|
||
# sequence_2 = LearningSequenceFactory.create(title="Beobachten", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Mein Motorfahrzeug kaufen", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Sich selbständig machen", parent=circle_4)
|
||
#
|
||
# sequence_3 = LearningSequenceFactory.create(title="Anwenden", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Nora kauft sich ein neues Auto", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Manuel träumt von einem neuen Tesla", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Deine Erkenntnisse und Learnings", parent=circle_4)
|
||
#
|
||
# sequence_4 = LearningSequenceFactory.create(title="Üben", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Ermittlung des Kundenbedarfs", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Aktives Zuhören", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="In Bildern Sprechen", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Priorisieren des Bedarfs", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Zusammenfassung des Bedarfs", parent=circle_4)
|
||
#
|
||
# sequence_5 = LearningSequenceFactory.create(title="Testen", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Bedarfsfragen", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Andwendung der Fragetechniken", parent=circle_4)
|
||
#
|
||
# sequence_5 = LearningSequenceFactory.create(title="Vernetzen", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Online Training", parent=circle_4)
|
||
#
|
||
# sequence_6 = LearningSequenceFactory.create(title="Beenden", parent=circle_4)
|
||
# learning_unit = LearningUnitFactory.create(title="Selbsteinschätzung", parent=circle_4)
|
||
#
|
||
# circle_5 = CircleFactory.create(title="Lösung",
|
||
# parent=lp,
|
||
# topic=tp,
|
||
# goals="""— Die Daten des Kunden korrekt in die notwendigen Systeme einzutragen
|
||
# — Fachspezialisten beizuziehen, falls dies angezeigt ist
|
||
# — Mit den zur Verfügung stehenden Systemen korrekte Lösungsvorschläge
|
||
# (z.B. Offerten oder Ausschreibungen) zu verfassen
|
||
# — Falls nötig die Lösungsvorschläge dem Underwriting weiterzuleiten und
|
||
# Unklarheiten zu bereinigen """)
|
||
#
|
||
# circle_6 = CircleFactory.create(title="Abschluss",
|
||
# parent=lp,
|
||
# topic=tp,
|
||
# goals="""— Je nach Komplexität der Lösungsvorschläge (z.B. Offerten oder Offertvergleich) einen Fachspezialisten aufzubieten
|
||
# — Sich kundenorientiert auf das Gespräch vorzubereiten und sich passend zu präsentieren""")
|
||
#
|
||
# tp = TopicFactory.create(title="Betreuen und Ausbauen des Kundenstamms", learning_path=lp)
|
||
# circle_7 = CircleFactory.create(title="Betreuen", parent=lp, topic=tp)
|
||
#
|
||
# tp = TopicFactory.create(title="Prüfung", is_visible=False, learning_path=lp)
|
||
# circle_7 = CircleFactory.create(title="Prüfungsvorbereitung", parent=lp, topic=tp)
|
||
|
||
# all pages belong to 'admin' by default
|
||
Page.objects.update(owner=user)
|
||
|
||
|
||
def delete_default_learning_path():
|
||
LearningContent.objects.all().delete()
|
||
LearningSequence.objects.all().delete()
|
||
Circle.objects.all().delete()
|
||
Topic.objects.all().delete()
|
||
LearningPath.objects.all().delete()
|