Add FR reflection

Add circle "Fahrzeug" FR

Add fahrzeug preparation

Add content FR

Add bewertung

Lint and add IT reflection
This commit is contained in:
Christian Cueni 2023-06-12 13:47:34 +02:00
parent 748328fddc
commit 0712b331ea
18 changed files with 1718 additions and 89 deletions

File diff suppressed because it is too large Load Diff

View File

@ -273,72 +273,13 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
items=[("item", i) for i in c["items"]], items=[("item", i) for i in c["items"]],
) )
# Circle Fahrzeug
PerformanceCriteriaFactory( PerformanceCriteriaFactory(
parent=CompetencePage.objects.get( parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4" slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
), ),
competence_id="e4.pv.ük1", competence_id="c3.pv.ük2",
title="Sie erläutern die Dienstleistungen des Betriebs. (K2)", title="Ich bin fähig die relevanten rechtlichen Grundlagen im Handlungsfeld Fahrzeug situationsgerecht zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ük3",
title="Sie stellen die Wertschöpfungskette und die verschiedenen organisatorischen Bereiche ihres Betriebs dar. (K2).",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ük4",
title="Sie erläutern die relevanten rechtlichen Grundlagen ihrer Branche situationsgerecht. (K2)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ük1",
title="Sie beschreiben die wichtigsten gesetzlichen Grundlagen im Versicherungsbereich umfassend. (K2)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ük2",
title="Sie nennen die relevanten Dienstleistungen und Produkte im Versicherungsbereich. (K1)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ük3",
title="Sie erklären die Leistungen und Produkte im Versicherungsbereich. (K2)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ük4",
title="Sie erläutern die Prozesse und Abläufe im privaten Versicherungsbereich verständlich. (K2)",
learning_unit=LearningUnit.objects.get( learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung" slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
), ),
@ -348,7 +289,7 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3" slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
), ),
competence_id="c3.pv.ük7", competence_id="c3.pv.ük7",
title="Sie erläutern die gesetzlichen Bestimmungen bei Schaden- und Leistungsfällen. (K2)", title="Ich bin fähig die gesetzlichen Bestimmungen bei Schaden- und Leistungsfällen im Handlungsfeld Fahrzeug zu erläutern.",
learning_unit=LearningUnit.objects.get( learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung" slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
), ),
@ -358,7 +299,77 @@ def create_uk_fr_competence_profile(course_id=COURSE_UK_FR):
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3" slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
), ),
competence_id="c3.pv.ük11", competence_id="c3.pv.ük11",
title="Sie beurteilen gängige Versicherungslösungen fachkundig. (K3)", title="Ich bin fähig die gängigen Versicherungslösungen im Handlungsbereich Fahrzeug fachkundig zu beurteilen.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ük1",
title="Ich bin fähig die wichtigsten gesetzlichen Grundlagen im Bereich Motorfahrzeugversicherung umfassend zu beschreiben.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ük2",
title="Ich bin fähig die relevanten Dienstleistungen und Produkte im Handlungsfeld Fahrzeug zu nennen.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ci3",
title="Ils expliquent les services et les produits dans le domaine de lassurance. (C2)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ci4",
title="Ils expliquent les processus et procédures dans le domaine de lassurance privée. (C2)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ci1",
title="Ils expliquent les services proposés par lentreprise. (C2)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ci2",
title="Ils distinguent les concurrents sur le marché de lassurance privée les uns des autres en utilisant les critères appropriés. (C2)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ci4",
title="Ils expliquent les principes sur lesquels reposent les produits des assurances privées. (C2)",
learning_unit=LearningUnit.objects.get( learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung" slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
), ),

View File

@ -4,7 +4,7 @@ from vbv_lernwelt.competence.factories import (
PerformanceCriteriaFactory, PerformanceCriteriaFactory,
) )
from vbv_lernwelt.competence.models import CompetencePage from vbv_lernwelt.competence.models import CompetencePage
from vbv_lernwelt.course.consts import COURSE_UK, COURSE_UK_FR from vbv_lernwelt.course.consts import COURSE_UK
from vbv_lernwelt.course.models import CoursePage from vbv_lernwelt.course.models import CoursePage
from vbv_lernwelt.learnpath.models import LearningPath, LearningUnit from vbv_lernwelt.learnpath.models import LearningPath, LearningUnit
@ -160,3 +160,156 @@ def create_uk_training_competence_profile(course_id=COURSE_UK):
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung" slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
), ),
) )
def create_uk_fr_training_competence_profile(course_id=COURSE_UK):
course_page = CoursePage.objects.get(course_id=course_id)
slug_prefix = course_page.get_children().exact_type(LearningPath).first().slug
competence_profile_page = CompetenceProfilePageFactory(
title="KompetenzNavi",
parent=course_page,
)
competences = [
{
"competence_id": "c3",
"title": "Betriebliche Prozesse dokumentieren, koordinieren und umsetzen",
"items": [],
},
{
"competence_id": "e2",
"title": "Informationen im wirtschaftlichen und kaufmännischen Bereich recherchieren",
"items": [],
},
{
"competence_id": "e4",
"title": "Betriebsbezogene Inhalte multimedial aufbereiten",
"items": [],
},
{
"competence_id": "d2",
"title": "Informations- und Beratungsgespräche mit Kunden oder Lieferanten führen",
"items": [],
},
{
"competence_id": "d3",
"title": "Betriebliche Prozesse dokumentieren, koordinieren und umsetzen",
"items": [],
},
{
"competence_id": "d1",
"title": "Anliegen von Kunden oder Lieferanten entgegennehmen",
"items": [],
},
]
for c in competences:
print(c["title"])
CompetencePageFactory(
parent=competence_profile_page,
competence_id=c["competence_id"],
title=c["title"],
items=[("item", i) for i in c["items"]],
)
# Circle Fahrzeug
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
),
competence_id="c3.pv.ci2",
title="Ich bin fähig die relevanten rechtlichen Grundlagen im Handlungsfeld Fahrzeug situationsgerecht zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
),
competence_id="c3.pv.ci7",
title="Ich bin fähig die gesetzlichen Bestimmungen bei Schaden- und Leistungsfällen im Handlungsfeld Fahrzeug zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
),
competence_id="c3.pv.ci11",
title="Ich bin fähig die gängigen Versicherungslösungen im Handlungsbereich Fahrzeug fachkundig zu beurteilen.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ci1",
title="Ich bin fähig die wichtigsten gesetzlichen Grundlagen im Bereich Motorfahrzeugversicherung umfassend zu beschreiben.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ci2",
title="Ich bin fähig die relevanten Dienstleistungen und Produkte im Handlungsfeld Fahrzeug zu nennen.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ci3",
title="Ils expliquent les services et les produits dans le domaine de lassurance. (C2)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ci4",
title="Ich bin fähig die Prozesse und Abläufe im Handlungsfeld Fahrzeug zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ci1",
title="Ich bin fähig die Dienstleistungen des eigenen Betriebs im Handlungsfeld Fahrzeug zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ci2",
title="Ils distinguent les concurrents sur le marché de lassurance privée les uns des autres en utilisant les critères appropriés. (C2)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ci4",
title="Ils expliquent les principes sur lesquels reposent les produits des assurances privées. (C2)",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-véhicule-lu-vorbereitung"
),
)

View File

@ -4,3 +4,4 @@ COURSE_UK = -3
COURSE_VERSICHERUNGSVERMITTLERIN_ID = -4 COURSE_VERSICHERUNGSVERMITTLERIN_ID = -4
COURSE_UK_FR = -5 COURSE_UK_FR = -5
COURSE_UK_TRAINING = -6 COURSE_UK_TRAINING = -6
COURSE_UK_TRAINING_FR = -7

View File

@ -106,9 +106,9 @@ def create_uk_fr_learning_path(course_id=COURSE_UK_FR, user=None, skip_locales=T
) )
TopicFactory(title="1ère année", is_visible=True, parent=lp) TopicFactory(title="1ère année", is_visible=True, parent=lp)
create_uk_circle(lp, title="Coup d'envoi") create_uk_fr_circle_kickoff(lp, title="Coup d'envoi")
create_uk_circle(lp, title="Base") create_uk_fr_circle_basis(lp, title="Base")
create_uk_circle(lp, title="Véhicule") create_uk_fr_circle_fahrzeug(lp, title="Véhicule")
create_uk_circle(lp, title="Budget Partie 1") create_uk_circle(lp, title="Budget Partie 1")
create_uk_circle(lp, title="Budget Partie 2") create_uk_circle(lp, title="Budget Partie 2")
@ -304,6 +304,94 @@ In diesem Circle erfährst du wie die überbetrieblichen Kurse aufgebaut sind. Z
), ),
def create_uk_fr_circle_kickoff(lp, title="Coup d'envoi"):
circle = CircleFactory(
title=title,
parent=lp,
description="""
In diesem Circle erfährst du wie die überbetrieblichen Kurse aufgebaut sind. Zudem lernst du die wichtigsten Grundlagen, damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst.
""".strip(),
goals=UK_CIRCLE_GOALS["kickoff"],
)
LearningSequenceFactory(
title="Vorbereitung", parent=circle, icon="it-icon-ls-start"
)
LearningUnitFactory(title="Vorbereitung", title_hidden=True, parent=circle)
LearningContentMediaLibraryFactory(
title=f"Allgemeines zu Versicherungen",
parent=circle,
description=RichText(
f"<p>In der Mediathek unter «Allgemeines zu Versicherungen» findest du alle relevanten Ressourcen für deine Fachkompetenzen.</p>"
f"<p>Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.</p>"
),
content_url=f"/course/überbetriebliche-kurse/media",
)
LearningContentAssignmentFactory(
title="Versicherungswirtschaft",
assignment_type="PREP_ASSIGNMENT",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"überbetriebliche-kurse-assignment-kickoff-versicherungswirtschaft"
),
),
LearningSequenceFactory(title="Training", parent=circle)
LearningUnitFactory(title="Präsenzkurs", title_hidden=True, parent=circle)
LearningContentAttendanceCourseFactory(
title="Präsenzkurs Kickoff",
parent=circle,
)
LearningContentDocumentListFactory(
title="Unterlagen für den Unterricht",
parent=circle,
documents=[
(
"document",
LearnMediaBlockFactory(
title="Präsentation 1a",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/de_üK1_KO_03b_A_Einteilungen.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Präsentation 1b",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/de_üK1_KO_03b_A_Einteilungen.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Arbeitsblatt Einteilung der Versicherungen",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/de_üK1_KO_03b_A_Einteilungen.pdf",
),
),
],
)
LearningUnitFactory(title="Feedback", title_hidden=True, parent=circle)
LearningContentFeedbackFactory(
parent=circle,
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Reflexion", title_hidden=True, parent=circle)
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"überbetriebliche-kurse-assignment-reflexion"
),
),
def create_uk_circle_basis(lp, title="Basis"): def create_uk_circle_basis(lp, title="Basis"):
circle = CircleFactory( circle = CircleFactory(
title=title, title=title,
@ -412,6 +500,114 @@ In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswi
), ),
def create_uk_fr_circle_basis(lp, title="Base"):
circle = CircleFactory(
title=title,
parent=lp,
description="""
In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswirtschaft und Versicherungsrecht.
""".strip(),
goals=UK_CIRCLE_GOALS["basis"],
)
LearningSequenceFactory(
title="Vorbereitung", parent=circle, icon="it-icon-ls-start"
)
LearningUnitFactory(title="Vorbereitung", title_hidden=True, parent=circle)
LearningContentMediaLibraryFactory(
title=f"Allgemeines zu Versicherungen",
parent=circle,
description=RichText(
f"<p>In der Mediathek unter «Allgemeines zu Versicherungen» findest du alle relevanten Ressourcen für deine Fachkompetenzen.</p>"
f"<p>Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.</p>"
),
content_url=f"/course/überbetriebliche-kurse/media",
)
LearningContentAssignmentFactory(
title="Vorbereitungsauftrag Circle Basis",
assignment_type="PREP_ASSIGNMENT",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"überbetriebliche-kurse-assignment-circle-basis"
),
),
LearningSequenceFactory(title="Training", parent=circle)
LearningUnitFactory(title="Präsenzkurs", title_hidden=True, parent=circle)
LearningContentAttendanceCourseFactory(
title="Präsenzkurs Basis",
parent=circle,
)
LearningContentDocumentListFactory(
title="Unterlagen für den Unterricht",
parent=circle,
documents=[
(
"document",
LearnMediaBlockFactory(
title="Präsentation",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/de_üK1_BA_04_A_Risikomanagement.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Risikomanagement",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/de_üK1_BA_04_A_Risikomanagement.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Quizzes",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/de_üK1_BA_05_QR_Quizzes.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Versicherungsrecht",
description="Antragsannahme, Bindefrist und Widerrufsrecht Kleine Fallstudie",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/de_üK1_BA_06_A_Versicherungsrecht.pdf",
),
),
],
)
LearningUnitFactory(title="Kompetenznachweis", title_hidden=True, parent=circle)
LearningContentTestFactory(
title="Wissens- und Verständnisfragen",
parent=circle,
description=RichText(
"<p>Folgender Test mit Wissens- und Verständnisfragen ist Teil des Kompetenznachweises. Der Test kann nur einmal durchgeführt werden und ist notenrelevant.</p>"
),
checkbox_text="Hiermit bestätige ich, dass ich die Anweisungen verstanden habe und den Test durchführen möchte.",
content_url="https://exam.vbv-afa.ch/",
)
LearningUnitFactory(title="Feedback", title_hidden=True, parent=circle)
LearningContentFeedbackFactory(
parent=circle,
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Reflexion", parent=circle)
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"überbetriebliche-kurse-assignment-reflexion"
),
),
def create_uk_circle_fahrzeug(lp, title="Fahrzeug"): def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
circle = CircleFactory( circle = CircleFactory(
title=title, title=title,
@ -548,6 +744,142 @@ def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
), ),
def create_uk_fr_circle_fahrzeug(lp, title="Véhicule"):
circle = CircleFactory(
title=title,
parent=lp,
description="In diesem Circle lernst du alles rund um das Fahrzeug und die dazugehörigen Versicherungen.",
goals=UK_CIRCLE_GOALS["fahrzeug"],
)
course_slug = lp.slug.replace("-lp", "")
LearningSequenceFactory(
title="Vorbereitung", parent=circle, icon="it-icon-ls-start"
)
LearningUnitFactory(title="Vorbereitung", title_hidden=True, parent=circle)
LearningContentMediaLibraryFactory(
title=f"Handlungsfeld «{title}»",
parent=circle,
description=RichText(
f"<p>In der Mediathek unter dem Handlungsfeld «{title}» findest du alle relevanten Ressourcen für deine Fachkompetenzen.</p>"
f"<p>Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.</p>"
),
content_url=f"/course/{course_slug}/media/category/{slugify(title)}",
)
LearningContentAssignmentFactory(
title="Véhicule à moteur Ma première voiture",
assignment_type="PREP_ASSIGNMENT",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{course_slug}-assignment-véhicule-à-moteur-ma-première-voiture"
),
),
LearningSequenceFactory(title="Training", parent=circle)
LearningUnitFactory(title="Präsenzkurs", title_hidden=True, parent=circle)
LearningContentAttendanceCourseFactory(
title="Präsenzkurs Fahrzeug",
parent=circle,
)
LearningContentDocumentListFactory(
title="Unterlagen für den Unterricht",
parent=circle,
documents=[
(
"document",
LearnMediaBlockFactory(
title="Präsentation",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/fr_üK1_FZ_00_Prгentation.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Begriffe",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/fr_üK1_FZ_02_Begriffe.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Checkliste",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/fr_üK1_FZ_04_Checkliste.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Arbeitsblatt Schadenfälle",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/fr_üK1_FZ_05_A_Schaden.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Überblick Kasko",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/fr_üK1_FZ_07_Kasko.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Offerte und anschliessendes Verkaufsgespräch",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/fr_üK1_FZ_08_A_Offerte und Verkaufsgespräch.pdf",
),
),
(
"document",
LearnMediaBlockFactory(
title="Arbeitsblatt Schadenfälle Reserve",
description="",
icon_url="/static/icons/demo/icon-hf-book.png",
link_display_text="Dokument anzeigen",
url="/static/media/uk/fr_üK1_FZ_A_Reserve_Schaden.pdf",
),
),
],
)
LearningUnitFactory(title="Feedback", title_hidden=True, parent=circle)
LearningContentFeedbackFactory(
parent=circle,
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Kompetenznachweis", title_hidden=True, parent=circle)
LearningContentAssignmentFactory(
title="Vérification d'une police dassurance de véhicule à moteur",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{course_slug}-assignment-vérification-d-une-police-d-assurance-de-véhicule-à-moteur"
),
),
LearningUnitFactory(title="Reflexion", title_hidden=True, parent=circle)
LearningContentAssignmentFactory(
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{course_slug}-assignment-reflexion"
),
),
UK_CIRCLE_GOALS = { UK_CIRCLE_GOALS = {
"kickoff": """ "kickoff": """
<p class="mt-4">Hey, willkommen im ersten überbetrieblichen Kurs! Du bist in einer spannenden Branche gelandet. Wir wissen, dass es am Anfang oft eine Herausforderung sein kann, sich in einem neuen Umfeld zurechtzufinden und die vielen neuen Eindrücke zu verarbeiten. Aber keine Sorge, wir sind hier, um dir dabei zu helfen. In deiner Ausbildung wirst du viele neue Fähigkeiten erlernen und dein Wissen vertiefen. In diesem Circle helfen wir dir dabei, den Überblick zu gewinnen und dich mit den neuen Arbeitsabläufen und myVBV vertraut zu machen. Lass uns gemeinsam diese neue Herausforderung meistern und das Beste aus deiner Ausbildung herausholen! </p> <p class="mt-4">Hey, willkommen im ersten überbetrieblichen Kurs! Du bist in einer spannenden Branche gelandet. Wir wissen, dass es am Anfang oft eine Herausforderung sein kann, sich in einem neuen Umfeld zurechtzufinden und die vielen neuen Eindrücke zu verarbeiten. Aber keine Sorge, wir sind hier, um dir dabei zu helfen. In deiner Ausbildung wirst du viele neue Fähigkeiten erlernen und dein Wissen vertiefen. In diesem Circle helfen wir dir dabei, den Überblick zu gewinnen und dich mit den neuen Arbeitsabläufen und myVBV vertraut zu machen. Lass uns gemeinsam diese neue Herausforderung meistern und das Beste aus deiner Ausbildung herausholen! </p>

View File

@ -5,8 +5,11 @@ from wagtail.models import Locale, Page, Site
from wagtail_localize.models import LocaleSynchronization from wagtail_localize.models import LocaleSynchronization
from vbv_lernwelt.core.admin import User from vbv_lernwelt.core.admin import User
from vbv_lernwelt.course.consts import COURSE_UK from vbv_lernwelt.course.consts import COURSE_UK_TRAINING, COURSE_UK_TRAINING_FR
from vbv_lernwelt.course.creators.uk_course import create_uk_circle_fahrzeug from vbv_lernwelt.course.creators.uk_course import (
create_uk_circle_fahrzeug,
create_uk_fr_circle_fahrzeug,
)
from vbv_lernwelt.course.models import CoursePage from vbv_lernwelt.course.models import CoursePage
from vbv_lernwelt.learnpath.tests.learning_path_factories import ( from vbv_lernwelt.learnpath.tests.learning_path_factories import (
LearningPathFactory, LearningPathFactory,
@ -14,7 +17,9 @@ from vbv_lernwelt.learnpath.tests.learning_path_factories import (
) )
def create_uk_training_learning_path(course_id=COURSE_UK, user=None, skip_locales=True): def create_uk_training_learning_path(
course_id=COURSE_UK_TRAINING, user=None, skip_locales=True
):
if user is None: if user is None:
user = User.objects.get(username="info@iterativ.ch") user = User.objects.get(username="info@iterativ.ch")
@ -33,8 +38,12 @@ def create_uk_training_learning_path(course_id=COURSE_UK, user=None, skip_locale
parent=course_page, parent=course_page,
) )
TopicFactory(title="Training", is_visible=True, parent=lp) if course_id == COURSE_UK_TRAINING:
create_uk_circle_fahrzeug(lp) TopicFactory(title="Training", is_visible=True, parent=lp)
create_uk_circle_fahrzeug(lp)
elif course_id == COURSE_UK_TRAINING_FR:
TopicFactory(title="Training", is_visible=True, parent=lp)
create_uk_fr_circle_fahrzeug(lp)
# locales # locales
if not skip_locales: if not skip_locales:

View File

@ -7,6 +7,9 @@ from vbv_lernwelt.assignment.creators.create_assignments import (
create_uk_basis_prep_assignment, create_uk_basis_prep_assignment,
create_uk_fahrzeug_casework, create_uk_fahrzeug_casework,
create_uk_fahrzeug_prep_assignment, create_uk_fahrzeug_prep_assignment,
create_uk_fr_fahrzeug_casework,
create_uk_fr_fahrzeug_prep_assignment,
create_uk_fr_reflection,
create_uk_kickoff_prep_assignment, create_uk_kickoff_prep_assignment,
create_uk_reflection, create_uk_reflection,
create_vv_einkommenssicherung_casework, create_vv_einkommenssicherung_casework,
@ -22,6 +25,7 @@ from vbv_lernwelt.competence.create_uk_competence_profile import (
create_uk_fr_competence_profile, create_uk_fr_competence_profile,
) )
from vbv_lernwelt.competence.create_uk_training_competence_profile import ( from vbv_lernwelt.competence.create_uk_training_competence_profile import (
create_uk_fr_training_competence_profile,
create_uk_training_competence_profile, create_uk_training_competence_profile,
) )
from vbv_lernwelt.competence.create_vv_new_competence_profile import ( from vbv_lernwelt.competence.create_vv_new_competence_profile import (
@ -35,6 +39,7 @@ from vbv_lernwelt.course.consts import (
COURSE_UK, COURSE_UK,
COURSE_UK_FR, COURSE_UK_FR,
COURSE_UK_TRAINING, COURSE_UK_TRAINING,
COURSE_UK_TRAINING_FR,
COURSE_VERSICHERUNGSVERMITTLERIN_ID, COURSE_VERSICHERUNGSVERMITTLERIN_ID,
) )
from vbv_lernwelt.course.creators.test_course import create_test_course from vbv_lernwelt.course.creators.test_course import create_test_course
@ -88,6 +93,7 @@ ADMIN_EMAILS = ["info@iterativ.ch", "admin"]
COURSE_VERSICHERUNGSVERMITTLERIN_ID, COURSE_VERSICHERUNGSVERMITTLERIN_ID,
COURSE_UK_FR, COURSE_UK_FR,
COURSE_UK_TRAINING, COURSE_UK_TRAINING,
COURSE_UK_TRAINING_FR,
], ],
) )
def command(course): def command(course):
@ -118,6 +124,9 @@ def command(course):
if COURSE_UK_TRAINING in course: if COURSE_UK_TRAINING in course:
create_course_training_de() create_course_training_de()
if COURSE_UK_TRAINING_FR in course:
create_course_training_fr()
def create_versicherungsvermittlerin_course(): def create_versicherungsvermittlerin_course():
# Versicherungsvermittler/in mit neuen Circles # Versicherungsvermittler/in mit neuen Circles
@ -339,9 +348,17 @@ def create_course_uk_de():
def create_course_uk_fr(): def create_course_uk_fr():
# Überbetriebliche Kurse FR # Überbetriebliche Kurse FR
create_versicherungsvermittlerin_with_categories( course = create_versicherungsvermittlerin_with_categories(
course_id=COURSE_UK_FR, title="Course hors établissement" course_id=COURSE_UK_FR, title="Course hors établissement"
) )
# assignments create assignments parent page
_assignment_list_page = AssignmentListPageFactory(
parent=course.coursepage,
)
create_uk_fr_fahrzeug_casework(course_id=COURSE_UK_FR)
create_uk_fr_fahrzeug_prep_assignment(course_id=COURSE_UK_FR)
create_uk_fr_reflection(course_id=COURSE_UK_FR)
create_uk_fr_learning_path(course_id=COURSE_UK_FR) create_uk_fr_learning_path(course_id=COURSE_UK_FR)
create_uk_fr_competence_profile(course_id=COURSE_UK_FR) create_uk_fr_competence_profile(course_id=COURSE_UK_FR)
create_default_media_library(course_id=COURSE_UK_FR) create_default_media_library(course_id=COURSE_UK_FR)
@ -469,18 +486,18 @@ def create_course_training_de():
current_dir = os.path.dirname(os.path.realpath(__file__)) current_dir = os.path.dirname(os.path.realpath(__file__))
print(current_dir) print(current_dir)
course = Course.objects.get(id=COURSE_UK_TRAINING) course = Course.objects.get(id=COURSE_UK_TRAINING)
import_course_sessions_from_excel( # import_course_sessions_from_excel(
course, # course,
f"{current_dir}/../../../importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx", # f"{current_dir}/../../../importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx",
) # )
import_trainers_from_excel( # import_trainers_from_excel(
course, # course,
f"{current_dir}/../../../importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx", # f"{current_dir}/../../../importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx",
) # )
import_students_from_excel( # import_students_from_excel(
course, # course,
f"{current_dir}/../../../importer/tests/Schulungen_Teilnehmende.xlsx", # f"{current_dir}/../../../importer/tests/Schulungen_Teilnehmende.xlsx",
) # )
for cs in CourseSession.objects.filter(course_id=COURSE_UK_TRAINING): for cs in CourseSession.objects.filter(course_id=COURSE_UK_TRAINING):
cs.assignment_details_list = [ cs.assignment_details_list = [
@ -529,3 +546,89 @@ def create_course_training_de():
) )
csu.save() csu.save()
def create_course_training_fr():
# Test Lehrgang für üK Trainer FR
course = create_versicherungsvermittlerin_with_categories(
course_id=COURSE_UK_TRAINING_FR, title="myVBV Training (FR)"
)
# assignments create assignments parent page
_assignment_list_page = AssignmentListPageFactory(
parent=course.coursepage,
)
create_uk_fr_fahrzeug_casework(course_id=COURSE_UK_TRAINING_FR)
create_uk_fr_fahrzeug_prep_assignment(course_id=COURSE_UK_TRAINING_FR)
create_uk_fr_reflection(course_id=COURSE_UK_TRAINING_FR)
create_uk_training_learning_path(course_id=COURSE_UK_TRAINING_FR)
create_uk_fr_training_competence_profile(course_id=COURSE_UK_TRAINING_FR)
create_default_media_library(course_id=COURSE_UK_TRAINING_FR)
current_dir = os.path.dirname(os.path.realpath(__file__))
print(current_dir)
course = Course.objects.get(id=COURSE_UK_TRAINING_FR)
import_course_sessions_from_excel(
course,
f"{current_dir}/../../../importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx",
)
import_trainers_from_excel(
course,
f"{current_dir}/../../../importer/tests/Schulungen_Durchfuehrung_Trainer.xlsx",
)
import_students_from_excel(
course,
f"{current_dir}/../../../importer/tests/Schulungen_Teilnehmende.xlsx",
)
for cs in CourseSession.objects.filter(course_id=COURSE_UK_TRAINING_FR):
cs.assignment_details_list = [
{
"learningContentId": LearningContentAssignment.objects.get(
slug=f"{course.slug}-lp-circle-véhicule-lc-vérification-dune-police-dassurance-de-véhicule-à-moteur"
).id,
"submissionDeadlineDateTimeUtc": "2023-06-13T19:00:00Z",
"evaluationDeadlineDateTimeUtc": "2023-06-27T19:00:00Z",
},
{
"learningContentId": LearningContentAssignment.objects.get(
slug=f"{course.slug}-lp-circle-véhicule-lc-véhicule-à-moteur-ma-première-voiture"
).id,
"submissionDeadlineDateTimeUtc": "2023-06-13T19:00:00Z",
"evaluationDeadlineDateTimeUtc": "2023-06-27T19:00:00Z",
},
]
cs.save()
# attach users as trainers to ÜK course
course_uk = Course.objects.filter(id=COURSE_UK_FR).first()
if course_uk:
users = [
csu.user
for csu in CourseSessionUser.objects.filter(
course_session__course_id=COURSE_UK_TRAINING_FR
)
]
cs = CourseSession.objects.get(
course_id=COURSE_UK_FR,
title="Cours hors établissement année 1 - Région Fribourg",
)
for user in users:
csu, _created = CourseSessionUser.objects.get_or_create(
course_session_id=cs.id, user_id=user.id
)
csu.role = CourseSessionUser.Role.EXPERT
csu.expert.add(
Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-kickoff")
)
csu.expert.add(
Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-basis")
)
csu.expert.add(
Circle.objects.get(slug="überbetriebliche-kurse-lp-circle-fahrzeug")
)
csu.save()