([
["online_training", "Online-Training"],
["video", "Video"],
["test", "Test"],
- ["resource", "Hilfsmittel"],
+ ["resource", "Seite"],
["placeholder", "In Umsetzung"],
]);
diff --git a/server/vbv_lernwelt/learnpath/create_default_learning_path.py b/server/vbv_lernwelt/learnpath/create_default_learning_path.py
index 5c0912a3..a3e93ec2 100644
--- a/server/vbv_lernwelt/learnpath/create_default_learning_path.py
+++ b/server/vbv_lernwelt/learnpath/create_default_learning_path.py
@@ -10,6 +10,7 @@ from vbv_lernwelt.core.admin import User
from vbv_lernwelt.course.consts import COURSE_VERSICHERUNGSVERMITTLERIN_ID
from vbv_lernwelt.course.models import CourseCategory, CoursePage
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
+ AssignmentBlockFactory,
CircleFactory,
ExerciseBlockFactory,
LearningContentFactory,
@@ -328,10 +329,7 @@ wichtige Grundlage für eine erfolgreiche Beziehung.
title="Mediathek",
parent=circle,
)
- LearningContentFactory(
- title="Der erste Eindruck zählt",
- parent=circle,
- )
+ create_learning_content_transferauftrag("Der erste Eindruck zählt", circle)
LearningSequenceFactory(title="Beenden", parent=circle, icon="it-icon-ls-end")
LearningUnitFactory(title="Circle beenden", parent=circle)
@@ -514,10 +512,7 @@ def create_circle_loesung(lp):
title="Mediathek",
parent=circle,
)
- LearningContentFactory(
- title="Patrizia & Marco heiraten",
- parent=circle,
- )
+ create_learning_content_transferauftrag("Patrizia & Marco heiraten", circle)
LearningContentFactory(
title="Fachcheck Heirat",
parent=circle,
@@ -686,11 +681,13 @@ def create_circle_betreuen(lp):
"Blumenladen Fleur expandiert",
parent=circle,
category_name="Wohneigentum",
+ learning_unit_title="Bauen",
)
create_standard_learning_unit(
"Davide & Giulia verkaufen ihr Haus an Chiara",
parent=circle,
category_name="Wohneigentum",
+ learning_unit_title="Hausverkauf",
)
LearningSequenceFactory(title="Beenden", parent=circle, icon="it-icon-ls-end")
@@ -797,10 +794,13 @@ def create_circle_pruefung(lp):
def create_standard_learning_unit(
- title, parent, category_name, wbt_url=None, check_url=None
+ title, parent, category_name, wbt_url=None, check_url=None, learning_unit_title=None
):
+ if learning_unit_title is None:
+ learning_unit_title = category_name
+
LearningUnitFactory(
- title=category_name,
+ title=learning_unit_title,
parent=parent,
course_category=CourseCategory.objects.get(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, title=category_name
@@ -928,3 +928,39 @@ def create_learning_content_beenden(parent):
)
],
)
+
+
+def create_learning_content_transferauftrag(title, parent):
+ LearningContentFactory(
+ title=title,
+ parent=parent,
+ contents=[
+ (
+ "assignment",
+ AssignmentBlockFactory(
+ url="https://www.vbv.ch/",
+ description="Platzhalter Text für Lernsequenz «üben»:",
+ text=RichText(
+ """
+Hier entsteht die Lernsequenz «üben»
Praxisorientiert
+ Die Lernsequenz «üben» fordert die Teilnehmenden auf, in der eigenen Organisation anhand eines Transferauftrages eine entsprechende Handlungssituation durchzuführen.
+ Der Auftrag unterstützt den Transfer in die Praxis und nimmt einzelne Themen aus dem jeweiligen Circle nochmals auf.
+ Der Teilnehmende wird sein Ergebnis in MyVBV hochladen.
+ Feedback erfolgt durch die Lernbegleitung oder durch weitere vom Teilnehmenden definierte Personen.
Ein Abgleich mit Musterlösungen wird wo sinnvoll angeboten
+ Zusätzlich zum Auftrag wird auf das relevante Fachwissen aus der Mediathek verwiesen und wo sinnvoll Hilfsmittel zur Verfügung gestellt.
+ Hier siehst du ein Beispiel eines Transferauftrages mit einer entsprechenden Musterlösung.
+ Schnuppere mal rein. Viel Spass!
+
+
+
+
+ PDF Transferauftrag: Der erste Eindruck zählt
+ PDF Transferauftrag: Der erste Eindruck zählt - Lösung
+
+ """
+ ),
+ ),
+ )
+ ],
+ )
diff --git a/server/vbv_lernwelt/learnpath/migrations/0004_circle_goal_description.py b/server/vbv_lernwelt/learnpath/migrations/0004_circle_goal_description.py
index f6e5b0b2..ca2a9783 100644
--- a/server/vbv_lernwelt/learnpath/migrations/0004_circle_goal_description.py
+++ b/server/vbv_lernwelt/learnpath/migrations/0004_circle_goal_description.py
@@ -6,13 +6,13 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
- ('learnpath', '0003_alter_learningcontent_contents'),
+ ("learnpath", "0003_alter_learningcontent_contents"),
]
operations = [
migrations.AddField(
- model_name='circle',
- name='goal_description',
- field=models.TextField(blank=True, default=''),
+ model_name="circle",
+ name="goal_description",
+ field=models.TextField(blank=True, default=""),
),
]
diff --git a/server/vbv_lernwelt/learnpath/migrations/0005_circle_job_situation_description.py b/server/vbv_lernwelt/learnpath/migrations/0005_circle_job_situation_description.py
index 8ac37fcb..41d326b8 100644
--- a/server/vbv_lernwelt/learnpath/migrations/0005_circle_job_situation_description.py
+++ b/server/vbv_lernwelt/learnpath/migrations/0005_circle_job_situation_description.py
@@ -6,13 +6,13 @@ from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
- ('learnpath', '0004_circle_goal_description'),
+ ("learnpath", "0004_circle_goal_description"),
]
operations = [
migrations.AddField(
- model_name='circle',
- name='job_situation_description',
- field=models.TextField(blank=True, default=''),
+ model_name="circle",
+ name="job_situation_description",
+ field=models.TextField(blank=True, default=""),
),
]
diff --git a/server/vbv_lernwelt/learnpath/migrations/0006_alter_learningcontent_contents.py b/server/vbv_lernwelt/learnpath/migrations/0006_alter_learningcontent_contents.py
index 6e03aa99..0ca85659 100644
--- a/server/vbv_lernwelt/learnpath/migrations/0006_alter_learningcontent_contents.py
+++ b/server/vbv_lernwelt/learnpath/migrations/0006_alter_learningcontent_contents.py
@@ -1,20 +1,115 @@
# Generated by Django 3.2.13 on 2022-10-14 12:03
-from django.db import migrations
import wagtail.blocks
import wagtail.fields
+from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
- ('learnpath', '0005_circle_job_situation_description'),
+ ("learnpath", "0005_circle_job_situation_description"),
]
operations = [
migrations.AlterField(
- model_name='learningcontent',
- name='contents',
- field=wagtail.fields.StreamField([('video', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.TextBlock())])), ('resource', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.TextBlock()), ('text', wagtail.blocks.RichTextBlock())])), ('exercise', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.TextBlock())])), ('online_training', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.TextBlock())])), ('media_library', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.TextBlock())])), ('document', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.TextBlock())])), ('test', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.TextBlock())])), ('book', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.TextBlock())])), ('assignment', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.TextBlock())])), ('placeholder', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.TextBlock())]))], use_json_field=None),
+ model_name="learningcontent",
+ name="contents",
+ field=wagtail.fields.StreamField(
+ [
+ (
+ "video",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "resource",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ("text", wagtail.blocks.RichTextBlock()),
+ ]
+ ),
+ ),
+ (
+ "exercise",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "online_training",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "media_library",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "document",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "test",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "book",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "assignment",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "placeholder",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ ],
+ use_json_field=None,
+ ),
),
]
diff --git a/server/vbv_lernwelt/learnpath/migrations/0007_alter_learningcontent_contents.py b/server/vbv_lernwelt/learnpath/migrations/0007_alter_learningcontent_contents.py
new file mode 100644
index 00000000..85c5dde2
--- /dev/null
+++ b/server/vbv_lernwelt/learnpath/migrations/0007_alter_learningcontent_contents.py
@@ -0,0 +1,116 @@
+# Generated by Django 3.2.13 on 2022-10-14 16:02
+
+import wagtail.blocks
+import wagtail.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ("learnpath", "0006_alter_learningcontent_contents"),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name="learningcontent",
+ name="contents",
+ field=wagtail.fields.StreamField(
+ [
+ (
+ "video",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "resource",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ("text", wagtail.blocks.RichTextBlock(required=False)),
+ ]
+ ),
+ ),
+ (
+ "exercise",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "online_training",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "media_library",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "document",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "test",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "book",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ (
+ "assignment",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ("text", wagtail.blocks.RichTextBlock(required=False)),
+ ]
+ ),
+ ),
+ (
+ "placeholder",
+ wagtail.blocks.StructBlock(
+ [
+ ("description", wagtail.blocks.TextBlock()),
+ ("url", wagtail.blocks.TextBlock()),
+ ]
+ ),
+ ),
+ ],
+ use_json_field=None,
+ ),
+ ),
+ ]
diff --git a/server/vbv_lernwelt/learnpath/models_learning_unit_content.py b/server/vbv_lernwelt/learnpath/models_learning_unit_content.py
index beb1894e..c1a0356f 100644
--- a/server/vbv_lernwelt/learnpath/models_learning_unit_content.py
+++ b/server/vbv_lernwelt/learnpath/models_learning_unit_content.py
@@ -4,6 +4,7 @@ from wagtail import blocks
class AssignmentBlock(blocks.StructBlock):
description = blocks.TextBlock()
url = blocks.TextBlock()
+ text = blocks.RichTextBlock(required=False)
class Meta:
icon = "media"
diff --git a/server/vbv_lernwelt/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt_de.pdf b/server/vbv_lernwelt/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt.pdf
similarity index 100%
rename from server/vbv_lernwelt/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt_de.pdf
rename to server/vbv_lernwelt/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt.pdf
diff --git a/server/vbv_lernwelt/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt_Musterlösung.pdf b/server/vbv_lernwelt/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt_Musterlösung.pdf
new file mode 100644
index 00000000..568bb6ee
Binary files /dev/null and b/server/vbv_lernwelt/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt_Musterlösung.pdf differ
diff --git a/server/vbv_lernwelt/static/media/demo_oktober/der_erste_eindruck.jpg b/server/vbv_lernwelt/static/media/demo_oktober/der_erste_eindruck.jpg
new file mode 100644
index 00000000..553ef1db
Binary files /dev/null and b/server/vbv_lernwelt/static/media/demo_oktober/der_erste_eindruck.jpg differ