Rework Media Library

This commit is contained in:
Daniel Egger 2023-05-17 14:51:51 +02:00
parent e1b0add09b
commit decba980f5
6 changed files with 61 additions and 29 deletions

View File

@ -15,14 +15,14 @@ import PlaceholderBlock from "./blocks/PlaceholderBlock.vue";
import RichTextBlock from "./blocks/RichTextBlock.vue";
import VideoBlock from "./blocks/VideoBlock.vue";
log.debug("LearningContent.vue setup");
const circleStore = useCircleStore();
const props = defineProps<{
learningContent: LearningContent;
}>();
log.debug("LearningContentParent setup", props.learningContent);
// can't use the type as component name, as some are reserved HTML components, e.g. video
const COMPONENTS: Record<LearningContentType, Component> = {
"learnpath.LearningContentAssignment": AssignmentBlock,

View File

@ -1,13 +1,13 @@
<script setup lang="ts">
import LearningContentSimpleLayout from "@/pages/learningPath/learningContentPage/layouts/LearningContentSimpleLayout.vue";
import type { LearningContentMediaLibrary } from "@/types";
import { useRoute } from "vue-router";
const route = useRoute();
import log from "loglevel";
const props = defineProps<{
content: LearningContentMediaLibrary;
}>();
log.debug("LearningContentMediaLibraryBlock.vue created");
</script>
<template>
@ -16,13 +16,15 @@ const props = defineProps<{
:learning-content-type="props.content.content_type"
>
<div class="container-medium">
<p class="text-large my-4 lg:my-8">{{ props.content.description }}</p>
<router-link
:to="`${props.content.content_url}?back=${route.path}`"
class="button btn-primary"
<p class="text-large my-4 lg:my-8" v-html="props.content.description"></p>
<a
:href="`${props.content.content_url}`"
target="_blank"
class="btn-primary inline-flex items-center"
>
Mediathek öffnen
</router-link>
Handlungsfeld anzeigen
<it-icon-external-link class="ml-2 h-5 w-5"></it-icon-external-link>
</a>
</div>
</LearningContentSimpleLayout>
</template>

View File

@ -217,9 +217,13 @@ damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst.
),
)
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
title=f"Handlungsfeld «{title}»",
parent=circle,
content_url=f"/media/überbetriebliche-kurse-media/category/{slugify(title)}",
description=RichText(
f"<p>In der Mediathek unter dem Handlungsfeld «{title}» findest du alle relevanten Ressourcen für deine Fachkompetenzen.</p>"
f"<p>Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.</p>"
),
content_url=f"/course/überbetriebliche-kurse/media/category/{slugify(title)}",
)
LearningContentPlaceholderFactory(
title="Vorbereitungsauftrag",

View File

@ -65,9 +65,9 @@ def command(course):
if COURSE_UK in course:
create_course_uk_de()
create_course_uk_de_completion_data(
CourseSession.objects.get(title="Bern 2023 a")
)
# create_course_uk_de_completion_data(
# CourseSession.objects.get(title="Bern 2023 a")
# )
create_course_uk_de_assignment_completion_data(
assignment=Assignment.objects.get(
slug="überbetriebliche-kurse-assignment-überprüfen-einer-motorfahrzeugs-versicherungspolice"

View File

@ -3,6 +3,7 @@ from django.conf import settings
from django.core.management import call_command
from slugify import slugify
from wagtail.models import Locale, Page, Site
from wagtail.rich_text import RichText
from wagtail_localize.models import LocaleSynchronization
from vbv_lernwelt.assignment.models import Assignment
@ -166,14 +167,23 @@ damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst.
"Gesundheit",
]:
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
title=f"Handlungsfeld «{title}»",
parent=circle,
content_url=f"/media/überbetriebliche-kurse-media/category/{slugify(first_title)}",
description=RichText(
f"<p>In der Mediathek unter dem Handlungsfeld «{title}» findest du alle relevanten Ressourcen für deine Fachkompetenzen.</p>"
f"<p>Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.</p>"
),
content_url=f"/course/überbetriebliche-kurse/media/category/{slugify(first_title)}",
)
else:
LearningContentPlaceholderFactory(
title="Mediathek",
LearningContentMediaLibraryFactory(
title=f"Handlungsfeld «{title}»",
parent=circle,
description=RichText(
f"<p>In der Mediathek unter dem Handlungsfeld «{title}» findest du alle relevanten Ressourcen für deine Fachkompetenzen.</p>"
f"<p>Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.</p>"
),
content_url=f"/course/überbetriebliche-kurse/media",
)
LearningContentPlaceholderFactory(
@ -224,10 +234,14 @@ damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst.
title="Verschaffe dir einen Überblick",
parent=circle,
)
LearningContentPlaceholderFactory(
title=f"Mediathek {title}",
LearningContentMediaLibraryFactory(
title=f"Handlungsfeld «{title}»",
parent=circle,
content_url=f"/media/überbetriebliche-kurse-media/category/{slugify(title)}",
description=RichText(
f"<p>In der Mediathek unter dem Handlungsfeld «{title}» findest du alle relevanten Ressourcen für deine Fachkompetenzen.</p>"
f"<p>Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.</p>"
),
content_url=f"/course/überbetriebliche-kurse/media/category/{slugify(title)}",
)
LearningContentPlaceholderFactory(
title="Vorbereitungsauftrag",

View File

@ -164,6 +164,7 @@ def create_circle_basis(lp, title="Basis"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Qualifikationsprofil und Zulassungsprüfung",
@ -186,6 +187,7 @@ def create_circle_basis(lp, title="Basis"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Mein neuer Job",
@ -216,6 +218,7 @@ def create_circle_basis(lp, title="Basis"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Einstieg in die Versicherung",
@ -277,6 +280,7 @@ wie du dein Netzwerk aufbauen und erweitern kannst, um damit neue Kunden zu gewi
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Die ersten Schritte im Verkauf",
@ -300,6 +304,7 @@ wie du dein Netzwerk aufbauen und erweitern kannst, um damit neue Kunden zu gewi
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Vom Lead zum Termin/Telefon auf Empfehlung/Neukundengewinnung",
@ -341,7 +346,7 @@ def create_circle_fahrzeug(lp, title="Fahrzeug"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/media/versicherungsvermittler-in-media/category/{slugify(title)}",
content_url=f"/course/versicherungsvermittler-in/media/category/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -416,7 +421,7 @@ def create_circle_rechtsstreitigkeiten(lp, title="Rechtsstreitigkeiten"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/media/versicherungsvermittler-in-media/category/{slugify(title)}",
content_url=f"/course/versicherungsvermittler-in/media/category/{slugify(title)}",
)
LearningSequenceFactory(title="Rechtsstreitigkeiten", parent=circle)
@ -448,7 +453,7 @@ def create_circle_reisen(lp, title="Reisen"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/media/versicherungsvermittler-in-media/category/{slugify(title)}",
content_url=f"/course/versicherungsvermittler-in/media/category/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -512,7 +517,7 @@ def create_circle_einkommenssicherung(lp, title="Einkommenssicherung"):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/media/versicherungsvermittler-in-media/category/{slugify(title)}",
content_url=f"/course/versicherungsvermittler-in/media/category/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -581,7 +586,7 @@ def create_circle_standard_small(
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/media/versicherungsvermittler-in-media/category/{slugify(title, allow_unicode=True)}",
content_url=f"/course/versicherungsvermittler-in/media/category/{slugify(title, allow_unicode=True)}",
)
if lu_title is None:
@ -611,7 +616,7 @@ def create_circle_standard(lp, title, lc_title, goals=None, description=None):
LearningContentMediaLibraryFactory(
title=f"Mediathek {title}",
parent=circle,
content_url=f"/media/versicherungsvermittler-in-media/category/{slugify(title)}",
content_url=f"/course/versicherungsvermittler-in/media/category/{slugify(title)}",
)
LearningSequenceFactory(title="Einstieg", parent=circle)
@ -706,6 +711,7 @@ def create_circle_betreuen(lp, title="Betreuen"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Rafael Fasel hat Ärger mit seinem Vermieter",
@ -721,6 +727,7 @@ def create_circle_betreuen(lp, title="Betreuen"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Familie Babic spart auf ein Ziel",
@ -736,6 +743,7 @@ def create_circle_betreuen(lp, title="Betreuen"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Familie Bonsera kauft ein Haus",
@ -751,6 +759,7 @@ def create_circle_betreuen(lp, title="Betreuen"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Patrizia Feller macht sich selbstständig",
@ -766,6 +775,7 @@ def create_circle_betreuen(lp, title="Betreuen"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningContentPlaceholderFactory(
title="Davide und Giulia vererben ihr Haus",
@ -796,6 +806,7 @@ def create_circle_vernetzen(lp, title="Vernetzen"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningSequenceFactory(title="Training", parent=circle)
@ -827,6 +838,7 @@ def create_circle_pruefungsvorbereitung(lp, title="Prüfungsvorbereitung"):
LearningContentPlaceholderFactory(
title="Mediathek",
parent=circle,
content_url="/course/versicherungsvermittler-in/media",
)
LearningSequenceFactory(title="Aufbau", parent=circle)