937 lines
37 KiB
Python
937 lines
37 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_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_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_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"{circle_title} - Reflexionsfragen",
|
||
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
|