Add data for circle basis

This commit is contained in:
Daniel Egger 2023-05-26 17:57:12 +02:00
parent 45161788cc
commit 3b6971aa97
6 changed files with 389 additions and 16 deletions

View File

@ -935,6 +935,323 @@ def create_uk_kickoff_prep_assignment(course_id=COURSE_UK):
return assignment
def create_uk_basis_prep_assignment(course_id=COURSE_UK):
assignment_list_page = (
CoursePage.objects.get(course_id=course_id)
.get_children()
.exact_type(AssignmentListPage)
.first()
)
assignment = AssignmentFactory(
parent=assignment_list_page,
assignment_type=AssignmentType.PREP_ASSIGNMENT.name,
title="Circle Basis",
effort_required="ca. 1 Tag",
intro_text=replace_whitespace(
"""
<h3>Handlungskompetenzen, Arbeitssituationen & Leistungsziele</h3>
<p>
Handlungskompetenz d2: Informations- und Beratungsgespräch mit Kunden oder Lieferanten führen<br/>
Arbeitssituation 4: Kunden beraten und dazugehörige Prozesse abwickeln<br/>
<ul>
<li>d2.pv.ük1: Sie beschreiben die wichtigsten gesetzlichen Grundlagen im Versicherungsbereich umfassend (K2).</li>
</ul>
</p>
<p>
Handlungskompetenz c3: Betriebliche Prozesse dokumentieren, koordinieren und umsetzen<br/>
Arbeitssituation 5: Anträge verarbeiten, Verträge gestalten, Produkte entwickeln und pflegen<br/>
<ul>
<li>c3.pv.ük6: Sie nennen die gängigen Grundsätze bei der Gestaltung von Produkten und Dienstleistungen im Versicherungsbereich (K1)</li>
</ul>
</p>
<h3>Ausgangslage</h3>
<p>
Du bist in einer spannenden Branche gelandet. In der Welt der Versicherungen. Für das Funktionieren
einer modernen Volkswirtschaft sind Versicherungen von grosser Bedeutung. Deshalb ist es zwingend
notwendig, dass du dich mit den Grundlagen der Versicherungen auseinandersetzt.
</p>
"""
),
performance_objectives=[],
)
assignment.tasks = []
assignment.tasks.append(
(
"task",
TaskBlockFactory(
title="Teilaufgabe 1: Verschaffe dir einen ersten Überblick zum Thema.",
# it is hard to create a StreamValue programmatically, we have to
# create a `StreamValue` manually. Ask Daniel and/or Ramon
content=StreamValue(
TaskContentStreamBlock(),
stream_data=[
(
"explanation",
ExplanationBlockFactory(
text=RichText(
"""
Verschaffe dir einen ersten Überblick zu den unterschiedlichen Prozessen
eines Versicherungsunternehmens. Lese dazu im Lernmedium «Kunde und
Versicherung» den Abschnitt «Die Wertschöpfungsprozesse eines
Versicherers» (Seiten 14 bis 17)
"""
)
),
),
(
"user_confirmation",
ExplanationBlockFactory(
text=RichText("Ja, ich habe den Abschnitt gelesen.")
),
),
],
),
),
)
)
assignment.tasks.append(
(
"task",
TaskBlockFactory(
title="Teilaufgabe 2: Interview",
# it is hard to create a StreamValue programmatically, we have to
# create a `StreamValue` manually. Ask Daniel and/or Ramon
content=StreamValue(
TaskContentStreamBlock(),
stream_data=[
(
"explanation",
ExplanationBlockFactory(
text=RichText(
"""
<p>Interviewe in deinem Lehrbetrieb je eine Person aus zwei von dir gewählten
Geschäftsprozess-Bereichen (z. B. Underwriting und Schaden) und frage sie
folgendes:</p>
<ul>
<li>Welches sind die 2 grössten Herausforderungen in deinem Bereich?</li>
<li>Was macht den Job in deinem Bereich besonders spannend?</li>
</ul>
"""
)
),
),
(
"user_text_input",
UserTextInputBlockFactory(
text=RichText(
"Notiere deine Ergebnisse elektronisch oder physisch und bring alles ins Training mit."
)
),
),
],
),
),
)
)
assignment.tasks.append(
(
"task",
TaskBlockFactory(
title="Teilaufgabe 3: Überblick Kennzahlen",
# it is hard to create a StreamValue programmatically, we have to
# create a `StreamValue` manually. Ask Daniel and/or Ramon
content=StreamValue(
TaskContentStreamBlock(),
stream_data=[
(
"explanation",
ExplanationBlockFactory(
text=RichText(
replace_whitespace(
"""
<p>
Verschaffe dir einen ersten Überblick zu den unterschiedlichen Kennzahlen.
Lese dazu im Lernmedium «Kunde und Versicherung» den Abschnitt «Das
Unternehmen Versicherung in Zahlen» (Seiten 26 bis 32)
</p>
"""
)
)
),
),
(
"user_confirmation",
ExplanationBlockFactory(
text=RichText("Ja, ich habe den Abschnitt gelesen.")
),
),
],
),
),
)
)
assignment.tasks.append(
(
"task",
TaskBlockFactory(
title="Teilaufgabe 4: Kennzahlen im Detail",
# it is hard to create a StreamValue programmatically, we have to
# create a `StreamValue` manually. Ask Daniel and/or Ramon
content=StreamValue(
TaskContentStreamBlock(),
stream_data=[
(
"explanation",
ExplanationBlockFactory(
text=RichText(
replace_whitespace(
"""
<p>
Bring aus deinem Lehrbetrieb 3 Kennzahlen aus dem letzten Geschäftsjahr in Erfahrung:
</p>
<ul>
<li>Prämieneinnahmen in Franken</li>
<li>Kostenaufwand in Franken</li>
<li>Schadenaufwand / Schadenzahlungen in Franken</li>
</ul>
<p>Wenn du nicht weiterkommst, frag deine Ansprechperson im Lehrbetrieb.</p>
"""
)
)
),
),
(
"user_text_input",
UserTextInputBlockFactory(
text=RichText(
"Notiere deine Ergebnisse elektronisch oder physisch und bring alles ins Training mit."
)
),
),
],
),
),
)
)
assignment.tasks.append(
(
"task",
TaskBlockFactory(
title="Teilaufgabe 5: Rechte und Pflichten",
# it is hard to create a StreamValue programmatically, we have to
# create a `StreamValue` manually. Ask Daniel and/or Ramon
content=StreamValue(
TaskContentStreamBlock(),
stream_data=[
(
"explanation",
ExplanationBlockFactory(
text=RichText(
replace_whitespace(
"""
<p>Lese im Lehrmittel «Kunde und Versicherung» den Abschnitt «Die Rechteund Pflichten der Parteien» (Seiten 130 bis 141)</p>
"""
)
)
),
),
(
"user_confirmation",
ExplanationBlockFactory(
text=RichText("Ja, ich habe den Abschnitt gelesen.")
),
),
],
),
),
)
)
assignment.tasks.append(
(
"task",
TaskBlockFactory(
title="Teilaufgabe 6: Versicherungsvertraggesetz (VVG)",
# it is hard to create a StreamValue programmatically, we have to
# create a `StreamValue` manually. Ask Daniel and/or Ramon
content=StreamValue(
TaskContentStreamBlock(),
stream_data=[
(
"explanation",
ExplanationBlockFactory(
text=RichText(
replace_whitespace(
"""
<p>Besorge dir ein VVG (Versicherungsvertragsgesetz) auf <a href="https://www.fedlex.admin.ch/eli/cc/24/719_735_717/de">www.fedlex.admin.ch</a></p>
"""
)
)
),
),
(
"user_confirmation",
ExplanationBlockFactory(
text=RichText("Ja, ich habe das VVG besorgt.")
),
),
],
),
),
)
)
assignment.tasks.append(
(
"task",
TaskBlockFactory(
title="Teilaufgabe 7: Rechte und Pflichten im Lehrbetrieb",
# it is hard to create a StreamValue programmatically, we have to
# create a `StreamValue` manually. Ask Daniel and/or Ramon
content=StreamValue(
TaskContentStreamBlock(),
stream_data=[
(
"explanation",
ExplanationBlockFactory(
text=RichText(
replace_whitespace(
"""
<p>
Kläre im Lehrbetrieb zwei Fragen:
</p>
<ul>
<li>Wie geht dein Lehrbetrieb vor, wenn der Kunde die Prämie nicht zahlt?</li>
<li>Kostenaufwand in Franken</li>
<li>Wie geht dein Lehrbetrieb vor, wenn der Kunde ein Schadenereignis grobfahrlässig herbeigeführt hat?</li>
</ul>
"""
)
)
),
),
(
"user_text_input",
UserTextInputBlockFactory(
text=RichText(
"Notiere deine Ergebnisse elektronisch oder physisch und bring alles ins Training mit."
)
),
),
],
),
),
)
)
assignment.save()
return assignment
def create_uk_reflection(course_id=COURSE_UK, circle_title="Fahrzeug"):
assignment_list_page = (
CoursePage.objects.get(course_id=course_id)
@ -946,7 +1263,7 @@ def create_uk_reflection(course_id=COURSE_UK, circle_title="Fahrzeug"):
assignment = AssignmentFactory(
parent=assignment_list_page,
assignment_type=AssignmentType.REFLECTION.name,
title=f"{circle_title} - Reflexionsfragen",
title=f"Reflexion",
effort_required="ca. 1 Stunde",
intro_text=replace_whitespace(
"""

View File

@ -293,11 +293,15 @@ In diesem Circle erfährst du wie die überbetrieblichen Kurse aufgebaut sind. Z
parent=circle,
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Transfer", parent=circle)
LearningContentPlaceholderFactory(
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_basis(lp, title="Basis"):
@ -314,23 +318,69 @@ In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswi
)
LearningUnitFactory(title="Vorbereitung", parent=circle)
LearningContentMediaLibraryFactory(
title=f"Handlungsfeld «{title}»",
title=f"Allgemeines zu Versicherungen",
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>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/category/{slugify(title)}",
content_url=f"/course/überbetriebliche-kurse/media",
)
LearningContentPlaceholderFactory(
title="Vorbereitungsauftrag",
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="Unterlagen", parent=circle)
LearningContentPlaceholderFactory(
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="Präsenzkurs", parent=circle)
LearningContentAttendanceCourseFactory(
@ -351,11 +401,15 @@ In diesem Circle lernst du die wichtigsten Grundlagen bezüglich Versicherungswi
parent=circle,
)
LearningSequenceFactory(title="Transfer", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Transfer", parent=circle)
LearningContentPlaceholderFactory(
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"):
@ -411,11 +465,11 @@ def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
),
),
LearningContentAssignmentFactory(
title="Reflexionsfragen Fahrzeug",
title="Reflexion",
assignment_type="REFLECTION",
parent=circle,
content_assignment=Assignment.objects.get(
slug__startswith=f"{course_slug}-assignment-fahrzeug-reflexionsfragen"
slug__startswith=f"{course_slug}-assignment-reflexion"
),
),

View File

@ -7,6 +7,7 @@ from vbv_lernwelt.assignment.creators.create_assignments import (
create_uk_fahrzeug_prep_assignment,
create_uk_reflection,
create_uk_kickoff_prep_assignment,
create_uk_basis_prep_assignment,
)
from vbv_lernwelt.assignment.models import Assignment
from vbv_lernwelt.assignment.services import update_assignment_completion
@ -171,6 +172,7 @@ def create_course_uk_de():
parent=course.coursepage,
)
create_uk_kickoff_prep_assignment(course_id=COURSE_UK)
create_uk_basis_prep_assignment(course_id=COURSE_UK)
create_uk_fahrzeug_casework(course_id=COURSE_UK)
create_uk_fahrzeug_prep_assignment(course_id=COURSE_UK)
create_uk_reflection(course_id=COURSE_UK)