diff --git a/server/vbv_lernwelt/assignment/creators/create_assignments.py b/server/vbv_lernwelt/assignment/creators/create_assignments.py index 54851791..03180dc1 100644 --- a/server/vbv_lernwelt/assignment/creators/create_assignments.py +++ b/server/vbv_lernwelt/assignment/creators/create_assignments.py @@ -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( + """ +
+ Handlungskompetenz d2: Informations- und Beratungsgespräch mit Kunden oder Lieferanten führen
+ Arbeitssituation 4: Kunden beraten und dazugehörige Prozesse abwickeln
+
+ Handlungskompetenz c3: Betriebliche Prozesse dokumentieren, koordinieren und umsetzen
+ Arbeitssituation 5: Anträge verarbeiten, Verträge gestalten, Produkte entwickeln und pflegen
+
+ 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. +
+ """ + ), + 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( + """ +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:
++ 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) +
+ """ + ) + ) + ), + ), + ( + "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( + """ ++ Bring aus deinem Lehrbetrieb 3 Kennzahlen aus dem letzten Geschäftsjahr in Erfahrung: +
+Wenn du nicht weiterkommst, frag deine Ansprechperson im Lehrbetrieb.
+ """ + ) + ) + ), + ), + ( + "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( + """ +Lese im Lehrmittel «Kunde und Versicherung» den Abschnitt «Die Rechteund Pflichten der Parteien» (Seiten 130 bis 141)
+ """ + ) + ) + ), + ), + ( + "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( + """ +Besorge dir ein VVG (Versicherungsvertragsgesetz) auf www.fedlex.admin.ch
+ """ + ) + ) + ), + ), + ( + "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( + """ ++ Kläre im Lehrbetrieb zwei Fragen: +
+In der Mediathek unter dem Handlungsfeld «{title}» findest du alle relevanten Ressourcen für deine Fachkompetenzen.
" + f"In der Mediathek unter «Allgemeines zu Versicherungen» findest du alle relevanten Ressourcen für deine Fachkompetenzen.
" f"Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.
" ), - 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" ), ), diff --git a/server/vbv_lernwelt/course/management/commands/create_default_courses.py b/server/vbv_lernwelt/course/management/commands/create_default_courses.py index ad294faf..113c034a 100644 --- a/server/vbv_lernwelt/course/management/commands/create_default_courses.py +++ b/server/vbv_lernwelt/course/management/commands/create_default_courses.py @@ -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) diff --git a/server/vbv_lernwelt/static/media/uk/de_üK1_BA_04_A_Risikomanagement.pdf b/server/vbv_lernwelt/static/media/uk/de_üK1_BA_04_A_Risikomanagement.pdf new file mode 100644 index 00000000..c93d0d43 Binary files /dev/null and b/server/vbv_lernwelt/static/media/uk/de_üK1_BA_04_A_Risikomanagement.pdf differ diff --git a/server/vbv_lernwelt/static/media/uk/de_üK1_BA_05_QR_Quizzes.pdf b/server/vbv_lernwelt/static/media/uk/de_üK1_BA_05_QR_Quizzes.pdf new file mode 100644 index 00000000..0c709a4c Binary files /dev/null and b/server/vbv_lernwelt/static/media/uk/de_üK1_BA_05_QR_Quizzes.pdf differ diff --git a/server/vbv_lernwelt/static/media/uk/de_üK1_BA_06_A_Versicherungsrecht.pdf b/server/vbv_lernwelt/static/media/uk/de_üK1_BA_06_A_Versicherungsrecht.pdf new file mode 100644 index 00000000..e5babfee Binary files /dev/null and b/server/vbv_lernwelt/static/media/uk/de_üK1_BA_06_A_Versicherungsrecht.pdf differ