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( """
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.
""" ), 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( """
Handlungskompetenz d2: Informations- und Beratungsgespräch mit Kunden oder Lieferanten führen
Arbeitssituation 4: Kunden beraten und dazugehörige Prozesse abwickeln
Handlungskompetenz e4: Betriebsbezogene Inhalte multimedial aufbereiten
Arbeitssituation 1: Charakteristiken der Branche und Stärken des Betriebs einbringen
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.
""" ), 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: Wie funktioniert eine Autoversicherung? – Einfach erklärt' ) ), ), ( "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( """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.
Möglicherweise musst du mit deinem Geburtsjahrgang etwas schummeln, damit du alt genug bist, um für dich eine Offerte zu machen.
""" ) ) ), ), ( "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( "Bringe die Offerte und diese Notizen mit ins Präsenz-Training.
" "Vergiss die dazugehörenden AVB nicht. Es ist auch okay, wenn du die Unterlagen nur elektronisch dabei hast.
" ) ), ), ], ), ), ) ) 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( """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.
""" ), 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