Add Beispiel Transferauftrag

This commit is contained in:
Daniel Egger 2022-10-14 18:02:18 +02:00
parent 4d24d3b295
commit bb1db2d845
11 changed files with 281 additions and 26 deletions

View File

@ -80,7 +80,10 @@ const block = computed(() => {
</router-link>
</div>
<div v-else-if="block.type === 'resource'" class="mt-4 lg:mt-12">
<div
v-else-if="block.type === 'resource' || block.type === 'assignment'"
class="mt-4 lg:mt-12"
>
<p class="text-large my-4">{{ block.value.description }}</p>
<div class="resource-text" v-html="block.value.text"></div>
</div>
@ -122,6 +125,10 @@ $content-height: $header-height + $footer-height;
margin-bottom: 1.5rem;
}
a {
text-decoration: underline;
}
h2 {
margin-bottom: 2rem;
}

View File

@ -1,7 +1,7 @@
import type { LearningContentType } from "@/types";
export const learningContentTypesToName = new Map<LearningContentType, string>([
["assignment", "Auftrag"],
["assignment", "Transferauftrag"],
["book", "Buch"],
["document", "Dokument"],
["exercise", "Übung"],
@ -9,6 +9,6 @@ export const learningContentTypesToName = new Map<LearningContentType, string>([
["online_training", "Online-Training"],
["video", "Video"],
["test", "Test"],
["resource", "Hilfsmittel"],
["resource", "Seite"],
["placeholder", "In Umsetzung"],
]);

View File

@ -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(
"""
<h2 data-block-key="pwyep">Hier entsteht die Lernsequenz «üben»</h2><h3
data-block-key="dppb3">Praxisorientiert</h3>
<p data-block-key="bho67">Die Lernsequenz «üben» fordert die Teilnehmenden auf, in der eigenen Organisation anhand eines Transferauftrages eine entsprechende Handlungssituation durchzuführen.</p>
<p data-block-key="f547i">Der Auftrag unterstützt den Transfer in die Praxis und nimmt einzelne Themen aus dem jeweiligen Circle nochmals auf.</p>
<p data-block-key="f547i">Der Teilnehmende wird sein Ergebnis in MyVBV hochladen.</p>
<p data-block-key="f547i">Feedback erfolgt durch die Lernbegleitung oder durch weitere vom Teilnehmenden definierte Personen.<br>Ein Abgleich mit Musterlösungen wird wo sinnvoll angeboten</p>
<p data-block-key="f547i">Zusätzlich zum Auftrag wird auf das relevante Fachwissen aus der Mediathek verwiesen und wo sinnvoll Hilfsmittel zur Verfügung gestellt.</p>
<h3 data-block-key="7ljuq">Hier siehst du ein Beispiel eines Transferauftrages mit einer entsprechenden Musterlösung. </h3>
<p data-block-key="7sf2">Schnuppere mal rein. Viel Spass!</p>
<p>
<img src="/static/media/demo_oktober/der_erste_eindruck.jpg">
</p>
<p>
<a href="/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt.pdf">PDF Transferauftrag: Der erste Eindruck zählt</a><br>
<a href="/static/media/demo_oktober/Transferauftrag_Der_erste_Eindruck_zaehlt_Musterlösung.pdf">PDF Transferauftrag: Der erste Eindruck zählt - Lösung</a>
</p>
"""
),
),
)
],
)

View File

@ -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=""),
),
]

View File

@ -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=""),
),
]

View File

@ -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,
),
),
]

View File

@ -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,
),
),
]

View File

@ -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"

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB