From decba980f50b925a3404f5ea8712364a9435b117 Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Wed, 17 May 2023 14:51:51 +0200 Subject: [PATCH] Rework Media Library --- .../LearningContentParent.vue | 4 +-- .../blocks/MediaLibraryBlock.vue | 20 +++++++------ .../course/creators/test_course.py | 8 ++++-- .../commands/create_default_courses.py | 6 ++-- .../management/commands/create_uk_course.py | 28 ++++++++++++++----- .../learnpath/create_vv_new_learning_path.py | 24 ++++++++++++---- 6 files changed, 61 insertions(+), 29 deletions(-) diff --git a/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue b/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue index e55c8c4a..57347bae 100644 --- a/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue +++ b/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue @@ -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 = { "learnpath.LearningContentAssignment": AssignmentBlock, diff --git a/client/src/pages/learningPath/learningContentPage/blocks/MediaLibraryBlock.vue b/client/src/pages/learningPath/learningContentPage/blocks/MediaLibraryBlock.vue index 2561b88a..ef8d0516 100644 --- a/client/src/pages/learningPath/learningContentPage/blocks/MediaLibraryBlock.vue +++ b/client/src/pages/learningPath/learningContentPage/blocks/MediaLibraryBlock.vue @@ -1,13 +1,13 @@ diff --git a/server/vbv_lernwelt/course/creators/test_course.py b/server/vbv_lernwelt/course/creators/test_course.py index 2ad16999..831f6968 100644 --- a/server/vbv_lernwelt/course/creators/test_course.py +++ b/server/vbv_lernwelt/course/creators/test_course.py @@ -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"

In der Mediathek unter dem Handlungsfeld «{title}» findest du alle relevanten Ressourcen für deine Fachkompetenzen.

" + f"

Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.

" + ), + content_url=f"/course/überbetriebliche-kurse/media/category/{slugify(title)}", ) LearningContentPlaceholderFactory( title="Vorbereitungsauftrag", diff --git a/server/vbv_lernwelt/course/management/commands/create_default_courses.py b/server/vbv_lernwelt/course/management/commands/create_default_courses.py index a87589fe..d4e2a028 100644 --- a/server/vbv_lernwelt/course/management/commands/create_default_courses.py +++ b/server/vbv_lernwelt/course/management/commands/create_default_courses.py @@ -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" diff --git a/server/vbv_lernwelt/course/management/commands/create_uk_course.py b/server/vbv_lernwelt/course/management/commands/create_uk_course.py index a386373a..7db84621 100644 --- a/server/vbv_lernwelt/course/management/commands/create_uk_course.py +++ b/server/vbv_lernwelt/course/management/commands/create_uk_course.py @@ -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"

In der Mediathek unter dem Handlungsfeld «{title}» findest du alle relevanten Ressourcen für deine Fachkompetenzen.

" + f"

Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.

" + ), + 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"

In der Mediathek unter dem Handlungsfeld «{title}» findest du alle relevanten Ressourcen für deine Fachkompetenzen.

" + f"

Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.

" + ), + 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"

In der Mediathek unter dem Handlungsfeld «{title}» findest du alle relevanten Ressourcen für deine Fachkompetenzen.

" + f"

Wir empfehlen dir vor der Absolvierung der weiteren Lerneinheiten dich in die Thematik einzulesen.

" + ), + content_url=f"/course/überbetriebliche-kurse/media/category/{slugify(title)}", ) LearningContentPlaceholderFactory( title="Vorbereitungsauftrag", diff --git a/server/vbv_lernwelt/learnpath/create_vv_new_learning_path.py b/server/vbv_lernwelt/learnpath/create_vv_new_learning_path.py index dff2fce3..b473429b 100644 --- a/server/vbv_lernwelt/learnpath/create_vv_new_learning_path.py +++ b/server/vbv_lernwelt/learnpath/create_vv_new_learning_path.py @@ -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)