1408 lines
57 KiB
Python
1408 lines
57 KiB
Python
from vbv_lernwelt.assignment.models import (
|
||
AssignmentListPage,
|
||
AssignmentType,
|
||
EvaluationSubTaskBlock,
|
||
TaskContentStreamBlock,
|
||
)
|
||
from vbv_lernwelt.assignment.tests.assignment_factories import (
|
||
AssignmentFactory,
|
||
EvaluationSubTaskBlockFactory,
|
||
EvaluationTaskBlockFactory,
|
||
ExplanationBlockFactory,
|
||
PerformanceObjectiveBlockFactory,
|
||
TaskBlockFactory,
|
||
UserTextInputBlockFactory,
|
||
)
|
||
from vbv_lernwelt.core.utils import replace_whitespace
|
||
from vbv_lernwelt.course.consts import COURSE_UK
|
||
from vbv_lernwelt.course.models import CoursePage
|
||
from wagtail.blocks import StreamValue
|
||
from wagtail.blocks.list_block import ListBlock, ListValue
|
||
from wagtail.rich_text import RichText
|
||
|
||
|
||
def create_uk_fahrzeug_casework(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,
|
||
title="Überprüfen einer Motorfahrzeugs-Versicherungspolice",
|
||
effort_required="ca. 5 Stunden",
|
||
intro_text=replace_whitespace(
|
||
"""
|
||
<h3>Ausgangslage</h3>
|
||
<p>
|
||
Jemand aus deiner Familie oder aus deinem Freundeskreis möchte sein
|
||
Versicherungspolice überprüfen lassen. Diese Person kommt nun mit ihrer Police auf dich zu
|
||
und bittet dich als Versicherungsprofi, diese kritisch zu überprüfen und ihr ggf. Anpassungsvorschläge
|
||
zu unterbreiten. In diesem Kompetenznachweis kannst du nun dein Wissen und Können im Bereich
|
||
der Motorfahrzeugversicherung unter Beweis stellen.
|
||
</p>
|
||
"""
|
||
),
|
||
performance_objectives=[
|
||
(
|
||
"performance_objective",
|
||
PerformanceObjectiveBlockFactory(
|
||
text="Sie erläutern die Leistungen und Produkte im Versicherungsbereich."
|
||
),
|
||
),
|
||
(
|
||
"performance_objective",
|
||
PerformanceObjectiveBlockFactory(
|
||
text="Sie beurteilen gängige Versicherungslösungen fachkundig."
|
||
),
|
||
),
|
||
],
|
||
evaluation_document_url="/static/media/assignments/UK_03_09_NACH_KN_Beurteilungsraster.pdf",
|
||
evaluation_description="Diese geleitete Fallarbeit wird auf Grund des folgenden Beurteilungsintrument bewertet.",
|
||
)
|
||
|
||
assignment.evaluation_tasks = []
|
||
assignment.evaluation_tasks.append(
|
||
(
|
||
"task",
|
||
EvaluationTaskBlockFactory(
|
||
title="Ausgangslage des Auftrags",
|
||
description=RichText(
|
||
"Beschreibt der/die Lernende die Ausgangslage des Auftrags vollständig?"
|
||
),
|
||
max_points=6,
|
||
sub_tasks=ListValue(
|
||
ListBlock(EvaluationSubTaskBlock()),
|
||
values=[
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Ausgangslage des Auftrag ist vollständig beschrieben.",
|
||
description=RichText(
|
||
replace_whitespace(
|
||
"""
|
||
<ul>
|
||
<li>Worum geht es? Was ist die Aufgabe?</li>
|
||
<li>Sind das Kundenprofil und die Kundenbeziehung vollständig und nachvollziehbar dargestellt?</li>
|
||
<li>Ist das Alter des Fahrzeugs dokumentiert?</li>
|
||
<li>Welche Ressourcen stehen zur Verfügung?</li>
|
||
</ul>
|
||
"""
|
||
)
|
||
),
|
||
points=6,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Ausgangslage ist grösstenteils vollständig beschrieben.",
|
||
points=4,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Ausgangslage ist unvollständig - nur 2 Punkte wurden beschrieben.",
|
||
points=2,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Ausgangslage des Auftrag ist unvollständig - es fehlen mehr als 2 Punkte in der Beschreibung.",
|
||
points=0,
|
||
),
|
||
],
|
||
),
|
||
),
|
||
),
|
||
)
|
||
assignment.evaluation_tasks.append(
|
||
(
|
||
"task",
|
||
EvaluationTaskBlockFactory(
|
||
title="Inhaltsanalyse und Struktur",
|
||
max_points=6,
|
||
description=RichText(
|
||
"Sind die Deckungen der Police vollständig und nachvollziehbar dokumentiert?"
|
||
),
|
||
sub_tasks=ListValue(
|
||
ListBlock(EvaluationSubTaskBlock()),
|
||
values=[
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Analyse beinhaltet alle in der Police vorhandenen Deckungen und ist logisch aufgebaut.",
|
||
points=6,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Analyse beinhaltet die meisten vorhandenen Deckungen in der Police und ist grösstenteils logisch aufgebaut.",
|
||
points=4,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Analyse ist unvollständig (es fehlen mehr als 3 Deckungen) und der rote Faden ist nicht erkennbar.",
|
||
points=2,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Analyse ist insgesamt nicht nachvollziehbar und es fehlen einige Deckungen.",
|
||
points=0,
|
||
),
|
||
],
|
||
),
|
||
),
|
||
),
|
||
)
|
||
assignment.evaluation_tasks.append(
|
||
(
|
||
"task",
|
||
EvaluationTaskBlockFactory(
|
||
title="Sinnvolle Empfehlungen",
|
||
max_points=6,
|
||
description=RichText(
|
||
"Leitet die lernende Person sinnvolle und geeignete Empfehlungen ab?"
|
||
),
|
||
sub_tasks=ListValue(
|
||
ListBlock(EvaluationSubTaskBlock()),
|
||
values=[
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Empfehlungen sind durchgängig sinnvoll und nachvollziehbar begründet.",
|
||
points=6,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Empfehlungen sind grösstenteils sinnvoll und nachvollziehbar begründet.",
|
||
points=4,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Empfehlungen sind wenig sinnvoll und unvollständig begründet.",
|
||
points=2,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Empfehlungen sind weder sinnvoll nch nachvollziehbar begründet.",
|
||
points=0,
|
||
),
|
||
],
|
||
),
|
||
),
|
||
),
|
||
)
|
||
assignment.evaluation_tasks.append(
|
||
(
|
||
"task",
|
||
EvaluationTaskBlockFactory(
|
||
title="Qualität der Reflexion",
|
||
max_points=3,
|
||
description=RichText(
|
||
"Reflektiert die lernende Person die Durchführung der geleiteten Fallarbeit?"
|
||
),
|
||
sub_tasks=ListValue(
|
||
ListBlock(EvaluationSubTaskBlock()),
|
||
values=[
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Reflexion bezieht sich auf die geleitete Fallarbeit und umfasst nachvollziehbare positive wie negative Aspekte.",
|
||
points=3,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Reflexion bezieht sich auf die geleitete Fallarbeit und umfasst grösstenteils nachvollziehbare positive wie negative Aspekte.",
|
||
points=2,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Reflexion ist unvollständig.",
|
||
points=1,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Reflexion bezieht sich nicht auf die geleitete Fallarbeit.",
|
||
points=0,
|
||
),
|
||
],
|
||
),
|
||
),
|
||
),
|
||
)
|
||
assignment.evaluation_tasks.append(
|
||
(
|
||
"task",
|
||
EvaluationTaskBlockFactory(
|
||
title="Eignung der Learnings",
|
||
max_points=3,
|
||
description=RichText(
|
||
"Leitet die lernende Person geeignete Learnings aus der Reflexion ab?"
|
||
),
|
||
sub_tasks=ListValue(
|
||
ListBlock(EvaluationSubTaskBlock()),
|
||
values=[
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Learnings beziehen sich auf die geleitete Fallarbeit und sind inhaltlich sinnvoll.",
|
||
points=3,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Learnings beziehen sich grösstenteils auf die geleitete Fallarbeit und sind inhaltlich sinnvoll.",
|
||
points=2,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Learnings beziehen sich teilweise auf die geleitete Fallarbeit und sind inhaltlich wenig sinnvoll.",
|
||
points=1,
|
||
),
|
||
EvaluationSubTaskBlockFactory(
|
||
title="Die Learnings beziehen sich nicht auf die geleitete Fallarbeit.",
|
||
points=0,
|
||
),
|
||
],
|
||
),
|
||
),
|
||
),
|
||
)
|
||
|
||
assignment.tasks = []
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 1: Beispiel einer Versicherungspolice finden",
|
||
# 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(
|
||
"Bitte jemand aus deiner Familie oder deinem Freundeskreis darum, dir seine/ihre Motorfahrzeugversicherungspolice zur Verfügung zu stellen."
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_confirmation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Ja, ich habe Motorfahrzeugversicherungspolice von jemandem aus meiner Familie oder meinem Freundeskreis erhalten."
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 2: Kundensituation und Ausgangslage",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"explanation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
replace_whitespace(
|
||
"""
|
||
Erläutere die Kundensituation und die Ausgangslage.
|
||
<ul>
|
||
<li>Hast du alle Informationen, die du für den Policen-Check benötigst?</li>
|
||
<li>Halte die wichtigsten Eckwerte des aktuellen Versicherungsverhältnisse in deiner Dokumentation fest (z.B wie lang wo versichert, Alter des Fahrzeugs, Kundenprofil, etc.</li>
|
||
</ul>
|
||
"""
|
||
)
|
||
)
|
||
),
|
||
),
|
||
("user_text_input", UserTextInputBlockFactory()),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 3: Aktuelle Versicherung",
|
||
# TODO: add document upload
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"explanation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Zeige nun detailliert auf, wie dein Kundenbeispiel momentan versichert ist."
|
||
)
|
||
),
|
||
),
|
||
("user_text_input", UserTextInputBlockFactory()),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 4: Deine Empfehlungen",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"explanation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Erarbeite nun basierend auf deinen Erkenntnissen eine Empfehlung für die Person."
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Gibt es zusätzliche Deckungen, die du der Person empfehlen würdest? Begründe deine Empfehlung"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Gibt es Deckungen, die du streichen würdest? Begründe deine Empfehlung."
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Wenn die Person gemäss deiner Einschätzung genau richtig versichert ist, argumentiere, warum dies der Fall ist."
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 5: Reflexion",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"explanation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Reflektiere dein Handeln und halte deine Erkenntnisse fest. Frage dich dabei:"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"War die Bearbeitung dieser geleiteten Fallarbeit erfolgreich? Begründe deine Einschätzung."
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Was ist dir bei der Bearbeitung des Auftrags gut gelungen?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Was ist dir bei der Bearbeitung des Auftrags weniger gut gelungen?"
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 6: Learnings",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"explanation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Leite aus der Teilaufgabe 5 deine persönlichen Learnings ab."
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Was würdest du beim nächsten Mal anders machen?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Was hast du beim Bearbeiten des Auftrags Neues gelernt?"
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.save()
|
||
|
||
return assignment
|
||
|
||
|
||
def create_uk_fahrzeug_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="Fahrzeug - Mein erstes Auto",
|
||
effort_required="ca. 3 Stunden",
|
||
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.ük3: Sie erläutern die Leistungen und Produkte im Versicherungsbereich. (K2)</li>
|
||
<li>d2pv.ük4: Sie erläutern die Prozesse und Abläufe im privaten Versicherungsbereich. (K2)</li>
|
||
</ul>
|
||
</p>
|
||
|
||
<p>
|
||
Handlungskompetenz e4: Betriebsbezogene Inhalte multimedial aufbereiten<br/>
|
||
Arbeitssituation 1: Charakteristiken der Branche und Stärken des Betriebs einbringen<br/>
|
||
<ul>
|
||
<li>e4.pv.ük1: Sie erläutern die Dienstleistungen des Betriebs. (K2)</li>
|
||
<li>e4.pv.ük2: Sie unterscheiden Mitbewerber in der privaten Versicherungsbranche anhand der relevanten Kriterien.(K2)</li>
|
||
<li>e4.pv.ük4: Sie erläutern die Grundlagen der Produkte von Privatversicherungen. (K2)</li>
|
||
</ul>
|
||
</p>
|
||
|
||
<h3>Ausgangslage</h3>
|
||
<p>
|
||
Stell dir vor, du hast die Autoprüfung abgeschlossen und nun kann es endlich losgehen mit deiner Mobilität.
|
||
Welches wird dein erstes eigenes Auto sein? Dieses Auto möchtest du natürlich auch schützen und richtig
|
||
versichern.
|
||
</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(
|
||
'Schaue dazu das folgende Video: <a href="https://www.youtube.com/watch?v=GY2VRYyhwjM" target="_blank">Wie funktioniert eine Autoversicherung? – Einfach erklärt</a>'
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_confirmation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Ja, ich habe das Video angeschaut und verstanden."
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 2: Kapitel «Haftpflichtrecht und Motorfahrzeugversicherung» lesen",
|
||
# 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(
|
||
"Lese und bearbeite im Buch «Haftpflichtrecht und Motorfahrzeugversicherung» die entsprechenden Kapitel"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_confirmation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Ja, ich habe das Kapitel gelesen und verstanden."
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 3: Offerte erstellen",
|
||
# 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>
|
||
Nun geht es los! Erstelle dir für dein erstes eigenes Auto eine entsprechende
|
||
Offerte. Überlege dir, welche Deckungen du unbedingt abschliessen musst und
|
||
welche Deckungen für dich zusätzlich wünschenswert sind. Nutze dazu das
|
||
Offertentool deiner Unternehmung. Alternativ dazu kannst du auch irgendein
|
||
Onlinetool nutzen.
|
||
</p>
|
||
<p>
|
||
Möglicherweise musst du mit deinem Geburtsjahrgang etwas schummeln,
|
||
damit du alt genug bist, um für dich eine Offerte zu machen.
|
||
</p>
|
||
"""
|
||
)
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_confirmation",
|
||
ExplanationBlockFactory(
|
||
text=RichText("Ja, ich habe eine Offerte erstellt.")
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 4: Notizen und Fragestellungen",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"explanation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Mache dir im Verlauf des Prozesses Notizen zu den folgenden Fragestellungen:"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Wie bist du bei der Erstellung deiner Offerte vorgegangen?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Welches waren die Schwierigkeiten bei der Erstellung der Offerte? Wie hast du die Schwierigkeiten gelöst?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Welche Angaben sind zwingend notwendig, um eine saubere Motorfahrzeugofferte erstellen zu können?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Welche zusätzlichen Deckungen hast du gewählt? Was waren die Überlegungen dazu?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Welche Faktoren/Elemente bestimmen hauptsächlich die Höhe der Prämie?"
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 5: Präzenz-Training",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"explanation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"<p>Bringe die Offerte und diese Notizen mit ins Präsenz-Training.</p>"
|
||
"<p>Vergiss die dazugehörenden AVB nicht. Es ist auch okay, wenn du die Unterlagen nur elektronisch dabei hast.</p>"
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Aufgaben zum Vorbereitungsauftrag",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"explanation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Schnappt euch euren Vorbereitungsauftrag und setzt euch zu dritt zusammen. Diskutiert miteinander die folgenden Fragen."
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Wie seid ihr bei der Erstellung der Offerte vorgegangen?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Welches waren die Schwierigkeiten bei der Erstellung der Offerte? Wie hast du die Schwierigkeiten gelöst?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Welche Angaben sind zwingend notwendig, um eine saubere Motorfahrzeugofferte erstellen zu können?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Welche zusätzlichen Deckungen hast du gewählt? Was waren die Überlegungen dazu?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Welche Faktoren/Elemente bestimmen hauptsächlich die Höhe der Prämie?"
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Wenn ihr mit der Diskussion und dem Vergleich fertig seid, schreibt doch die Prämie eurer eigenen Offerte jeweils auf den Flipchart/Whiteboard/Wandtafel."
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.save()
|
||
|
||
return assignment
|
||
|
||
|
||
def create_uk_kickoff_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="Kickoff - Versicherungswirtschaft",
|
||
effort_required="ca. 2 Stunden",
|
||
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</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>
|
||
Das Leben hat nicht nur Sonnenseiten, es birgt auch Risiken in sich. So können wir schon morgen einen
|
||
Unfall haben oder schwer erkranken. Oder ein Haus wird durch ein Hagelzug ziemlich beschädigt. Vor
|
||
solchen Risiken kann sich niemand vollständig schützen. Jedoch können wir uns gegen den finanziellen
|
||
Schaden absichern. Diese Art von Schutz bieten Versicherungen.<br/>
|
||
In dieser Sequenz beschäftigen wir uns damit, das eigentlich eine Versicherung ausmacht.
|
||
</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(
|
||
'Schaue dazu das folgende Video: <a href="https://www.youtube.com/watch?v=NgttivRt6Fo&list=PL1caXvEGRT26oPfYc2C7CbYrldQQglzFI&index=2" target="_blank"> Wie funktioniert eine Versicherung? – Einfach erklärt </a>'
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_confirmation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Ja, ich habe das Video angeschaut und verstanden."
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 2: «Idee Versicherung» lesen",
|
||
# 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(
|
||
"Lese und bearbeite im Buch «Idee Versicherung» die Seiten 12 bis 30."
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_confirmation",
|
||
ExplanationBlockFactory(
|
||
text=RichText(
|
||
"Ja, ich habe die Seiten gelesen und verstanden."
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Teilaufgabe 3: Skizze erstellen",
|
||
# 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>
|
||
Erstelle aufgrund des Gelesenen eine Skizze, welche für dich das Grundprinzip einer Versicherung darstellt.
|
||
</p>
|
||
<p>
|
||
Nimm diese Skizze mit in den Unterricht.
|
||
</p>
|
||
"""
|
||
)
|
||
)
|
||
),
|
||
),
|
||
(
|
||
"user_confirmation",
|
||
ExplanationBlockFactory(
|
||
text=RichText("Ja, ich habe die Skizze erstellt.")
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.save()
|
||
|
||
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)
|
||
.get_children()
|
||
.exact_type(AssignmentListPage)
|
||
.first()
|
||
)
|
||
|
||
assignment = AssignmentFactory(
|
||
parent=assignment_list_page,
|
||
assignment_type=AssignmentType.REFLECTION.name,
|
||
title=f"Reflexion",
|
||
effort_required="ca. 1 Stunde",
|
||
intro_text=replace_whitespace(
|
||
"""
|
||
<p>
|
||
Du hast in diesem Circle viele neue Inhalte und Inputs erhalten.
|
||
Nun ist es Zeit, nochmals auf dein Kompetenzprofil zu schauen.
|
||
Das Beantworten von Reflexionsfragen hilft dir den eigenen Lern- und Denkprozess sichtbar und begreifbar zu machen.
|
||
Es deckt deine persönlichen Stärken und Schwächen während der Erarbeitung auf und hilft dir, dich laufend zu verbessern.
|
||
</p>
|
||
"""
|
||
),
|
||
performance_objectives=[],
|
||
)
|
||
|
||
assignment.tasks = []
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Frage 1: Was gelingt mir bereits gut?",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Frage 2: Vertiefung",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Wo muss ich mich noch vertiefen oder nochmals repetieren? "
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Frage 3: Was nehme ich mit?",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Frage 4: Vorbereitung",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Wie habe ich mich auf den Circle vorbereitet (z. B. Lernzeit eingeplant)?"
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Frage 5: Präsenzunterricht",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Wie engagiert war ich im Präsenzunterricht?"
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.tasks.append(
|
||
(
|
||
"task",
|
||
TaskBlockFactory(
|
||
title="Frage 6: Verbesserung",
|
||
content=StreamValue(
|
||
TaskContentStreamBlock(),
|
||
stream_data=[
|
||
(
|
||
"user_text_input",
|
||
UserTextInputBlockFactory(
|
||
text=RichText(
|
||
"Was will ich für den nächsten Circle im Lernprozess ändern/verbessern?"
|
||
)
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
)
|
||
)
|
||
|
||
assignment.save()
|
||
|
||
return assignment
|