Add exercise url as wbt
This commit is contained in:
parent
a319432686
commit
ec479235f7
|
|
@ -52,10 +52,11 @@ const block = computed(() => {
|
||||||
width="100%"
|
width="100%"
|
||||||
height="100%"
|
height="100%"
|
||||||
scrolling="no"
|
scrolling="no"
|
||||||
src="/media/web_based_trainings/rise_cmi5_test_export/scormcontent/index.html"
|
:src="block.value.url"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div v-else class="mx-auto max-w-5xl px-4 lg:px-8 py-4">
|
<div v-else class="mx-auto max-w-5xl px-4 lg:px-8 py-4">
|
||||||
<p>{{ block.value.description }}</p>
|
<p>{{ block.value.description }}</p>
|
||||||
|
|
||||||
|
|
@ -84,12 +85,12 @@ const block = computed(() => {
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
$header-height: 77px;
|
$header-height: 77px;
|
||||||
$footer-height: 57px;
|
$footer-height: 57px;
|
||||||
|
|
||||||
$content-height: $header-height + $footer-height;
|
$content-height: $header-height + $footer-height;
|
||||||
|
|
||||||
.h-screen {
|
.h-screen {
|
||||||
height: calc(100vh - $content-height);
|
height: calc(100vh - $content-height);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Generated by Django 3.2.13 on 2022-08-24 14:47
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
import wagtail.blocks
|
||||||
|
import wagtail.fields
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('learnpath', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='learningcontent',
|
||||||
|
name='contents',
|
||||||
|
field=wagtail.fields.StreamField([('video', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.URLBlock())])), ('web_based_training', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.URLBlock())])), ('podcast', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.URLBlock())])), ('competence', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock())])), ('exercise', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock()), ('url', wagtail.blocks.URLBlock())])), ('document', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock())])), ('knowledge', wagtail.blocks.StructBlock([('description', wagtail.blocks.TextBlock())]))], use_json_field=None),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -35,6 +35,8 @@ class CompetenceBlock(blocks.StructBlock):
|
||||||
|
|
||||||
class ExerciseBlock(blocks.StructBlock):
|
class ExerciseBlock(blocks.StructBlock):
|
||||||
description = blocks.TextBlock()
|
description = blocks.TextBlock()
|
||||||
|
url = blocks.URLBlock()
|
||||||
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
icon = 'media'
|
icon = 'media'
|
||||||
|
|
@ -47,6 +49,7 @@ class DocumentBlock(blocks.StructBlock):
|
||||||
icon = 'media'
|
icon = 'media'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class KnowledgeBlock(blocks.StructBlock):
|
class KnowledgeBlock(blocks.StructBlock):
|
||||||
description = blocks.TextBlock()
|
description = blocks.TextBlock()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ from vbv_lernwelt.learnpath.models import LearningPath, Topic, Circle, LearningS
|
||||||
LearningUnitQuestion
|
LearningUnitQuestion
|
||||||
from vbv_lernwelt.learnpath.tests.learning_path_factories import LearningPathFactory, TopicFactory, CircleFactory, \
|
from vbv_lernwelt.learnpath.tests.learning_path_factories import LearningPathFactory, TopicFactory, CircleFactory, \
|
||||||
LearningSequenceFactory, LearningContentFactory, VideoBlockFactory, PodcastBlockFactory, CompetenceBlockFactory, \
|
LearningSequenceFactory, LearningContentFactory, VideoBlockFactory, PodcastBlockFactory, CompetenceBlockFactory, \
|
||||||
ExerciseBlockFactory, DocumentBlockFactory, LearningUnitFactory, LearningUnitQuestionFactory
|
ExerciseBlockFactory, DocumentBlockFactory, LearningUnitFactory, LearningUnitQuestionFactory, \
|
||||||
|
WebBasedTrainingBlockFactory
|
||||||
|
|
||||||
|
|
||||||
def create_circle(title, learning_path):
|
def create_circle(title, learning_path):
|
||||||
|
|
@ -78,17 +79,32 @@ def create_circle_children(circle, title):
|
||||||
url='https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/325190984&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true',
|
url='https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/325190984&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true',
|
||||||
))]
|
))]
|
||||||
)
|
)
|
||||||
|
if circle.title == 'Einstieg':
|
||||||
|
LearningContentFactory(
|
||||||
|
title='Einstieg ins Gespräch',
|
||||||
|
parent=circle,
|
||||||
|
minutes=15,
|
||||||
|
contents=[('video', VideoBlockFactory(
|
||||||
|
url='https://onedrive.live.com/embed?cid=26E4A934B79DCE5E&resid=26E4A934B79DCE5E%2153350&authkey=AId6i7z_X8l2fHw',
|
||||||
|
description='In dieser Circle zeigt dir ein Fachexperte anhand von Kundensituationen, wie du erfolgreich'
|
||||||
|
'den Kundenbedarf ermitteln, analysieren, priorisieren und anschliessend zusammenfassen kannst.'
|
||||||
|
))]
|
||||||
|
)
|
||||||
|
|
||||||
LearningContentFactory(
|
LearningContentFactory(
|
||||||
title='Kundenbedürfnisse erkennen',
|
title='Kundenbedürfnisse erkennen',
|
||||||
parent=circle,
|
parent=circle,
|
||||||
minutes=30,
|
minutes=30,
|
||||||
contents=[('competence', CompetenceBlockFactory())]
|
contents=[('competence', CompetenceBlockFactory())]
|
||||||
)
|
)
|
||||||
|
|
||||||
LearningContentFactory(
|
LearningContentFactory(
|
||||||
title='Was braucht eine Familie?',
|
title='Was braucht eine Familie?',
|
||||||
parent=circle,
|
parent=circle,
|
||||||
minutes=60,
|
minutes=60,
|
||||||
contents=[('exercise', ExerciseBlockFactory())]
|
contents=[('exercise', ExerciseBlockFactory(url='/media/web_based_trainings/story-01-a-01-patrizia-marco-sichern-sich-ab-einstieg/scormcontent/index.html'
|
||||||
|
))]
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
LearningSequenceFactory(title='Anwenden', parent=circle, icon='it-icon-ls-apply')
|
LearningSequenceFactory(title='Anwenden', parent=circle, icon='it-icon-ls-apply')
|
||||||
|
|
@ -155,7 +171,7 @@ def create_circle_children(circle, title):
|
||||||
title='Motorfahrzeug kaufen',
|
title='Motorfahrzeug kaufen',
|
||||||
parent=circle,
|
parent=circle,
|
||||||
minutes=120,
|
minutes=120,
|
||||||
contents=[('exercise', ExerciseBlockFactory())]
|
contents=[('exercise', ExerciseBlockFactory(url='/media/web_based_trainings/training-04-a-01-rafael-fasel-wechselt-sein-auto-einstieg/scormcontent/index.html'))]
|
||||||
)
|
)
|
||||||
|
|
||||||
lu = LearningUnitFactory(title='Pensionierung', parent=circle)
|
lu = LearningUnitFactory(title='Pensionierung', parent=circle)
|
||||||
|
|
@ -203,7 +219,8 @@ def create_circle_children(circle, title):
|
||||||
title='Sorgenfrei reisen',
|
title='Sorgenfrei reisen',
|
||||||
parent=circle,
|
parent=circle,
|
||||||
minutes=120,
|
minutes=120,
|
||||||
contents=[('exercise', ExerciseBlockFactory())]
|
contents=[('exercise', ExerciseBlockFactory(
|
||||||
|
url='/media/web_based_trainings/story-06-a-01-emma-und-ayla-campen-durch-amerika-einstieg/scormcontent/index.html'))]
|
||||||
)
|
)
|
||||||
|
|
||||||
lu = LearningUnitFactory(title='Haushalt', parent=circle)
|
lu = LearningUnitFactory(title='Haushalt', parent=circle)
|
||||||
|
|
@ -306,7 +323,6 @@ def create_default_learning_path(user=None, skip_locales=True):
|
||||||
site.port = 8000
|
site.port = 8000
|
||||||
site.save()
|
site.save()
|
||||||
|
|
||||||
|
|
||||||
# create_default_competences()
|
# create_default_competences()
|
||||||
|
|
||||||
lp = LearningPathFactory(title="Versicherungsvermittler/in", parent=site.root_page)
|
lp = LearningPathFactory(title="Versicherungsvermittler/in", parent=site.root_page)
|
||||||
|
|
@ -347,7 +363,6 @@ damit erfolgreich mit deinem Lernpfad starten kannst.
|
||||||
contents=[('document', CompetenceBlockFactory())]
|
contents=[('document', CompetenceBlockFactory())]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
TopicFactory(title="Gewinnen von Kunden", parent=lp)
|
TopicFactory(title="Gewinnen von Kunden", parent=lp)
|
||||||
|
|
||||||
circle_gewinnen = CircleFactory(
|
circle_gewinnen = CircleFactory(
|
||||||
|
|
@ -362,10 +377,14 @@ bestehenden Kontakte geschickt für das Anwerben von
|
||||||
Neukundinnen und -kunden.""",
|
Neukundinnen und -kunden.""",
|
||||||
goals=[
|
goals=[
|
||||||
('goal', '... Bestehende Kunden so zu beraten, dass sie von diesen weiterempfohlen werden'),
|
('goal', '... Bestehende Kunden so zu beraten, dass sie von diesen weiterempfohlen werden'),
|
||||||
('goal', '... Geeignete Personen wie z.B. Garagisten, Architekten, Treuhänder auf die Vermittlung / Zusammenarbeit anzusprechen'),
|
('goal',
|
||||||
('goal', '... Verschiedene Datenquellen wie Internet, Telefonbuch, Handelszeitung, Baugesuche etc. Gezielt für die Gewinnung von Neukunden zu benützen'),
|
'... Geeignete Personen wie z.B. Garagisten, Architekten, Treuhänder auf die Vermittlung / Zusammenarbeit anzusprechen'),
|
||||||
('goal', '... Ein beliebiges Gespräch resp. Einen bestehenden Kontakt in die Richtung «Versicherung» zu lenken'),
|
('goal',
|
||||||
('goal', '... Das Thema Risiko und Sicherheit in einem Gespräch gezielt und auf die Situation des jeweiligen Gesprächspartners bezogen einfliessen zu lassen'),
|
'... Verschiedene Datenquellen wie Internet, Telefonbuch, Handelszeitung, Baugesuche etc. Gezielt für die Gewinnung von Neukunden zu benützen'),
|
||||||
|
('goal',
|
||||||
|
'... Ein beliebiges Gespräch resp. Einen bestehenden Kontakt in die Richtung «Versicherung» zu lenken'),
|
||||||
|
('goal',
|
||||||
|
'... Das Thema Risiko und Sicherheit in einem Gespräch gezielt und auf die Situation des jeweiligen Gesprächspartners bezogen einfliessen zu lassen'),
|
||||||
('goal', '... Im täglichen Kontakt potenzielle Kundinnen und Kunden zu erkennen'),
|
('goal', '... Im täglichen Kontakt potenzielle Kundinnen und Kunden zu erkennen'),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
@ -394,7 +413,6 @@ Neukundinnen und -kunden.""",
|
||||||
circle_analyse = create_circle('Prüfungs- vorbereitung', lp)
|
circle_analyse = create_circle('Prüfungs- vorbereitung', lp)
|
||||||
create_circle_children(circle_analyse, 'Prüfungs- vorbereitung')
|
create_circle_children(circle_analyse, 'Prüfungs- vorbereitung')
|
||||||
|
|
||||||
|
|
||||||
# locales
|
# locales
|
||||||
if not skip_locales:
|
if not skip_locales:
|
||||||
locale_de = Locale.objects.get(language_code='de-CH')
|
locale_de = Locale.objects.get(language_code='de-CH')
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,7 @@ class CompetenceBlockFactory(wagtail_factories.StructBlockFactory):
|
||||||
|
|
||||||
class ExerciseBlockFactory(wagtail_factories.StructBlockFactory):
|
class ExerciseBlockFactory(wagtail_factories.StructBlockFactory):
|
||||||
description = "Beispiel Aufgabe"
|
description = "Beispiel Aufgabe"
|
||||||
|
url= "/media/web_based_trainings/rise_cmi5_test_export/scormcontent/index.html"
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ExerciseBlock
|
model = ExerciseBlock
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue