From 7e1bfffac18ded978955f3df9e42f8b758972d07 Mon Sep 17 00:00:00 2001 From: Christian Cueni Date: Mon, 22 May 2023 12:57:25 +0200 Subject: [PATCH 01/29] Remove fake content --- client/src/locales/de.json | 1 + client/src/pages/DashboardPage.vue | 57 +++--------------------------- 2 files changed, 5 insertions(+), 53 deletions(-) diff --git a/client/src/locales/de.json b/client/src/locales/de.json index b6f0a240..19290013 100644 --- a/client/src/locales/de.json +++ b/client/src/locales/de.json @@ -78,6 +78,7 @@ "yes": "Ja" }, "dashboard": { + "courses": "Kurse", "welcome": "Willkommen, {name}" }, "feedback": { diff --git a/client/src/pages/DashboardPage.vue b/client/src/pages/DashboardPage.vue index e7b1f3bf..ebdae959 100644 --- a/client/src/pages/DashboardPage.vue +++ b/client/src/pages/DashboardPage.vue @@ -10,12 +10,6 @@ log.debug("DashboardPage created"); const userStore = useUserStore(); const courseSessionsStore = useCourseSessionsStore(); -function employer() { - return userStore.email.indexOf("eiger-versicherungen.ch") > -1 - ? "Eiger Versicherungen, Niederlassung Bern" - : "VBV"; -} - onMounted(async () => { log.debug("DashboardPage mounted"); }); @@ -32,7 +26,7 @@ onMounted(async () => { v-if="courseSessionsStore.uniqueCourseSessionsByCourse.length > 0" class="mb-14" > -

Kurse

+

{{ $t("dashboard.courses") }}

{
-
+
From 132c115e8b4d72824421d0c96c9b2a9e7d8f022a Mon Sep 17 00:00:00 2001 From: Elia Bieri Date: Tue, 23 May 2023 14:50:07 +0200 Subject: [PATCH 02/29] Rename attendance days to attendance courses --- .../LearningContentParent.vue | 4 +- .../AttendanceCourse.vue} | 11 +- ...DayBlock.vue => AttendanceCourseBlock.vue} | 14 +- .../__tests__/learning_path_json.json | 874 +++++++++--------- client/src/services/circle.ts | 2 +- .../stores/__tests__/courseSession.spec.ts | 2 +- client/src/stores/courseSessions.ts | 12 +- client/src/types.ts | 10 +- client/src/utils/typeMaps.ts | 4 +- .../course/creators/test_course.py | 8 +- .../commands/create_default_courses.py | 13 +- .../management/commands/create_uk_course.py | 8 +- ...e_days_coursesession_attendance_courses.py | 18 + server/vbv_lernwelt/course/models.py | 6 +- server/vbv_lernwelt/course/serializers.py | 2 +- ...anceday_learningcontentattendancecourse.py | 23 + server/vbv_lernwelt/learnpath/models.py | 4 +- .../tests/learning_path_factories.py | 6 +- 18 files changed, 532 insertions(+), 489 deletions(-) rename client/src/pages/learningPath/learningContentPage/{attendanceDay/AttendanceDay.vue => attendanceCourse/AttendanceCourse.vue} (70%) rename client/src/pages/learningPath/learningContentPage/blocks/{AttendanceDayBlock.vue => AttendanceCourseBlock.vue} (61%) create mode 100644 server/vbv_lernwelt/course/migrations/0003_rename_attendance_days_coursesession_attendance_courses.py create mode 100644 server/vbv_lernwelt/learnpath/migrations/0003_rename_learningcontentattendanceday_learningcontentattendancecourse.py diff --git a/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue b/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue index 57347bae..e34bae26 100644 --- a/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue +++ b/client/src/pages/learningPath/learningContentPage/LearningContentParent.vue @@ -7,7 +7,7 @@ import log from "loglevel"; import type { Component } from "vue"; import { computed, onUnmounted } from "vue"; import AssignmentBlock from "./blocks/AssignmentBlock.vue"; -import AttendanceDayBlock from "./blocks/AttendanceDayBlock.vue"; +import AttendanceCourseBlock from "./blocks/AttendanceCourseBlock.vue"; import FeedbackBlock from "./blocks/FeedbackBlock.vue"; import IframeBlock from "./blocks/IframeBlock.vue"; import MediaLibraryBlock from "./blocks/MediaLibraryBlock.vue"; @@ -26,7 +26,7 @@ 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, - "learnpath.LearningContentAttendanceDay": AttendanceDayBlock, + "learnpath.LearningContentAttendanceCourse": AttendanceCourseBlock, "learnpath.LearningContentFeedback": FeedbackBlock, "learnpath.LearningContentLearningModule": IframeBlock, "learnpath.LearningContentMediaLibrary": MediaLibraryBlock, diff --git a/client/src/pages/learningPath/learningContentPage/attendanceDay/AttendanceDay.vue b/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue similarity index 70% rename from client/src/pages/learningPath/learningContentPage/attendanceDay/AttendanceDay.vue rename to client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue index a7a5b564..e3d46fc0 100644 --- a/client/src/pages/learningPath/learningContentPage/attendanceDay/AttendanceDay.vue +++ b/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue @@ -2,25 +2,26 @@

Datum

-

{{ attendanceDay.date }}

+

{{ attendanceCourse.date }}

Standort

-

{{ attendanceDay.location }}

+

{{ attendanceCourse.location }}

Trainer

-

{{ attendanceDay.trainer }}

+

{{ attendanceCourse.trainer }}

diff --git a/client/src/pages/learningPath/learningContentPage/blocks/AttendanceDayBlock.vue b/client/src/pages/learningPath/learningContentPage/blocks/AttendanceCourseBlock.vue similarity index 61% rename from client/src/pages/learningPath/learningContentPage/blocks/AttendanceDayBlock.vue rename to client/src/pages/learningPath/learningContentPage/blocks/AttendanceCourseBlock.vue index 00d18e95..c4276059 100644 --- a/client/src/pages/learningPath/learningContentPage/blocks/AttendanceDayBlock.vue +++ b/client/src/pages/learningPath/learningContentPage/blocks/AttendanceCourseBlock.vue @@ -1,18 +1,18 @@ @@ -24,8 +24,8 @@ const courseSessionAttendanceDay = computed(() => {
-
- +
+
Für diese Durchführung {{ content.id }} existieren noch keine Details diff --git a/client/src/services/__tests__/learning_path_json.json b/client/src/services/__tests__/learning_path_json.json index cc113776..22bf7daa 100644 --- a/client/src/services/__tests__/learning_path_json.json +++ b/client/src/services/__tests__/learning_path_json.json @@ -1,447 +1,447 @@ { - "id": 10, - "title": "Test Lernpfad", - "slug": "test-lehrgang-lp", - "content_type": "learnpath.LearningPath", - "translation_key": "9cf4fea4-9d6f-4297-ab99-68a65bf07bb5", - "frontend_url": "/course/test-lehrgang/learn", - "children": [ + "id": 10, + "title": "Test Lernpfad", + "slug": "test-lehrgang-lp", + "content_type": "learnpath.LearningPath", + "translation_key": "9cf4fea4-9d6f-4297-ab99-68a65bf07bb5", + "frontend_url": "/course/test-lehrgang/learn", + "children": [ + { + "id": 11, + "title": "Circle \u00dcK", + "slug": "test-lehrgang-lp-topic-circle-\u00fck", + "content_type": "learnpath.Topic", + "translation_key": "983f97f7-fd68-4678-860f-7a19bab0b94d", + "frontend_url": "", + "is_visible": false + }, + { + "id": 12, + "title": "Fahrzeug", + "slug": "test-lehrgang-lp-circle-fahrzeug", + "content_type": "learnpath.Circle", + "translation_key": "0286b096-2a55-4242-a277-ba15d478b79a", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug", + "children": [ { - "id": 11, - "title": "Circle \u00dcK", - "slug": "test-lehrgang-lp-topic-circle-\u00fck", - "content_type": "learnpath.Topic", - "translation_key": "983f97f7-fd68-4678-860f-7a19bab0b94d", - "frontend_url": "", - "is_visible": false + "id": 13, + "title": "Vorbereitung", + "slug": "test-lehrgang-lp-circle-fahrzeug-ls-vorbereitung", + "content_type": "learnpath.LearningSequence", + "translation_key": "dbc0e05f-a899-4524-b021-39a97ac1c542", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug#ls-vorbereitung", + "icon": "it-icon-ls-start" }, { - "id": 12, - "title": "Fahrzeug", - "slug": "test-lehrgang-lp-circle-fahrzeug", - "content_type": "learnpath.Circle", - "translation_key": "0286b096-2a55-4242-a277-ba15d478b79a", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug", - "children": [ - { - "id": 13, - "title": "Vorbereitung", - "slug": "test-lehrgang-lp-circle-fahrzeug-ls-vorbereitung", - "content_type": "learnpath.LearningSequence", - "translation_key": "dbc0e05f-a899-4524-b021-39a97ac1c542", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug#ls-vorbereitung", - "icon": "it-icon-ls-start" - }, - { - "id": 14, - "title": "Vorbereitung", - "slug": "test-lehrgang-lp-circle-fahrzeug-lu-vorbereitung", - "content_type": "learnpath.LearningUnit", - "translation_key": "626d656a-15d6-49ce-8b20-c035482802cd", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug#lu-vorbereitung", - "evaluate_url": "/course/test-lehrgang/learn/fahrzeug/evaluate/vorbereitung", - "course_category": { - "id": 1, - "title": "Allgemein", - "general": true - }, - "children": [ - { - "id": 18, - "title": "Innerhalb des Handlungsfelds \u00abFahrzeug\u00bb bin ich f\u00e4hig, die Ziele und Pl\u00e4ne des Kunden zu ergr\u00fcnden (SOLL).", - "slug": "test-lehrgang-competence-crit-x11-allgemein", - "content_type": "competence.PerformanceCriteria", - "translation_key": "d49be54d-51e5-4bf4-9238-365006c3b95d", - "frontend_url": "", - "competence_id": "X1.1" - }, - { - "id": 19, - "title": "Innerhalb des Handlungsfelds \u00abFahrzeug\u00bb bin ich f\u00e4hig, die IST-Situation des Kunden mit der geeigneten Gespr\u00e4chs-/Fragetechnik zu erfassen.", - "slug": "test-lehrgang-competence-crit-x11-allgemein-1", - "content_type": "competence.PerformanceCriteria", - "translation_key": "2fb68d58-3ab7-4192-865c-1e67ab9bcd15", - "frontend_url": "", - "competence_id": "X1.1" - } - ] - }, - { - "id": 15, - "title": "Verschaffe dir einen \u00dcberblick", - "slug": "test-lehrgang-lp-circle-fahrzeug-lc-verschaffe-dir-einen-\u00fcberblick", - "content_type": "learnpath.LearningContentPlaceholder", - "translation_key": "47698ce1-0e4f-446d-a23d-8a9e9c906ff7", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug/verschaffe-dir-einen-\u00fcberblick", - "minutes": 15, - "description": "Platzhalter", - "content_url": "" - }, - { - "id": 16, - "title": "Mediathek Fahrzeug", - "slug": "test-lehrgang-lp-circle-fahrzeug-lc-mediathek-fahrzeug", - "content_type": "learnpath.LearningContentMediaLibrary", - "translation_key": "34e79a3b-c1f9-49ff-b779-0149d614f02c", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug/mediathek-fahrzeug", - "minutes": 15, - "description": "", - "content_url": "/media/\u00fcberbetriebliche-kurse-media/category/fahrzeug" - }, - { - "id": 17, - "title": "Vorbereitungsauftrag", - "slug": "test-lehrgang-lp-circle-fahrzeug-lc-vorbereitungsauftrag", - "content_type": "learnpath.LearningContentPlaceholder", - "translation_key": "8feca9cd-4937-4406-b44d-564f341e8bfe", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug/vorbereitungsauftrag", - "minutes": 15, - "description": "Platzhalter", - "content_url": "" - }, - { - "id": 20, - "title": "Training", - "slug": "test-lehrgang-lp-circle-fahrzeug-ls-training", - "content_type": "learnpath.LearningSequence", - "translation_key": "b09f87c7-01fb-4967-98c1-894ac3144595", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug#ls-training", - "icon": "it-icon-ls-apply" - }, - { - "id": 21, - "title": "Unterlagen", - "slug": "test-lehrgang-lp-circle-fahrzeug-lu-unterlagen", - "content_type": "learnpath.LearningUnit", - "translation_key": "772d5352-87fa-46a7-8470-368d59565d3a", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug#lu-unterlagen", - "evaluate_url": "/course/test-lehrgang/learn/fahrzeug/evaluate/unterlagen", - "course_category": { - "id": 1, - "title": "Allgemein", - "general": true - }, - "children": [] - }, - { - "id": 22, - "title": "Unterlagen f\u00fcr den Unterricht", - "slug": "test-lehrgang-lp-circle-fahrzeug-lc-unterlagen-f\u00fcr-den-unterricht", - "content_type": "learnpath.LearningContentPlaceholder", - "translation_key": "ace9f1e8-5cb7-4b7c-b1c8-d43f2e4f7269", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug/unterlagen-f\u00fcr-den-unterricht", - "minutes": 15, - "description": "Platzhalter", - "content_url": "" - }, - { - "id": 23, - "title": "Pr\u00e4senztag", - "slug": "test-lehrgang-lp-circle-fahrzeug-lu-pr\u00e4senztag", - "content_type": "learnpath.LearningUnit", - "translation_key": "18bc5d1d-ddcf-4e54-b58c-58f1e8833af2", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug#lu-pr\u00e4senztag", - "evaluate_url": "/course/test-lehrgang/learn/fahrzeug/evaluate/pr\u00e4senztag", - "course_category": { - "id": 1, - "title": "Allgemein", - "general": true - }, - "children": [] - }, - { - "id": 24, - "title": "Pr\u00e4senztag Fahrzeug", - "slug": "test-lehrgang-lp-circle-fahrzeug-lc-pr\u00e4senztag-fahrzeug", - "content_type": "learnpath.LearningContentAttendanceDay", - "translation_key": "2441afae-83ea-4fb5-a938-8db4352ed6c5", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug/pr\u00e4senztag-fahrzeug", - "minutes": 15, - "description": "Platzhalter Beschreibung", - "content_url": "" - }, - { - "id": 25, - "title": "Kompetenznachweis", - "slug": "test-lehrgang-lp-circle-fahrzeug-lu-kompetenznachweis", - "content_type": "learnpath.LearningUnit", - "translation_key": "b115d4e0-f487-4d03-a7cf-08d90bb4813d", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug#lu-kompetenznachweis", - "evaluate_url": "/course/test-lehrgang/learn/fahrzeug/evaluate/kompetenznachweis", - "course_category": { - "id": 1, - "title": "Allgemein", - "general": true - }, - "children": [] - }, - { - "id": 26, - "title": "Wissens- und Verst\u00e4ndnisfragen", - "slug": "test-lehrgang-lp-circle-fahrzeug-lc-wissens-und-verst\u00e4ndnisfragen", - "content_type": "learnpath.LearningContentPlaceholder", - "translation_key": "053c32bd-6174-444b-95fe-35ad2e15edf5", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug/wissens-und-verst\u00e4ndnisfragen", - "minutes": 15, - "description": "Platzhalter", - "content_url": "" - }, - { - "id": 27, - "title": "Transfer", - "slug": "test-lehrgang-lp-circle-fahrzeug-ls-transfer", - "content_type": "learnpath.LearningSequence", - "translation_key": "58939dc7-dd19-4996-b4bf-aba348be092a", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug#ls-transfer", - "icon": "it-icon-ls-end" - }, - { - "id": 28, - "title": "Transfer", - "slug": "test-lehrgang-lp-circle-fahrzeug-lu-transfer", - "content_type": "learnpath.LearningUnit", - "translation_key": "185568d3-9ba3-433d-9480-4f492d9d3235", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug#lu-transfer", - "evaluate_url": "/course/test-lehrgang/learn/fahrzeug/evaluate/transfer", - "course_category": { - "id": 1, - "title": "Allgemein", - "general": true - }, - "children": [] - }, - { - "id": 29, - "title": "Reflexion", - "slug": "test-lehrgang-lp-circle-fahrzeug-lc-reflexion", - "content_type": "learnpath.LearningContentPlaceholder", - "translation_key": "c62d4cf6-2505-40f7-8764-41fa1ea0057c", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug/reflexion", - "minutes": 15, - "description": "Platzhalter", - "content_url": "" - }, - { - "id": 30, - "title": "\u00dcberpr\u00fcfen einer Motorfahrzeug-Versicherungspolice", - "slug": "test-lehrgang-lp-circle-fahrzeug-lc-\u00fcberpr\u00fcfen-einer-motorfahrzeug-versicherungspolice", - "content_type": "learnpath.LearningContentAssignment", - "translation_key": "53cc2b76-ea59-47a2-a15a-ebf19897e9b1", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug/\u00fcberpr\u00fcfen-einer-motorfahrzeug-versicherungspolice", - "minutes": 15, - "description": "", - "content_url": "", - "content_assignment_id": 9 - }, - { - "id": 31, - "title": "Feedback", - "slug": "test-lehrgang-lp-circle-fahrzeug-lc-feedback", - "content_type": "learnpath.LearningContentFeedback", - "translation_key": "d78bded2-a760-492c-9249-283230d98ce0", - "frontend_url": "/course/test-lehrgang/learn/fahrzeug/feedback", - "minutes": 15, - "description": "", - "content_url": "" - } - ], - "description": "In diesem Circle erf\u00e4hrst du wie der Lehrgang aufgebaut ist.\nZudem lernst du die wichtigsten Grundlagen,\ndamit du erfolgreich mit deinem Lernpfad (durch-)starten kannst.", - "goals": "\n

In diesem Circle erf\u00e4hrst du wie der Lehrgang aufgebaut ist. Zudem lernst du die wichtigsten Grundlagen,\n damit du erfolgreich mit deinem Lernpfad und in deinem Job (durch-)starten kannst.

\n

Du baust das Grundlagenwissen f\u00fcr die folgenden Themenfelder auf:

\n
    \n
  • Aufbau von myVBV und wie du dich im Lernpfad zurechtfindest
  • \n
  • Worauf die Ausbildung und die Zulassungspr\u00fcfung zum/zur Versicherungsvermittler/-in VBV basieren
  • \n
  • Organisation deiner Lernreise und deiner Zusammenarbeit mit deiner Lernbegleitung und einem\n Lernpartner/einer Lernpartnerin
  • \n
  • Tipps und Tricks zur Organisation eines erfolgreichen Arbeitsalltags
  • \n
  • Umgang mit den sozialen Medien und Datenschutz
  • \n
  • Basiswissen Versicherungswirtschaft
  • \n
  • Basiswissen Versicherungsrecht
  • \n
\n

Du arbeitest an folgenden Leistungskriterien aus dem Qualifikationsprofil:

\n

Arbeitsalltag/Lerneinheit: \u00abLucas Auftritt in den sozialen Medien und der Umgang mit sensiblen Daten\u00bb

\n

Ich bin f\u00e4hig, \u2026

\n
    \n
  • A3.1: \u2026 in Zusammenarbeit mit den IT-Spezialisten und der Marketingabteilung die Inhalte f\u00fcr den zu\n realisierenden Medienauftritt zielgruppengerecht festzulegen
  • \n
  • A3.2: \u2026 f\u00fcr die verschiedenen Kundensegmente die passenden sozialen Medien zu definieren
  • \n
  • A3.3. \u2026 die Inhalte compliant zu halten
  • \n
\n " + "id": 14, + "title": "Vorbereitung", + "slug": "test-lehrgang-lp-circle-fahrzeug-lu-vorbereitung", + "content_type": "learnpath.LearningUnit", + "translation_key": "626d656a-15d6-49ce-8b20-c035482802cd", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug#lu-vorbereitung", + "evaluate_url": "/course/test-lehrgang/learn/fahrzeug/evaluate/vorbereitung", + "course_category": { + "id": 1, + "title": "Allgemein", + "general": true + }, + "children": [ + { + "id": 18, + "title": "Innerhalb des Handlungsfelds \u00abFahrzeug\u00bb bin ich f\u00e4hig, die Ziele und Pl\u00e4ne des Kunden zu ergr\u00fcnden (SOLL).", + "slug": "test-lehrgang-competence-crit-x11-allgemein", + "content_type": "competence.PerformanceCriteria", + "translation_key": "d49be54d-51e5-4bf4-9238-365006c3b95d", + "frontend_url": "", + "competence_id": "X1.1" + }, + { + "id": 19, + "title": "Innerhalb des Handlungsfelds \u00abFahrzeug\u00bb bin ich f\u00e4hig, die IST-Situation des Kunden mit der geeigneten Gespr\u00e4chs-/Fragetechnik zu erfassen.", + "slug": "test-lehrgang-competence-crit-x11-allgemein-1", + "content_type": "competence.PerformanceCriteria", + "translation_key": "2fb68d58-3ab7-4192-865c-1e67ab9bcd15", + "frontend_url": "", + "competence_id": "X1.1" + } + ] }, { - "id": 32, - "title": "Circle VV", - "slug": "test-lehrgang-lp-topic-circle-vv", - "content_type": "learnpath.Topic", - "translation_key": "19611237-22e1-40e6-b5b1-a34ff470df14", - "frontend_url": "", - "is_visible": false + "id": 15, + "title": "Verschaffe dir einen \u00dcberblick", + "slug": "test-lehrgang-lp-circle-fahrzeug-lc-verschaffe-dir-einen-\u00fcberblick", + "content_type": "learnpath.LearningContentPlaceholder", + "translation_key": "47698ce1-0e4f-446d-a23d-8a9e9c906ff7", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug/verschaffe-dir-einen-\u00fcberblick", + "minutes": 15, + "description": "Platzhalter", + "content_url": "" }, { - "id": 33, - "title": "Reisen", - "slug": "test-lehrgang-lp-circle-reisen", - "content_type": "learnpath.Circle", - "translation_key": "2aaf0215-693a-407c-9f1c-bdb80f982c92", - "frontend_url": "/course/test-lehrgang/learn/reisen", - "children": [ - { - "id": 34, - "title": "Starten", - "slug": "test-lehrgang-lp-circle-reisen-ls-starten", - "content_type": "learnpath.LearningSequence", - "translation_key": "e4b0eac3-3a7c-435f-8151-f69c40b35fd6", - "frontend_url": "/course/test-lehrgang/learn/reisen#ls-starten", - "icon": "it-icon-ls-start" - }, - { - "id": 35, - "title": "Einf\u00fchrung", - "slug": "test-lehrgang-lp-circle-reisen-lu-einf\u00fchrung", - "content_type": "learnpath.LearningUnit", - "translation_key": "9f0d6302-d058-4f93-b08e-9dbd4b8b8ed3", - "frontend_url": "/course/test-lehrgang/learn/reisen#lu-einf\u00fchrung", - "evaluate_url": "/course/test-lehrgang/learn/reisen/evaluate/einf\u00fchrung", - "course_category": { - "id": 1, - "title": "Allgemein", - "general": true - }, - "children": [] - }, - { - "id": 36, - "title": "Verschaff dir einen \u00dcberblick", - "slug": "test-lehrgang-lp-circle-reisen-lc-verschaff-dir-einen-\u00fcberblick", - "content_type": "learnpath.LearningContentVideo", - "translation_key": "e666b414-175f-439d-9dfd-e1c434a8cc0e", - "frontend_url": "/course/test-lehrgang/learn/reisen/verschaff-dir-einen-\u00fcberblick", - "minutes": 15, - "description": "Willkommen im Lehrgang Versicherungsvermitler VBV", - "content_url": "https://player.vimeo.com/video/772512710?h=30f912f15a" - }, - { - "id": 37, - "title": "Mediathek Reisen", - "slug": "test-lehrgang-lp-circle-reisen-lc-mediathek-reisen", - "content_type": "learnpath.LearningContentMediaLibrary", - "translation_key": "3b4cae41-185f-40f2-86c0-f96057214ada", - "frontend_url": "/course/test-lehrgang/learn/reisen/mediathek-reisen", - "minutes": 15, - "description": "", - "content_url": "/media/test-lehrgang-media/category/reisen" - }, - { - "id": 38, - "title": "Analyse", - "slug": "test-lehrgang-lp-circle-reisen-ls-analyse", - "content_type": "learnpath.LearningSequence", - "translation_key": "84be9e5b-6517-4a6d-85a3-1bdf90f78780", - "frontend_url": "/course/test-lehrgang/learn/reisen#ls-analyse", - "icon": "it-icon-ls-apply" - }, - { - "id": 39, - "title": "Bedarfsanalyse, Ist- und Soll-Situation", - "slug": "test-lehrgang-lp-circle-reisen-lu-reisen", - "content_type": "learnpath.LearningUnit", - "translation_key": "7cc1e966-75db-4703-8de4-1a3171372299", - "frontend_url": "/course/test-lehrgang/learn/reisen#lu-reisen", - "evaluate_url": "/course/test-lehrgang/learn/reisen/evaluate/reisen", - "course_category": { - "id": 3, - "title": "Reisen", - "general": false - }, - "children": [ - { - "id": 41, - "title": "Ich bin f\u00e4hig zu Reisen eine Gespr\u00e4chsf\u00fchrung zu machen", - "slug": "test-lehrgang-competence-crit-y11-reisen", - "content_type": "competence.PerformanceCriteria", - "translation_key": "b82dfd37-649f-488c-a78e-c6a3257c3f43", - "frontend_url": "", - "competence_id": "Y1.1" - }, - { - "id": 42, - "title": "Ich bin f\u00e4hig zu Reisen eine Analyse zu machen", - "slug": "test-lehrgang-competence-crit-y21-reisen", - "content_type": "competence.PerformanceCriteria", - "translation_key": "9cf4e552-9dc1-46f8-b3e2-800e7bfd4afe", - "frontend_url": "", - "competence_id": "Y2.1" - } - ] - }, - { - "id": 40, - "title": "Emma und Ayla campen durch Amerika - Analyse", - "slug": "test-lehrgang-lp-circle-reisen-lc-emma-und-ayla-campen-durch-amerika-analyse", - "content_type": "learnpath.LearningContentLearningModule", - "translation_key": "a2b7889c-1143-4cc1-b4f7-0e611de60ee1", - "frontend_url": "/course/test-lehrgang/learn/reisen/emma-und-ayla-campen-durch-amerika-analyse", - "minutes": 15, - "description": "", - "content_url": "https://s3.eu-central-1.amazonaws.com/myvbv-wbt.iterativ.ch/emma-und-ayla-campen-durch-amerika-analyse-xapi-FZoZOP9y/index.html" - }, - { - "id": 43, - "title": "Transfer", - "slug": "test-lehrgang-lp-circle-reisen-ls-transfer", - "content_type": "learnpath.LearningSequence", - "translation_key": "655a349d-48e4-4831-b518-872d0714d9e3", - "frontend_url": "/course/test-lehrgang/learn/reisen#ls-transfer", - "icon": "it-icon-ls-end" - }, - { - "id": 44, - "title": "Transfer, Reflexion, Feedback", - "slug": "test-lehrgang-lp-circle-reisen-lu-transfer-reflexion-feedback", - "content_type": "learnpath.LearningUnit", - "translation_key": "8d7cc58a-3a91-49ea-906f-c1de57fec0b2", - "frontend_url": "/course/test-lehrgang/learn/reisen#lu-transfer-reflexion-feedback", - "evaluate_url": "/course/test-lehrgang/learn/reisen/evaluate/transfer-reflexion-feedback", - "course_category": { - "id": 1, - "title": "Allgemein", - "general": true - }, - "children": [] - }, - { - "id": 45, - "title": "Auswandern: Woran muss ich denken?", - "slug": "test-lehrgang-lp-circle-reisen-lc-auswandern-woran-muss-ich-denken", - "content_type": "learnpath.LearningContentPlaceholder", - "translation_key": "691d7659-8bd9-4baa-92fd-022e9d418c46", - "frontend_url": "/course/test-lehrgang/learn/reisen/auswandern-woran-muss-ich-denken", - "minutes": 15, - "description": "Platzhalter", - "content_url": "" - }, - { - "id": 46, - "title": "Fachcheck Reisen", - "slug": "test-lehrgang-lp-circle-reisen-lc-fachcheck-reisen", - "content_type": "learnpath.LearningContentPlaceholder", - "translation_key": "26294bc1-9dfe-4c17-a231-02a1387e8dcf", - "frontend_url": "/course/test-lehrgang/learn/reisen/fachcheck-reisen", - "minutes": 15, - "description": "Platzhalter", - "content_url": "" - }, - { - "id": 47, - "title": "Reflexion", - "slug": "test-lehrgang-lp-circle-reisen-lc-reflexion", - "content_type": "learnpath.LearningContentPlaceholder", - "translation_key": "cd091a5d-63e8-4a4d-8178-d0224e869146", - "frontend_url": "/course/test-lehrgang/learn/reisen/reflexion", - "minutes": 15, - "description": "Platzhalter", - "content_url": "" - }, - { - "id": 48, - "title": "Feedback", - "slug": "test-lehrgang-lp-circle-reisen-lc-feedback", - "content_type": "learnpath.LearningContentFeedback", - "translation_key": "ca35688c-f8ee-4aaf-b435-6e84163d9ea6", - "frontend_url": "/course/test-lehrgang/learn/reisen/feedback", - "minutes": 15, - "description": "", - "content_url": "" - } - ], - "description": "In diesem Circle erf\u00e4hrst du wie der Lehrgang aufgebaut ist. Zudem lernst du die wichtigsten Grundlagen, damit du\nerfolgreich mit deinem Lernpfad und in deinem Job (durch-)starten kannst.", - "goals": "\n

In diesem Circle erf\u00e4hrst du wie der Lehrgang aufgebaut ist. Zudem lernst du die wichtigsten Grundlagen,\n damit du erfolgreich mit deinem Lernpfad und in deinem Job (durch-)starten kannst.

\n

Du baust das Grundlagenwissen f\u00fcr die folgenden Themenfelder auf:

\n
    \n
  • Aufbau von myVBV und wie du dich im Lernpfad zurechtfindest
  • \n
  • Worauf die Ausbildung und die Zulassungspr\u00fcfung zum/zur Versicherungsvermittler/-in VBV basieren
  • \n
  • Organisation deiner Lernreise und deiner Zusammenarbeit mit deiner Lernbegleitung und einem\n Lernpartner/einer Lernpartnerin
  • \n
  • Tipps und Tricks zur Organisation eines erfolgreichen Arbeitsalltags
  • \n
  • Umgang mit den sozialen Medien und Datenschutz
  • \n
  • Basiswissen Versicherungswirtschaft
  • \n
  • Basiswissen Versicherungsrecht
  • \n
\n

Du arbeitest an folgenden Leistungskriterien aus dem Qualifikationsprofil:

\n

Arbeitsalltag/Lerneinheit: \u00abLucas Auftritt in den sozialen Medien und der Umgang mit sensiblen Daten\u00bb

\n

Ich bin f\u00e4hig, \u2026

\n
    \n
  • A3.1: \u2026 in Zusammenarbeit mit den IT-Spezialisten und der Marketingabteilung die Inhalte f\u00fcr den zu\n realisierenden Medienauftritt zielgruppengerecht festzulegen
  • \n
  • A3.2: \u2026 f\u00fcr die verschiedenen Kundensegmente die passenden sozialen Medien zu definieren
  • \n
  • A3.3. \u2026 die Inhalte compliant zu halten
  • \n
\n " + "id": 16, + "title": "Mediathek Fahrzeug", + "slug": "test-lehrgang-lp-circle-fahrzeug-lc-mediathek-fahrzeug", + "content_type": "learnpath.LearningContentMediaLibrary", + "translation_key": "34e79a3b-c1f9-49ff-b779-0149d614f02c", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug/mediathek-fahrzeug", + "minutes": 15, + "description": "", + "content_url": "/media/\u00fcberbetriebliche-kurse-media/category/fahrzeug" + }, + { + "id": 17, + "title": "Vorbereitungsauftrag", + "slug": "test-lehrgang-lp-circle-fahrzeug-lc-vorbereitungsauftrag", + "content_type": "learnpath.LearningContentPlaceholder", + "translation_key": "8feca9cd-4937-4406-b44d-564f341e8bfe", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug/vorbereitungsauftrag", + "minutes": 15, + "description": "Platzhalter", + "content_url": "" + }, + { + "id": 20, + "title": "Training", + "slug": "test-lehrgang-lp-circle-fahrzeug-ls-training", + "content_type": "learnpath.LearningSequence", + "translation_key": "b09f87c7-01fb-4967-98c1-894ac3144595", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug#ls-training", + "icon": "it-icon-ls-apply" + }, + { + "id": 21, + "title": "Unterlagen", + "slug": "test-lehrgang-lp-circle-fahrzeug-lu-unterlagen", + "content_type": "learnpath.LearningUnit", + "translation_key": "772d5352-87fa-46a7-8470-368d59565d3a", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug#lu-unterlagen", + "evaluate_url": "/course/test-lehrgang/learn/fahrzeug/evaluate/unterlagen", + "course_category": { + "id": 1, + "title": "Allgemein", + "general": true + }, + "children": [] + }, + { + "id": 22, + "title": "Unterlagen f\u00fcr den Unterricht", + "slug": "test-lehrgang-lp-circle-fahrzeug-lc-unterlagen-f\u00fcr-den-unterricht", + "content_type": "learnpath.LearningContentPlaceholder", + "translation_key": "ace9f1e8-5cb7-4b7c-b1c8-d43f2e4f7269", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug/unterlagen-f\u00fcr-den-unterricht", + "minutes": 15, + "description": "Platzhalter", + "content_url": "" + }, + { + "id": 23, + "title": "Pr\u00e4senztag", + "slug": "test-lehrgang-lp-circle-fahrzeug-lu-pr\u00e4senztag", + "content_type": "learnpath.LearningUnit", + "translation_key": "18bc5d1d-ddcf-4e54-b58c-58f1e8833af2", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug#lu-pr\u00e4senztag", + "evaluate_url": "/course/test-lehrgang/learn/fahrzeug/evaluate/pr\u00e4senztag", + "course_category": { + "id": 1, + "title": "Allgemein", + "general": true + }, + "children": [] + }, + { + "id": 24, + "title": "Pr\u00e4senztag Fahrzeug", + "slug": "test-lehrgang-lp-circle-fahrzeug-lc-pr\u00e4senztag-fahrzeug", + "content_type": "learnpath.LearningContentAttendanceCourse", + "translation_key": "2441afae-83ea-4fb5-a938-8db4352ed6c5", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug/pr\u00e4senztag-fahrzeug", + "minutes": 15, + "description": "Platzhalter Beschreibung", + "content_url": "" + }, + { + "id": 25, + "title": "Kompetenznachweis", + "slug": "test-lehrgang-lp-circle-fahrzeug-lu-kompetenznachweis", + "content_type": "learnpath.LearningUnit", + "translation_key": "b115d4e0-f487-4d03-a7cf-08d90bb4813d", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug#lu-kompetenznachweis", + "evaluate_url": "/course/test-lehrgang/learn/fahrzeug/evaluate/kompetenznachweis", + "course_category": { + "id": 1, + "title": "Allgemein", + "general": true + }, + "children": [] + }, + { + "id": 26, + "title": "Wissens- und Verst\u00e4ndnisfragen", + "slug": "test-lehrgang-lp-circle-fahrzeug-lc-wissens-und-verst\u00e4ndnisfragen", + "content_type": "learnpath.LearningContentPlaceholder", + "translation_key": "053c32bd-6174-444b-95fe-35ad2e15edf5", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug/wissens-und-verst\u00e4ndnisfragen", + "minutes": 15, + "description": "Platzhalter", + "content_url": "" + }, + { + "id": 27, + "title": "Transfer", + "slug": "test-lehrgang-lp-circle-fahrzeug-ls-transfer", + "content_type": "learnpath.LearningSequence", + "translation_key": "58939dc7-dd19-4996-b4bf-aba348be092a", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug#ls-transfer", + "icon": "it-icon-ls-end" + }, + { + "id": 28, + "title": "Transfer", + "slug": "test-lehrgang-lp-circle-fahrzeug-lu-transfer", + "content_type": "learnpath.LearningUnit", + "translation_key": "185568d3-9ba3-433d-9480-4f492d9d3235", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug#lu-transfer", + "evaluate_url": "/course/test-lehrgang/learn/fahrzeug/evaluate/transfer", + "course_category": { + "id": 1, + "title": "Allgemein", + "general": true + }, + "children": [] + }, + { + "id": 29, + "title": "Reflexion", + "slug": "test-lehrgang-lp-circle-fahrzeug-lc-reflexion", + "content_type": "learnpath.LearningContentPlaceholder", + "translation_key": "c62d4cf6-2505-40f7-8764-41fa1ea0057c", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug/reflexion", + "minutes": 15, + "description": "Platzhalter", + "content_url": "" + }, + { + "id": 30, + "title": "\u00dcberpr\u00fcfen einer Motorfahrzeug-Versicherungspolice", + "slug": "test-lehrgang-lp-circle-fahrzeug-lc-\u00fcberpr\u00fcfen-einer-motorfahrzeug-versicherungspolice", + "content_type": "learnpath.LearningContentAssignment", + "translation_key": "53cc2b76-ea59-47a2-a15a-ebf19897e9b1", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug/\u00fcberpr\u00fcfen-einer-motorfahrzeug-versicherungspolice", + "minutes": 15, + "description": "", + "content_url": "", + "content_assignment_id": 9 + }, + { + "id": 31, + "title": "Feedback", + "slug": "test-lehrgang-lp-circle-fahrzeug-lc-feedback", + "content_type": "learnpath.LearningContentFeedback", + "translation_key": "d78bded2-a760-492c-9249-283230d98ce0", + "frontend_url": "/course/test-lehrgang/learn/fahrzeug/feedback", + "minutes": 15, + "description": "", + "content_url": "" } - ], - "course": { - "id": -1, - "title": "Test Lehrgang", - "category_name": "Handlungsfeld", - "slug": "test-lehrgang" + ], + "description": "In diesem Circle erf\u00e4hrst du wie der Lehrgang aufgebaut ist.\nZudem lernst du die wichtigsten Grundlagen,\ndamit du erfolgreich mit deinem Lernpfad (durch-)starten kannst.", + "goals": "\n

In diesem Circle erf\u00e4hrst du wie der Lehrgang aufgebaut ist. Zudem lernst du die wichtigsten Grundlagen,\n damit du erfolgreich mit deinem Lernpfad und in deinem Job (durch-)starten kannst.

\n

Du baust das Grundlagenwissen f\u00fcr die folgenden Themenfelder auf:

\n
    \n
  • Aufbau von myVBV und wie du dich im Lernpfad zurechtfindest
  • \n
  • Worauf die Ausbildung und die Zulassungspr\u00fcfung zum/zur Versicherungsvermittler/-in VBV basieren
  • \n
  • Organisation deiner Lernreise und deiner Zusammenarbeit mit deiner Lernbegleitung und einem\n Lernpartner/einer Lernpartnerin
  • \n
  • Tipps und Tricks zur Organisation eines erfolgreichen Arbeitsalltags
  • \n
  • Umgang mit den sozialen Medien und Datenschutz
  • \n
  • Basiswissen Versicherungswirtschaft
  • \n
  • Basiswissen Versicherungsrecht
  • \n
\n

Du arbeitest an folgenden Leistungskriterien aus dem Qualifikationsprofil:

\n

Arbeitsalltag/Lerneinheit: \u00abLucas Auftritt in den sozialen Medien und der Umgang mit sensiblen Daten\u00bb

\n

Ich bin f\u00e4hig, \u2026

\n
    \n
  • A3.1: \u2026 in Zusammenarbeit mit den IT-Spezialisten und der Marketingabteilung die Inhalte f\u00fcr den zu\n realisierenden Medienauftritt zielgruppengerecht festzulegen
  • \n
  • A3.2: \u2026 f\u00fcr die verschiedenen Kundensegmente die passenden sozialen Medien zu definieren
  • \n
  • A3.3. \u2026 die Inhalte compliant zu halten
  • \n
\n " + }, + { + "id": 32, + "title": "Circle VV", + "slug": "test-lehrgang-lp-topic-circle-vv", + "content_type": "learnpath.Topic", + "translation_key": "19611237-22e1-40e6-b5b1-a34ff470df14", + "frontend_url": "", + "is_visible": false + }, + { + "id": 33, + "title": "Reisen", + "slug": "test-lehrgang-lp-circle-reisen", + "content_type": "learnpath.Circle", + "translation_key": "2aaf0215-693a-407c-9f1c-bdb80f982c92", + "frontend_url": "/course/test-lehrgang/learn/reisen", + "children": [ + { + "id": 34, + "title": "Starten", + "slug": "test-lehrgang-lp-circle-reisen-ls-starten", + "content_type": "learnpath.LearningSequence", + "translation_key": "e4b0eac3-3a7c-435f-8151-f69c40b35fd6", + "frontend_url": "/course/test-lehrgang/learn/reisen#ls-starten", + "icon": "it-icon-ls-start" + }, + { + "id": 35, + "title": "Einf\u00fchrung", + "slug": "test-lehrgang-lp-circle-reisen-lu-einf\u00fchrung", + "content_type": "learnpath.LearningUnit", + "translation_key": "9f0d6302-d058-4f93-b08e-9dbd4b8b8ed3", + "frontend_url": "/course/test-lehrgang/learn/reisen#lu-einf\u00fchrung", + "evaluate_url": "/course/test-lehrgang/learn/reisen/evaluate/einf\u00fchrung", + "course_category": { + "id": 1, + "title": "Allgemein", + "general": true + }, + "children": [] + }, + { + "id": 36, + "title": "Verschaff dir einen \u00dcberblick", + "slug": "test-lehrgang-lp-circle-reisen-lc-verschaff-dir-einen-\u00fcberblick", + "content_type": "learnpath.LearningContentVideo", + "translation_key": "e666b414-175f-439d-9dfd-e1c434a8cc0e", + "frontend_url": "/course/test-lehrgang/learn/reisen/verschaff-dir-einen-\u00fcberblick", + "minutes": 15, + "description": "Willkommen im Lehrgang Versicherungsvermitler VBV", + "content_url": "https://player.vimeo.com/video/772512710?h=30f912f15a" + }, + { + "id": 37, + "title": "Mediathek Reisen", + "slug": "test-lehrgang-lp-circle-reisen-lc-mediathek-reisen", + "content_type": "learnpath.LearningContentMediaLibrary", + "translation_key": "3b4cae41-185f-40f2-86c0-f96057214ada", + "frontend_url": "/course/test-lehrgang/learn/reisen/mediathek-reisen", + "minutes": 15, + "description": "", + "content_url": "/media/test-lehrgang-media/category/reisen" + }, + { + "id": 38, + "title": "Analyse", + "slug": "test-lehrgang-lp-circle-reisen-ls-analyse", + "content_type": "learnpath.LearningSequence", + "translation_key": "84be9e5b-6517-4a6d-85a3-1bdf90f78780", + "frontend_url": "/course/test-lehrgang/learn/reisen#ls-analyse", + "icon": "it-icon-ls-apply" + }, + { + "id": 39, + "title": "Bedarfsanalyse, Ist- und Soll-Situation", + "slug": "test-lehrgang-lp-circle-reisen-lu-reisen", + "content_type": "learnpath.LearningUnit", + "translation_key": "7cc1e966-75db-4703-8de4-1a3171372299", + "frontend_url": "/course/test-lehrgang/learn/reisen#lu-reisen", + "evaluate_url": "/course/test-lehrgang/learn/reisen/evaluate/reisen", + "course_category": { + "id": 3, + "title": "Reisen", + "general": false + }, + "children": [ + { + "id": 41, + "title": "Ich bin f\u00e4hig zu Reisen eine Gespr\u00e4chsf\u00fchrung zu machen", + "slug": "test-lehrgang-competence-crit-y11-reisen", + "content_type": "competence.PerformanceCriteria", + "translation_key": "b82dfd37-649f-488c-a78e-c6a3257c3f43", + "frontend_url": "", + "competence_id": "Y1.1" + }, + { + "id": 42, + "title": "Ich bin f\u00e4hig zu Reisen eine Analyse zu machen", + "slug": "test-lehrgang-competence-crit-y21-reisen", + "content_type": "competence.PerformanceCriteria", + "translation_key": "9cf4e552-9dc1-46f8-b3e2-800e7bfd4afe", + "frontend_url": "", + "competence_id": "Y2.1" + } + ] + }, + { + "id": 40, + "title": "Emma und Ayla campen durch Amerika - Analyse", + "slug": "test-lehrgang-lp-circle-reisen-lc-emma-und-ayla-campen-durch-amerika-analyse", + "content_type": "learnpath.LearningContentLearningModule", + "translation_key": "a2b7889c-1143-4cc1-b4f7-0e611de60ee1", + "frontend_url": "/course/test-lehrgang/learn/reisen/emma-und-ayla-campen-durch-amerika-analyse", + "minutes": 15, + "description": "", + "content_url": "https://s3.eu-central-1.amazonaws.com/myvbv-wbt.iterativ.ch/emma-und-ayla-campen-durch-amerika-analyse-xapi-FZoZOP9y/index.html" + }, + { + "id": 43, + "title": "Transfer", + "slug": "test-lehrgang-lp-circle-reisen-ls-transfer", + "content_type": "learnpath.LearningSequence", + "translation_key": "655a349d-48e4-4831-b518-872d0714d9e3", + "frontend_url": "/course/test-lehrgang/learn/reisen#ls-transfer", + "icon": "it-icon-ls-end" + }, + { + "id": 44, + "title": "Transfer, Reflexion, Feedback", + "slug": "test-lehrgang-lp-circle-reisen-lu-transfer-reflexion-feedback", + "content_type": "learnpath.LearningUnit", + "translation_key": "8d7cc58a-3a91-49ea-906f-c1de57fec0b2", + "frontend_url": "/course/test-lehrgang/learn/reisen#lu-transfer-reflexion-feedback", + "evaluate_url": "/course/test-lehrgang/learn/reisen/evaluate/transfer-reflexion-feedback", + "course_category": { + "id": 1, + "title": "Allgemein", + "general": true + }, + "children": [] + }, + { + "id": 45, + "title": "Auswandern: Woran muss ich denken?", + "slug": "test-lehrgang-lp-circle-reisen-lc-auswandern-woran-muss-ich-denken", + "content_type": "learnpath.LearningContentPlaceholder", + "translation_key": "691d7659-8bd9-4baa-92fd-022e9d418c46", + "frontend_url": "/course/test-lehrgang/learn/reisen/auswandern-woran-muss-ich-denken", + "minutes": 15, + "description": "Platzhalter", + "content_url": "" + }, + { + "id": 46, + "title": "Fachcheck Reisen", + "slug": "test-lehrgang-lp-circle-reisen-lc-fachcheck-reisen", + "content_type": "learnpath.LearningContentPlaceholder", + "translation_key": "26294bc1-9dfe-4c17-a231-02a1387e8dcf", + "frontend_url": "/course/test-lehrgang/learn/reisen/fachcheck-reisen", + "minutes": 15, + "description": "Platzhalter", + "content_url": "" + }, + { + "id": 47, + "title": "Reflexion", + "slug": "test-lehrgang-lp-circle-reisen-lc-reflexion", + "content_type": "learnpath.LearningContentPlaceholder", + "translation_key": "cd091a5d-63e8-4a4d-8178-d0224e869146", + "frontend_url": "/course/test-lehrgang/learn/reisen/reflexion", + "minutes": 15, + "description": "Platzhalter", + "content_url": "" + }, + { + "id": 48, + "title": "Feedback", + "slug": "test-lehrgang-lp-circle-reisen-lc-feedback", + "content_type": "learnpath.LearningContentFeedback", + "translation_key": "ca35688c-f8ee-4aaf-b435-6e84163d9ea6", + "frontend_url": "/course/test-lehrgang/learn/reisen/feedback", + "minutes": 15, + "description": "", + "content_url": "" + } + ], + "description": "In diesem Circle erf\u00e4hrst du wie der Lehrgang aufgebaut ist. Zudem lernst du die wichtigsten Grundlagen, damit du\nerfolgreich mit deinem Lernpfad und in deinem Job (durch-)starten kannst.", + "goals": "\n

In diesem Circle erf\u00e4hrst du wie der Lehrgang aufgebaut ist. Zudem lernst du die wichtigsten Grundlagen,\n damit du erfolgreich mit deinem Lernpfad und in deinem Job (durch-)starten kannst.

\n

Du baust das Grundlagenwissen f\u00fcr die folgenden Themenfelder auf:

\n
    \n
  • Aufbau von myVBV und wie du dich im Lernpfad zurechtfindest
  • \n
  • Worauf die Ausbildung und die Zulassungspr\u00fcfung zum/zur Versicherungsvermittler/-in VBV basieren
  • \n
  • Organisation deiner Lernreise und deiner Zusammenarbeit mit deiner Lernbegleitung und einem\n Lernpartner/einer Lernpartnerin
  • \n
  • Tipps und Tricks zur Organisation eines erfolgreichen Arbeitsalltags
  • \n
  • Umgang mit den sozialen Medien und Datenschutz
  • \n
  • Basiswissen Versicherungswirtschaft
  • \n
  • Basiswissen Versicherungsrecht
  • \n
\n

Du arbeitest an folgenden Leistungskriterien aus dem Qualifikationsprofil:

\n

Arbeitsalltag/Lerneinheit: \u00abLucas Auftritt in den sozialen Medien und der Umgang mit sensiblen Daten\u00bb

\n

Ich bin f\u00e4hig, \u2026

\n
    \n
  • A3.1: \u2026 in Zusammenarbeit mit den IT-Spezialisten und der Marketingabteilung die Inhalte f\u00fcr den zu\n realisierenden Medienauftritt zielgruppengerecht festzulegen
  • \n
  • A3.2: \u2026 f\u00fcr die verschiedenen Kundensegmente die passenden sozialen Medien zu definieren
  • \n
  • A3.3. \u2026 die Inhalte compliant zu halten
  • \n
\n " } -} \ No newline at end of file + ], + "course": { + "id": -1, + "title": "Test Lehrgang", + "category_name": "Handlungsfeld", + "slug": "test-lehrgang" + } +} diff --git a/client/src/services/circle.ts b/client/src/services/circle.ts index 6433b69d..7cacaff2 100644 --- a/client/src/services/circle.ts +++ b/client/src/services/circle.ts @@ -18,7 +18,7 @@ import values from "lodash/values"; function isLearningContentType(object: any): object is LearningContent { return ( object?.content_type === "learnpath.LearningContentAssignment" || - object?.content_type === "learnpath.LearningContentAttendanceDay" || + object?.content_type === "learnpath.LearningContentAttendanceCourse" || object?.content_type === "learnpath.LearningContentFeedback" || object?.content_type === "learnpath.LearningContentLearningModule" || object?.content_type === "learnpath.LearningContentMediaLibrary" || diff --git a/client/src/stores/__tests__/courseSession.spec.ts b/client/src/stores/__tests__/courseSession.spec.ts index 3a778fac..05ef71a1 100644 --- a/client/src/stores/__tests__/courseSession.spec.ts +++ b/client/src/stores/__tests__/courseSession.spec.ts @@ -51,7 +51,7 @@ describe("CourseSession Store", () => { competence_url: "/course/test-course/competence/", course_url: "/course/test-course/", media_library_url: "/course/test-course/media/", - attendance_days: [], + attendance_courses: [], additional_json_data: {}, documents: [], }, diff --git a/client/src/stores/courseSessions.ts b/client/src/stores/courseSessions.ts index c673f3fe..42af91b9 100644 --- a/client/src/stores/courseSessions.ts +++ b/client/src/stores/courseSessions.ts @@ -4,7 +4,7 @@ import type { CircleDocument, CourseSession, CourseSessionAssignmentDetails, - CourseSessionAttendanceDay, + CourseSessionAttendanceCourse, CourseSessionUser, ExpertSessionUser, } from "@/types"; @@ -206,12 +206,12 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => { ); } - function findAttendanceDay( + function findAttendanceCourse( contentId: number - ): CourseSessionAttendanceDay | undefined { + ): CourseSessionAttendanceCourse | undefined { if (currentCourseSession.value) { - return currentCourseSession.value.attendance_days.find( - (attendanceDay) => attendanceDay.learningContentId === contentId + return currentCourseSession.value.attendance_courses.find( + (attendanceCourse) => attendanceCourse.learningContentId === contentId ); } } @@ -238,7 +238,7 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => { addDocument, startUpload, removeDocument, - findAttendanceDay, + findAttendanceCourse, findAssignmentDetails, // use `useCurrentCourseSession` whenever possible diff --git a/client/src/types.ts b/client/src/types.ts index e8b871b5..4604d5ea 100644 --- a/client/src/types.ts +++ b/client/src/types.ts @@ -22,7 +22,7 @@ export interface CircleLight { export type LearningContent = | LearningContentAssignment - | LearningContentAttendanceDay + | LearningContentAttendanceCourse | LearningContentFeedback | LearningContentLearningModule | LearningContentMediaLibrary @@ -50,8 +50,8 @@ export interface LearningContentAssignment extends LearningContentInterface { readonly content_assignment_id: number; } -export interface LearningContentAttendanceDay extends LearningContentInterface { - readonly content_type: "learnpath.LearningContentAttendanceDay"; +export interface LearningContentAttendanceCourse extends LearningContentInterface { + readonly content_type: "learnpath.LearningContentAttendanceCourse"; } export interface LearningContentFeedback extends LearningContentInterface { @@ -391,7 +391,7 @@ export interface CircleDocument { } // TODO refactor, when a user can manually create these days -export interface CourseSessionAttendanceDay { +export interface CourseSessionAttendanceCourse { learningContentId: number; date: string; startTime: string; @@ -418,7 +418,7 @@ export interface CourseSession { competence_url: string; course_url: string; media_library_url: string; - attendance_days: CourseSessionAttendanceDay[]; + attendance_courses: CourseSessionAttendanceCourse[]; assignment_details_list: CourseSessionAssignmentDetails[]; documents: CircleDocument[]; users: CourseSessionUser[]; diff --git a/client/src/utils/typeMaps.ts b/client/src/utils/typeMaps.ts index 79653aa2..9a46197b 100644 --- a/client/src/utils/typeMaps.ts +++ b/client/src/utils/typeMaps.ts @@ -12,8 +12,8 @@ export function learningContentTypeData( switch (t) { case "learnpath.LearningContentAssignment": return { title: "Transferauftrag", icon: "it-icon-lc-assignment" }; - case "learnpath.LearningContentAttendanceDay": - return { title: "Präsenztag", icon: "it-icon-lc-training" }; + case "learnpath.LearningContentAttendanceCourse": + return { title: "Präsenzkurs", icon: "it-icon-lc-training" }; case "learnpath.LearningContentLearningModule": return { title: "Lernmodul", icon: "it-icon-lc-learning-module" }; case "learnpath.LearningContentMediaLibrary": diff --git a/server/vbv_lernwelt/course/creators/test_course.py b/server/vbv_lernwelt/course/creators/test_course.py index fef89574..d06fc7e7 100644 --- a/server/vbv_lernwelt/course/creators/test_course.py +++ b/server/vbv_lernwelt/course/creators/test_course.py @@ -34,7 +34,7 @@ from vbv_lernwelt.learnpath.models import Circle from vbv_lernwelt.learnpath.tests.learning_path_factories import ( CircleFactory, LearningContentAssignmentFactory, - LearningContentAttendanceDayFactory, + LearningContentAttendanceCourseFactory, LearningContentFeedbackFactory, LearningContentLearningModuleFactory, LearningContentMediaLibraryFactory, @@ -249,9 +249,9 @@ damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst. title="Unterlagen für den Unterricht", parent=circle, ) - LearningUnitFactory(title="Präsenztag", parent=circle) - LearningContentAttendanceDayFactory( - title="Präsenztag Fahrzeug", + LearningUnitFactory(title="Präsenzkurs", parent=circle) + LearningContentAttendanceCourseFactory( + title="Präsenzkurs Fahrzeug", parent=circle, ) LearningUnitFactory(title="Kompetenznachweis", parent=circle) 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 081eda91..610f2bbf 100644 --- a/server/vbv_lernwelt/course/management/commands/create_default_courses.py +++ b/server/vbv_lernwelt/course/management/commands/create_default_courses.py @@ -39,7 +39,7 @@ from vbv_lernwelt.learnpath.models import ( Circle, LearningContent, LearningContentAssignment, - LearningContentAttendanceDay, + LearningContentAttendanceCourse, ) from vbv_lernwelt.media_library.create_default_media_library import ( create_default_media_library, @@ -156,14 +156,13 @@ def create_course_uk_de(): cs = CourseSession.objects.create( course_id=COURSE_UK, title="Bern 2023 a", - attendance_days=[ + attendance_courses=[ { - "learningContentId": LearningContentAttendanceDay.objects.get( - slug="überbetriebliche-kurse-lp-circle-fahrzeug-lc-präsenztag-fahrzeug" + "learningContentId": LearningContentAttendanceCourse.objects.get( + slug="überbetriebliche-kurse-lp-circle-fahrzeug-lc-präsenzkurs-fahrzeug" ).id, - "date": "2023-09-18", - "startTime": "08:15", - "endTime": "17:00", + "start": "2022-05-23T13:07:23+0000", + "end": "2022-05-23T20:07:23+0000", "location": "Handelsschule KV Bern, Zimmer 123, Eigerstrasse 16, 3012 Bern", "trainer": "Roland Grossenbacher, roland.grossenbacher@helvetia.ch", } 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 7db84621..cfb3bce5 100644 --- a/server/vbv_lernwelt/course/management/commands/create_uk_course.py +++ b/server/vbv_lernwelt/course/management/commands/create_uk_course.py @@ -13,7 +13,7 @@ from vbv_lernwelt.course.models import CoursePage from vbv_lernwelt.learnpath.tests.learning_path_factories import ( CircleFactory, LearningContentAssignmentFactory, - LearningContentAttendanceDayFactory, + LearningContentAttendanceCourseFactory, LearningContentFeedbackFactory, LearningContentMediaLibraryFactory, LearningContentPlaceholderFactory, @@ -253,9 +253,9 @@ damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst. title="Unterlagen für den Unterricht", parent=circle, ) - LearningUnitFactory(title="Präsenztag", parent=circle) - LearningContentAttendanceDayFactory( - title="Präsenztag Fahrzeug", + LearningUnitFactory(title="Präsenzkurs", parent=circle) + LearningContentAttendanceCourseFactory( + title="Präsenzkurs Fahrzeug", parent=circle, ) LearningUnitFactory(title="Kompetenznachweis", parent=circle) diff --git a/server/vbv_lernwelt/course/migrations/0003_rename_attendance_days_coursesession_attendance_courses.py b/server/vbv_lernwelt/course/migrations/0003_rename_attendance_days_coursesession_attendance_courses.py new file mode 100644 index 00000000..1d6bdf96 --- /dev/null +++ b/server/vbv_lernwelt/course/migrations/0003_rename_attendance_days_coursesession_attendance_courses.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.13 on 2023-05-23 12:49 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('course', '0002_initial'), + ] + + operations = [ + migrations.RenameField( + model_name='coursesession', + old_name='attendance_days', + new_name='attendance_courses', + ), + ] diff --git a/server/vbv_lernwelt/course/models.py b/server/vbv_lernwelt/course/models.py index 15a2fa4a..7145cec6 100644 --- a/server/vbv_lernwelt/course/models.py +++ b/server/vbv_lernwelt/course/models.py @@ -190,7 +190,7 @@ class CourseSession(models.Model): Das anhängen kann via CourseSessionUser oder "Schulklasse (TODO)" geschehen """ - ATTENDANCE_DAYS_SCHEMA = { + ATTENDANCE_COURSES_SCHEMA = { "type": "array", "items": { "type": "object", @@ -216,7 +216,9 @@ class CourseSession(models.Model): start_date = models.DateField(null=True, blank=True) end_date = models.DateField(null=True, blank=True) - attendance_days = JSONField(schema=ATTENDANCE_DAYS_SCHEMA, blank=True, default=list) + attendance_courses = JSONField( + schema=ATTENDANCE_COURSES_SCHEMA, blank=True, default=list + ) assignment_details_list = models.JSONField(default=list, blank=True) additional_json_data = models.JSONField(default=dict, blank=True) diff --git a/server/vbv_lernwelt/course/serializers.py b/server/vbv_lernwelt/course/serializers.py index 63061161..579e667f 100644 --- a/server/vbv_lernwelt/course/serializers.py +++ b/server/vbv_lernwelt/course/serializers.py @@ -82,7 +82,7 @@ class CourseSessionSerializer(serializers.ModelSerializer): "start_date", "end_date", "additional_json_data", - "attendance_days", + "attendance_courses", "assignment_details_list", "learning_path_url", "competence_url", diff --git a/server/vbv_lernwelt/learnpath/migrations/0003_rename_learningcontentattendanceday_learningcontentattendancecourse.py b/server/vbv_lernwelt/learnpath/migrations/0003_rename_learningcontentattendanceday_learningcontentattendancecourse.py new file mode 100644 index 00000000..b932105b --- /dev/null +++ b/server/vbv_lernwelt/learnpath/migrations/0003_rename_learningcontentattendanceday_learningcontentattendancecourse.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.13 on 2023-05-23 12:49 + +from django.conf import settings +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('wagtailcore', '0083_workflowcontenttype'), + ('wagtailforms', '0005_alter_formsubmission_form_data'), + ('wagtailredirects', '0008_add_verbose_name_plural'), + ('contenttypes', '0002_remove_content_type_name'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('learnpath', '0002_learningcontentrichtext_text'), + ] + + operations = [ + migrations.RenameModel( + old_name='LearningContentAttendanceDay', + new_name='LearningContentAttendanceCourse', + ), + ] diff --git a/server/vbv_lernwelt/learnpath/models.py b/server/vbv_lernwelt/learnpath/models.py index 1e7ad1ea..29c25b3a 100644 --- a/server/vbv_lernwelt/learnpath/models.py +++ b/server/vbv_lernwelt/learnpath/models.py @@ -66,7 +66,7 @@ class Circle(CourseBasePage): "learnpath.LearningSequence", "learnpath.LearningUnit", "learnpath.LearningContentAssignment", - "learnpath.LearningContentAttendanceDay", + "learnpath.LearningContentAttendanceCourse", "learnpath.LearningContentFeedback", "learnpath.LearningContentLearningModule", "learnpath.LearningContentMediaLibrary", @@ -271,7 +271,7 @@ class LearningContent(CourseBasePage): super().save(**kwargs) -class LearningContentAttendanceDay(LearningContent): +class LearningContentAttendanceCourse(LearningContent): parent_page_types = ["learnpath.Circle"] subpage_types = [] diff --git a/server/vbv_lernwelt/learnpath/tests/learning_path_factories.py b/server/vbv_lernwelt/learnpath/tests/learning_path_factories.py index f25807ad..5233b99b 100644 --- a/server/vbv_lernwelt/learnpath/tests/learning_path_factories.py +++ b/server/vbv_lernwelt/learnpath/tests/learning_path_factories.py @@ -4,7 +4,7 @@ from wagtail.rich_text import RichText from vbv_lernwelt.learnpath.models import ( Circle, LearningContentAssignment, - LearningContentAttendanceDay, + LearningContentAttendanceCourse, LearningContentFeedback, LearningContentLearningModule, LearningContentMediaLibrary, @@ -84,14 +84,14 @@ class LearningUnitFactory(wagtail_factories.PageFactory): model = LearningUnit -class LearningContentAttendanceDayFactory(wagtail_factories.PageFactory): +class LearningContentAttendanceCourseFactory(wagtail_factories.PageFactory): title = "Platzhalter Inhalt" minutes = 15 description = RichText("Platzhalter Beschreibung") content_url = "" class Meta: - model = LearningContentAttendanceDay + model = LearningContentAttendanceCourse class LearningContentVideoFactory(wagtail_factories.PageFactory): From b7cdc0ddde4c61f3b754241cb084daefe46e192a Mon Sep 17 00:00:00 2001 From: Elia Bieri Date: Tue, 23 May 2023 15:35:19 +0200 Subject: [PATCH 03/29] Add attendance course start- and endtime --- .../attendanceCourse/AttendanceCourse.vue | 4 +++- client/src/types.ts | 6 ++---- server/vbv_lernwelt/course/models.py | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue b/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue index e3d46fc0..f8c2f4e9 100644 --- a/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue +++ b/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue @@ -2,7 +2,9 @@

Datum

-

{{ attendanceCourse.date }}

+

+ {{ attendanceCourse.start }} - {{ attendanceCourse.end }} +

diff --git a/client/src/types.ts b/client/src/types.ts index 4604d5ea..2241804c 100644 --- a/client/src/types.ts +++ b/client/src/types.ts @@ -390,12 +390,10 @@ export interface CircleDocument { learning_sequence: number; } -// TODO refactor, when a user can manually create these days export interface CourseSessionAttendanceCourse { learningContentId: number; - date: string; - startTime: string; - endTime: string; + start: string; + end: string; location: string; trainer: string; } diff --git a/server/vbv_lernwelt/course/models.py b/server/vbv_lernwelt/course/models.py index 7145cec6..71a94fe3 100644 --- a/server/vbv_lernwelt/course/models.py +++ b/server/vbv_lernwelt/course/models.py @@ -200,7 +200,8 @@ class CourseSession(models.Model): "title": "ID des Lerninhalts", "required": True, }, - "date": {"type": "string"}, + "start": {"type": "string", "format": "datetime"}, + "end": {"type": "string", "format": "datetime"}, "location": {"type": "string"}, "trainer": {"type": "string"}, }, From 09dcfcc418dda149c8849da9da92cd1359b5838d Mon Sep 17 00:00:00 2001 From: Elia Bieri Date: Tue, 23 May 2023 16:43:18 +0200 Subject: [PATCH 04/29] Implement additional fields --- .../attendanceCourse/AttendanceCourse.vue | 22 ++++++++++++++----- .../commands/create_default_courses.py | 4 ++-- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue b/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue index f8c2f4e9..615ccc80 100644 --- a/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue +++ b/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue @@ -2,28 +2,38 @@

Datum

-

- {{ attendanceCourse.start }} - {{ attendanceCourse.end }} -

+

{{ start }} - {{ end }}

Standort

-

{{ attendanceCourse.location }}

+

{{ location }}

Trainer

-

{{ attendanceCourse.trainer }}

+

{{ trainer }}

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 610f2bbf..5e3f6b1c 100644 --- a/server/vbv_lernwelt/course/management/commands/create_default_courses.py +++ b/server/vbv_lernwelt/course/management/commands/create_default_courses.py @@ -161,8 +161,8 @@ def create_course_uk_de(): "learningContentId": LearningContentAttendanceCourse.objects.get( slug="überbetriebliche-kurse-lp-circle-fahrzeug-lc-präsenzkurs-fahrzeug" ).id, - "start": "2022-05-23T13:07:23+0000", - "end": "2022-05-23T20:07:23+0000", + "start": "2023-05-23T08:30:00+0200", + "end": "2023-05-23T17:00:00+0200", "location": "Handelsschule KV Bern, Zimmer 123, Eigerstrasse 16, 3012 Bern", "trainer": "Roland Grossenbacher, roland.grossenbacher@helvetia.ch", } From 100e42bdd2ac607f4e8489f7fea45f2e679f20b8 Mon Sep 17 00:00:00 2001 From: Elia Bieri Date: Tue, 23 May 2023 16:43:24 +0200 Subject: [PATCH 05/29] Reformat code --- ...ndance_days_coursesession_attendance_courses.py | 8 ++++---- ...ttendanceday_learningcontentattendancecourse.py | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/server/vbv_lernwelt/course/migrations/0003_rename_attendance_days_coursesession_attendance_courses.py b/server/vbv_lernwelt/course/migrations/0003_rename_attendance_days_coursesession_attendance_courses.py index 1d6bdf96..3b013fb3 100644 --- a/server/vbv_lernwelt/course/migrations/0003_rename_attendance_days_coursesession_attendance_courses.py +++ b/server/vbv_lernwelt/course/migrations/0003_rename_attendance_days_coursesession_attendance_courses.py @@ -6,13 +6,13 @@ from django.db import migrations class Migration(migrations.Migration): dependencies = [ - ('course', '0002_initial'), + ("course", "0002_initial"), ] operations = [ migrations.RenameField( - model_name='coursesession', - old_name='attendance_days', - new_name='attendance_courses', + model_name="coursesession", + old_name="attendance_days", + new_name="attendance_courses", ), ] diff --git a/server/vbv_lernwelt/learnpath/migrations/0003_rename_learningcontentattendanceday_learningcontentattendancecourse.py b/server/vbv_lernwelt/learnpath/migrations/0003_rename_learningcontentattendanceday_learningcontentattendancecourse.py index b932105b..7c0b9f61 100644 --- a/server/vbv_lernwelt/learnpath/migrations/0003_rename_learningcontentattendanceday_learningcontentattendancecourse.py +++ b/server/vbv_lernwelt/learnpath/migrations/0003_rename_learningcontentattendanceday_learningcontentattendancecourse.py @@ -7,17 +7,17 @@ from django.db import migrations class Migration(migrations.Migration): dependencies = [ - ('wagtailcore', '0083_workflowcontenttype'), - ('wagtailforms', '0005_alter_formsubmission_form_data'), - ('wagtailredirects', '0008_add_verbose_name_plural'), - ('contenttypes', '0002_remove_content_type_name'), + ("wagtailcore", "0083_workflowcontenttype"), + ("wagtailforms", "0005_alter_formsubmission_form_data"), + ("wagtailredirects", "0008_add_verbose_name_plural"), + ("contenttypes", "0002_remove_content_type_name"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('learnpath', '0002_learningcontentrichtext_text'), + ("learnpath", "0002_learningcontentrichtext_text"), ] operations = [ migrations.RenameModel( - old_name='LearningContentAttendanceDay', - new_name='LearningContentAttendanceCourse', + old_name="LearningContentAttendanceDay", + new_name="LearningContentAttendanceCourse", ), ] From 1d0b956b5683c7d0522645d277ea224b9b03885e Mon Sep 17 00:00:00 2001 From: Elia Bieri Date: Tue, 23 May 2023 17:30:04 +0200 Subject: [PATCH 06/29] Update features of course goals rich text field --- server/vbv_lernwelt/learnpath/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/vbv_lernwelt/learnpath/models.py b/server/vbv_lernwelt/learnpath/models.py index 1e7ad1ea..7eb39134 100644 --- a/server/vbv_lernwelt/learnpath/models.py +++ b/server/vbv_lernwelt/learnpath/models.py @@ -84,7 +84,7 @@ class Circle(CourseBasePage): description = models.TextField(default="", blank=True) - goals = RichTextField() + goals = RichTextField(features=DEFAULT_RICH_TEXT_FEATURES_WITH_HEADER) content_panels = Page.content_panels + [ FieldPanel("description"), From 5e01de2d727be749cb60c0c1000831d53c4a395e Mon Sep 17 00:00:00 2001 From: Christian Cueni Date: Wed, 24 May 2023 07:29:40 +0200 Subject: [PATCH 07/29] Remove fake profile --- .../components/header/AccountMenuContent.vue | 3 -- client/src/pages/ProfilePage.vue | 51 ------------------- client/src/router/index.ts | 4 -- 3 files changed, 58 deletions(-) delete mode 100644 client/src/pages/ProfilePage.vue diff --git a/client/src/components/header/AccountMenuContent.vue b/client/src/components/header/AccountMenuContent.vue index 86cd540c..166ce523 100644 --- a/client/src/components/header/AccountMenuContent.vue +++ b/client/src/components/header/AccountMenuContent.vue @@ -26,9 +26,6 @@ const emit = defineEmits(["selectCourseSession", "logout"]);

{{ user.first_name }} {{ user.last_name }}

{{ user.email }}
-
- Profil anzeigen -
diff --git a/client/src/pages/ProfilePage.vue b/client/src/pages/ProfilePage.vue deleted file mode 100644 index 1c3e983a..00000000 --- a/client/src/pages/ProfilePage.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - - - diff --git a/client/src/router/index.ts b/client/src/router/index.ts index f1d89417..d5a2f8ad 100644 --- a/client/src/router/index.ts +++ b/client/src/router/index.ts @@ -155,10 +155,6 @@ const router = createRouter({ path: "/messages", component: () => import("@/pages/MessagesPage.vue"), }, - { - path: "/profile", - component: () => import("@/pages/ProfilePage.vue"), - }, { path: "/settings", component: () => import("@/pages/SettingsPage.vue"), From b2e9873666cb49c0399f6c5903d7a362d6a7e6a5 Mon Sep 17 00:00:00 2001 From: Christian Cueni Date: Wed, 24 May 2023 08:14:03 +0200 Subject: [PATCH 08/29] Show plural of "Benachrichtigung" --- .../src/components/notifications/NotificationPopoverContent.vue | 2 +- client/src/pages/NotificationsPage.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/components/notifications/NotificationPopoverContent.vue b/client/src/components/notifications/NotificationPopoverContent.vue index 5ceca56b..21281e6b 100644 --- a/client/src/components/notifications/NotificationPopoverContent.vue +++ b/client/src/components/notifications/NotificationPopoverContent.vue @@ -4,7 +4,7 @@ import { PopoverButton } from "@headlessui/vue";