Add Beispiel Transferauftrag
This commit is contained in:
parent
4d24d3b295
commit
bb1db2d845
|
|
@ -80,7 +80,10 @@ const block = computed(() => {
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</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>
|
<p class="text-large my-4">{{ block.value.description }}</p>
|
||||||
<div class="resource-text" v-html="block.value.text"></div>
|
<div class="resource-text" v-html="block.value.text"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -122,6 +125,10 @@ $content-height: $header-height + $footer-height;
|
||||||
margin-bottom: 1.5rem;
|
margin-bottom: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
margin-bottom: 2rem;
|
margin-bottom: 2rem;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import type { LearningContentType } from "@/types";
|
import type { LearningContentType } from "@/types";
|
||||||
|
|
||||||
export const learningContentTypesToName = new Map<LearningContentType, string>([
|
export const learningContentTypesToName = new Map<LearningContentType, string>([
|
||||||
["assignment", "Auftrag"],
|
["assignment", "Transferauftrag"],
|
||||||
["book", "Buch"],
|
["book", "Buch"],
|
||||||
["document", "Dokument"],
|
["document", "Dokument"],
|
||||||
["exercise", "Übung"],
|
["exercise", "Übung"],
|
||||||
|
|
@ -9,6 +9,6 @@ export const learningContentTypesToName = new Map<LearningContentType, string>([
|
||||||
["online_training", "Online-Training"],
|
["online_training", "Online-Training"],
|
||||||
["video", "Video"],
|
["video", "Video"],
|
||||||
["test", "Test"],
|
["test", "Test"],
|
||||||
["resource", "Hilfsmittel"],
|
["resource", "Seite"],
|
||||||
["placeholder", "In Umsetzung"],
|
["placeholder", "In Umsetzung"],
|
||||||
]);
|
]);
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ from vbv_lernwelt.core.admin import User
|
||||||
from vbv_lernwelt.course.consts import COURSE_VERSICHERUNGSVERMITTLERIN_ID
|
from vbv_lernwelt.course.consts import COURSE_VERSICHERUNGSVERMITTLERIN_ID
|
||||||
from vbv_lernwelt.course.models import CourseCategory, CoursePage
|
from vbv_lernwelt.course.models import CourseCategory, CoursePage
|
||||||
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
|
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
|
||||||
|
AssignmentBlockFactory,
|
||||||
CircleFactory,
|
CircleFactory,
|
||||||
ExerciseBlockFactory,
|
ExerciseBlockFactory,
|
||||||
LearningContentFactory,
|
LearningContentFactory,
|
||||||
|
|
@ -328,10 +329,7 @@ wichtige Grundlage für eine erfolgreiche Beziehung.
|
||||||
title="Mediathek",
|
title="Mediathek",
|
||||||
parent=circle,
|
parent=circle,
|
||||||
)
|
)
|
||||||
LearningContentFactory(
|
create_learning_content_transferauftrag("Der erste Eindruck zählt", circle)
|
||||||
title="Der erste Eindruck zählt",
|
|
||||||
parent=circle,
|
|
||||||
)
|
|
||||||
|
|
||||||
LearningSequenceFactory(title="Beenden", parent=circle, icon="it-icon-ls-end")
|
LearningSequenceFactory(title="Beenden", parent=circle, icon="it-icon-ls-end")
|
||||||
LearningUnitFactory(title="Circle beenden", parent=circle)
|
LearningUnitFactory(title="Circle beenden", parent=circle)
|
||||||
|
|
@ -514,10 +512,7 @@ def create_circle_loesung(lp):
|
||||||
title="Mediathek",
|
title="Mediathek",
|
||||||
parent=circle,
|
parent=circle,
|
||||||
)
|
)
|
||||||
LearningContentFactory(
|
create_learning_content_transferauftrag("Patrizia & Marco heiraten", circle)
|
||||||
title="Patrizia & Marco heiraten",
|
|
||||||
parent=circle,
|
|
||||||
)
|
|
||||||
LearningContentFactory(
|
LearningContentFactory(
|
||||||
title="Fachcheck Heirat",
|
title="Fachcheck Heirat",
|
||||||
parent=circle,
|
parent=circle,
|
||||||
|
|
@ -686,11 +681,13 @@ def create_circle_betreuen(lp):
|
||||||
"Blumenladen Fleur expandiert",
|
"Blumenladen Fleur expandiert",
|
||||||
parent=circle,
|
parent=circle,
|
||||||
category_name="Wohneigentum",
|
category_name="Wohneigentum",
|
||||||
|
learning_unit_title="Bauen",
|
||||||
)
|
)
|
||||||
create_standard_learning_unit(
|
create_standard_learning_unit(
|
||||||
"Davide & Giulia verkaufen ihr Haus an Chiara",
|
"Davide & Giulia verkaufen ihr Haus an Chiara",
|
||||||
parent=circle,
|
parent=circle,
|
||||||
category_name="Wohneigentum",
|
category_name="Wohneigentum",
|
||||||
|
learning_unit_title="Hausverkauf",
|
||||||
)
|
)
|
||||||
|
|
||||||
LearningSequenceFactory(title="Beenden", parent=circle, icon="it-icon-ls-end")
|
LearningSequenceFactory(title="Beenden", parent=circle, icon="it-icon-ls-end")
|
||||||
|
|
@ -797,10 +794,13 @@ def create_circle_pruefung(lp):
|
||||||
|
|
||||||
|
|
||||||
def create_standard_learning_unit(
|
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(
|
LearningUnitFactory(
|
||||||
title=category_name,
|
title=learning_unit_title,
|
||||||
parent=parent,
|
parent=parent,
|
||||||
course_category=CourseCategory.objects.get(
|
course_category=CourseCategory.objects.get(
|
||||||
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, title=category_name
|
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>
|
||||||
|
"""
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ from django.db import migrations, models
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('learnpath', '0003_alter_learningcontent_contents'),
|
("learnpath", "0003_alter_learningcontent_contents"),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
migrations.AddField(
|
migrations.AddField(
|
||||||
model_name='circle',
|
model_name="circle",
|
||||||
name='goal_description',
|
name="goal_description",
|
||||||
field=models.TextField(blank=True, default=''),
|
field=models.TextField(blank=True, default=""),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ from django.db import migrations, models
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('learnpath', '0004_circle_goal_description'),
|
("learnpath", "0004_circle_goal_description"),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
migrations.AddField(
|
migrations.AddField(
|
||||||
model_name='circle',
|
model_name="circle",
|
||||||
name='job_situation_description',
|
name="job_situation_description",
|
||||||
field=models.TextField(blank=True, default=''),
|
field=models.TextField(blank=True, default=""),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,115 @@
|
||||||
# Generated by Django 3.2.13 on 2022-10-14 12:03
|
# Generated by Django 3.2.13 on 2022-10-14 12:03
|
||||||
|
|
||||||
from django.db import migrations
|
|
||||||
import wagtail.blocks
|
import wagtail.blocks
|
||||||
import wagtail.fields
|
import wagtail.fields
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('learnpath', '0005_circle_job_situation_description'),
|
("learnpath", "0005_circle_job_situation_description"),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name='learningcontent',
|
model_name="learningcontent",
|
||||||
name='contents',
|
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),
|
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,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -4,6 +4,7 @@ from wagtail import blocks
|
||||||
class AssignmentBlock(blocks.StructBlock):
|
class AssignmentBlock(blocks.StructBlock):
|
||||||
description = blocks.TextBlock()
|
description = blocks.TextBlock()
|
||||||
url = blocks.TextBlock()
|
url = blocks.TextBlock()
|
||||||
|
text = blocks.RichTextBlock(required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
icon = "media"
|
icon = "media"
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
Loading…
Reference in New Issue