From 45161788ccc8817506177bdfcd38f3dba3f0690c Mon Sep 17 00:00:00 2001
From: Daniel Egger
Handlungskompetenz e4: Betriebsbezogene Inhalte multimedial aufbereiten
Arbeitssituation 1: Charakteristiken der Branche und Stärken des Betriebs einbringen
@@ -499,10 +500,10 @@ def create_uk_prep_assignment(course_id=COURSE_UK):
- Stell dir vor, du hast die Autoprüfung abgeschlossen und nun kann es endlich losgehen mit deiner Mobilität. + 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.
@@ -780,6 +781,160 @@ def create_uk_prep_assignment(course_id=COURSE_UK): 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( + """ +
+ 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
+
+ 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.
+ In dieser Sequenz beschäftigen wir uns damit, das eigentlich eine Versicherung ausmacht.
+
+ Erstelle aufgrund des Gelesenen eine Skizze, welche für dich das Grundprinzip einer Versicherung darstellt. +
++ Nimm diese Skizze mit in den Unterricht. +
+ """ + ) + ) + ), + ), + ( + "user_confirmation", + ExplanationBlockFactory( + text=RichText("Ja, ich habe die Skizze erstellt.") + ), + ), + ], + ), + ), + ) + ) + + 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) @@ -796,10 +951,10 @@ def create_uk_reflection(course_id=COURSE_UK, circle_title="Fahrzeug"): 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. + 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.
""" ), diff --git a/server/vbv_lernwelt/assignment/tests/test_assignment_api.py b/server/vbv_lernwelt/assignment/tests/test_assignment_api.py index 383ac419..86fe4edf 100644 --- a/server/vbv_lernwelt/assignment/tests/test_assignment_api.py +++ b/server/vbv_lernwelt/assignment/tests/test_assignment_api.py @@ -3,7 +3,9 @@ import json from django.utils import timezone from rest_framework.test import APITestCase -from vbv_lernwelt.assignment.creators.create_assignments import create_uk_casework +from vbv_lernwelt.assignment.creators.create_assignments import ( + create_uk_fahrzeug_casework, +) from vbv_lernwelt.assignment.models import ( AssignmentCompletion, AssignmentCompletionAuditLog, @@ -20,7 +22,7 @@ class AssignmentApiTestCase(APITestCase): def setUp(self) -> None: create_default_users() create_test_course(include_vv=False) - self.assignment = create_uk_casework(course_id=COURSE_TEST_ID) + self.assignment = create_uk_fahrzeug_casework(course_id=COURSE_TEST_ID) self.assignment_subtasks = self.assignment.filter_user_subtasks() self.cs = CourseSession.objects.create( diff --git a/server/vbv_lernwelt/course/creators/test_course.py b/server/vbv_lernwelt/course/creators/test_course.py index a78f63c7..709c18c2 100644 --- a/server/vbv_lernwelt/course/creators/test_course.py +++ b/server/vbv_lernwelt/course/creators/test_course.py @@ -7,8 +7,8 @@ from wagtail.models import Site from wagtail.rich_text import RichText from vbv_lernwelt.assignment.creators.create_assignments import ( - create_uk_casework, - create_uk_prep_assignment, + create_uk_fahrzeug_casework, + create_uk_fahrzeug_prep_assignment, ) from vbv_lernwelt.assignment.models import Assignment from vbv_lernwelt.assignment.services import update_assignment_completion @@ -72,8 +72,8 @@ def create_test_course(include_uk=True, include_vv=True, with_sessions=False): _assignment_list_page = AssignmentListPageFactory( parent=course_page, ) - create_uk_casework(course_id=COURSE_TEST_ID) - create_uk_prep_assignment(course_id=COURSE_TEST_ID) + create_uk_fahrzeug_casework(course_id=COURSE_TEST_ID) + create_uk_fahrzeug_prep_assignment(course_id=COURSE_TEST_ID) create_test_learning_path(include_uk=include_uk, include_vv=include_vv) create_test_media_library() diff --git a/server/vbv_lernwelt/course/creators/uk_course.py b/server/vbv_lernwelt/course/creators/uk_course.py index 3cc0c495..b5e478c0 100644 --- a/server/vbv_lernwelt/course/creators/uk_course.py +++ b/server/vbv_lernwelt/course/creators/uk_course.py @@ -24,6 +24,9 @@ from vbv_lernwelt.learnpath.tests.learning_path_factories import ( LearningUnitFactory, TopicFactory, ) +from vbv_lernwelt.media_library.tests.media_library_factories import ( + LearnMediaBlockFactory, +) def create_uk_learning_path(course_id=COURSE_UK, user=None, skip_locales=True): @@ -230,20 +233,56 @@ In diesem Circle erfährst du wie die überbetrieblichen Kurse aufgebaut sind. Z title=f"Allgemeines zu Versicherungen", parent=circle, description=RichText( - f"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="Versicherungswirtschaft", + assignment_type="PREP_ASSIGNMENT", parent=circle, - ) + content_assignment=Assignment.objects.get( + slug__startswith=f"überbetriebliche-kurse-assignment-kickoff-versicherungswirtschaft" + ), + ), 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 1a", + description="", + icon_url="/static/icons/demo/icon-hf-book.png", + link_display_text="Dokument anzeigen", + url="/static/media/uk/de_üK1_KO_03b_A_Einteilungen.pdf", + ), + ), + ( + "document", + LearnMediaBlockFactory( + title="Präsentation 1b", + description="", + icon_url="/static/icons/demo/icon-hf-book.png", + link_display_text="Dokument anzeigen", + url="/static/media/uk/de_üK1_KO_03b_A_Einteilungen.pdf", + ), + ), + ( + "document", + LearnMediaBlockFactory( + title="Arbeitsblatt Einteilung der Versicherungen", + description="", + icon_url="/static/icons/demo/icon-hf-book.png", + link_display_text="Dokument anzeigen", + url="/static/media/uk/de_üK1_KO_03b_A_Einteilungen.pdf", + ), + ), + ], ) LearningUnitFactory(title="Präsenzkurs", parent=circle) LearningContentAttendanceCourseFactory( 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 ef19099e..ad294faf 100644 --- a/server/vbv_lernwelt/course/management/commands/create_default_courses.py +++ b/server/vbv_lernwelt/course/management/commands/create_default_courses.py @@ -3,9 +3,10 @@ import random import djclick as click from vbv_lernwelt.assignment.creators.create_assignments import ( - create_uk_casework, - create_uk_prep_assignment, + create_uk_fahrzeug_casework, + create_uk_fahrzeug_prep_assignment, create_uk_reflection, + create_uk_kickoff_prep_assignment, ) from vbv_lernwelt.assignment.models import Assignment from vbv_lernwelt.assignment.services import update_assignment_completion @@ -169,8 +170,9 @@ def create_course_uk_de(): _assignment_list_page = AssignmentListPageFactory( parent=course.coursepage, ) - create_uk_casework(course_id=COURSE_UK) - create_uk_prep_assignment(course_id=COURSE_UK) + create_uk_kickoff_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) # learning path @@ -427,8 +429,8 @@ def create_course_training_de(): _assignment_list_page = AssignmentListPageFactory( parent=course.coursepage, ) - create_uk_casework(course_id=COURSE_UK_TRAINING) - create_uk_prep_assignment(course_id=COURSE_UK_TRAINING) + create_uk_fahrzeug_casework(course_id=COURSE_UK_TRAINING) + create_uk_fahrzeug_prep_assignment(course_id=COURSE_UK_TRAINING) create_uk_reflection(course_id=COURSE_UK_TRAINING) create_uk_training_learning_path(course_id=COURSE_UK_TRAINING) diff --git a/server/vbv_lernwelt/static/media/uk/de_üK1_KO_03b_A_Einteilungen.pdf b/server/vbv_lernwelt/static/media/uk/de_üK1_KO_03b_A_Einteilungen.pdf new file mode 100644 index 0000000000000000000000000000000000000000..989ce098af8df0238631306b95c8854f78ec7015 GIT binary patch literal 125292 zcmbTc1yo#3w=LRuu;A|Q5VY~&PH?y2?hXMGg1Zyk-L-LdcL?qpoW|vn??3;!=bR_w zzPGz;?A=wXX05rZ#@f60EGk7Y2_{x%ATk0~!~21Zz)Jdw)ZWMn8G)alMb*>6ltt9g z#n8syoJG;l+|-$r?Y&u^S|<|_TSGEDd+zMO7ez@sGa72~&B%m9@QM(Q@T4J2w2&5c-qFSy&ET10&Vi&{iu
zgOXZAZ3BjSMRP-#dPRMMn0iHHgPD3oZ3BhcKy!ne+Cben8?%D$TNNfN{kL39R=RI3
zn4|RHN-;<2Dm8%xNuB^8ZPHv`Hx@vsyxRmIRNPGoIMOgq!5ju0scjfhyVF(b1ML8}
zNtP;|1>NERp~7w$fUUZ5B<2mHQ#R%egHtS~2cuI8rU!#l7-l`A69^NO1PMjaO>EEx
zf)X2)fiDvq41kA;4H`h3#0DK;Nn(Qv@D-g?2xbbSQyOLpL!}H*HnBkqC`HYpvLQyz
z!%!&-yaE)O#47cXe2ftmBlZavxJGb0!Z?_toT`-mA2O5+f(3pcxIJMUJW@{GNf%zk
zD(#Yf9C;;{8SuZF@ef2+(uI>TN(ICp6$HgH-Gc>=5!@Cq4r(Z;tfaT>5^}YhJ67F-
zu`J93Wy