Add üK-Training course

This commit is contained in:
Christian Cueni 2023-05-24 16:18:00 +02:00 committed by Daniel Egger
parent a783a7eb57
commit cee6c03630
4 changed files with 240 additions and 0 deletions

View File

@ -0,0 +1,162 @@
from vbv_lernwelt.competence.factories import (
CompetencePageFactory,
CompetenceProfilePageFactory,
PerformanceCriteriaFactory,
)
from vbv_lernwelt.competence.models import CompetencePage
from vbv_lernwelt.course.consts import COURSE_UK, COURSE_UK_FR
from vbv_lernwelt.course.models import CoursePage
from vbv_lernwelt.learnpath.models import LearningPath, LearningUnit
def create_uk_training_competence_profile(course_id=COURSE_UK):
course_page = CoursePage.objects.get(course_id=course_id)
slug_prefix = course_page.get_children().exact_type(LearningPath).first().slug
competence_profile_page = CompetenceProfilePageFactory(
title="KompetenzNavi",
parent=course_page,
)
competences = [
{
"competence_id": "c3",
"title": "Betriebliche Prozesse dokumentieren, koordinieren und umsetzen",
"items": [],
},
{
"competence_id": "e2",
"title": "Informationen im wirtschaftlichen und kaufmännischen Bereich recherchieren",
"items": [],
},
{
"competence_id": "e4",
"title": "Betriebsbezogene Inhalte multimedial aufbereiten",
"items": [],
},
{
"competence_id": "d2",
"title": "Informations- und Beratungsgespräche mit Kunden oder Lieferanten führen",
"items": [],
},
{
"competence_id": "d3",
"title": "Betriebliche Prozesse dokumentieren, koordinieren und umsetzen",
"items": [],
},
{
"competence_id": "d1",
"title": "Anliegen von Kunden oder Lieferanten entgegennehmen",
"items": [],
},
]
for c in competences:
print(c["title"])
CompetencePageFactory(
parent=competence_profile_page,
competence_id=c["competence_id"],
title=c["title"],
items=[("item", i) for i in c["items"]],
)
# Circle Fahrzeug
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
),
competence_id="c3.pv.ük2",
title="Ich bin fähig die relevanten rechtlichen Grundlagen im Handlungsfeld Fahrzeug situationsgerecht zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
),
competence_id="c3.pv.ük7",
title="Ich bin fähig die gesetzlichen Bestimmungen bei Schaden- und Leistungsfällen im Handlungsfeld Fahrzeug zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="c3"
),
competence_id="c3.pv.ük11",
title="Ich bin fähig die gängigen Versicherungslösungen im Handlungsbereich Fahrzeug fachkundig zu beurteilen.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ük1",
title="Ich bin fähig die wichtigsten gesetzlichen Grundlagen im Bereich Motorfahrzeugversicherung umfassend zu beschreiben.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ük2",
title="Ich bin fähig die relevanten Dienstleistungen und Produkte im Handlungsfeld Fahrzeug zu nennen.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ük3",
title="Ich bin fähig die Leistungen und Produkte im Handlungsfeld Fahrzeug zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="d2"
),
competence_id="d2.pv.ük4",
title="Ich bin fähig die Prozesse und Abläufe im Handlungsfeld Fahrzeug zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ük1",
title="Ich bin fähig die Dienstleistungen des eigenen Betriebs im Handlungsfeld Fahrzeug zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ük2",
title="Ich bin fähig Mitbewerber in der privaten Versicherungsbranche im Handlungsfeld Fahrzeug anhand der relevanten Kriterien zu unterscheiden.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
),
)
PerformanceCriteriaFactory(
parent=CompetencePage.objects.get(
slug__startswith=slug_prefix.replace("-lp", ""), competence_id="e4"
),
competence_id="e4.pv.ük4",
title="Ich bin fähig die Grundlagen der Produkte von Motorfahrzeugversicherungen zu erläutern.",
learning_unit=LearningUnit.objects.get(
slug=f"{slug_prefix}-circle-fahrzeug-lu-vorbereitung"
),
)

View File

@ -3,3 +3,4 @@ COURSE_VERSICHERUNGSVERMITTLERIN_OLD_ID = -2
COURSE_UK = -3
COURSE_VERSICHERUNGSVERMITTLERIN_ID = -4
COURSE_UK_FR = -5
COURSE_UK_TRAINING = -6

View File

@ -14,6 +14,9 @@ from vbv_lernwelt.competence.create_uk_competence_profile import (
create_uk_competence_profile,
create_uk_fr_competence_profile,
)
from vbv_lernwelt.competence.create_uk_training_competence_profile import (
create_uk_training_competence_profile,
)
from vbv_lernwelt.competence.create_vv_new_competence_profile import (
create_vv_new_competence_profile,
)
@ -24,6 +27,7 @@ from vbv_lernwelt.course.consts import (
COURSE_TEST_ID,
COURSE_UK,
COURSE_UK_FR,
COURSE_UK_TRAINING,
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
)
from vbv_lernwelt.course.creators.test_course import create_test_course
@ -31,6 +35,9 @@ from vbv_lernwelt.course.creators.uk_course import (
create_uk_fr_learning_path,
create_uk_learning_path,
)
from vbv_lernwelt.course.management.commands.create_uk_training_course import (
create_uk_training_learning_path,
)
from vbv_lernwelt.course.creators.versicherungsvermittlerin import (
create_versicherungsvermittlerin_with_categories,
)
@ -63,6 +70,7 @@ ADMIN_EMAILS = ["info@iterativ.ch", "admin"]
COURSE_UK,
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
COURSE_UK_FR,
COURSE_UK_TRAINING,
],
)
def command(course):
@ -90,6 +98,9 @@ def command(course):
if COURSE_TEST_ID in course:
create_test_course(with_sessions=True)
if COURSE_UK_TRAINING in course:
create_course_training_de()
def create_versicherungsvermittlerin_course():
# Versicherungsvermittler/in mit neuen Circles
@ -404,3 +415,14 @@ def create_course_uk_de_completion_data(course_session):
course_session=course_session,
completion_status="fail",
)
def create_course_training_de():
# Test Lehrgang für üK Trainer
create_versicherungsvermittlerin_with_categories(
course_id=COURSE_UK_TRAINING, title="myVBV Training"
)
create_uk_assignments(course_id=COURSE_UK_TRAINING)
create_uk_training_learning_path(course_id=COURSE_UK_TRAINING)
create_uk_training_competence_profile(course_id=COURSE_UK_TRAINING)
create_default_media_library(course_id=COURSE_UK_TRAINING)

View File

@ -0,0 +1,55 @@
import wagtail_factories
from django.conf import settings
from django.core.management import call_command
from wagtail.models import Locale, Page, Site
from wagtail_localize.models import LocaleSynchronization
from vbv_lernwelt.core.admin import User
from vbv_lernwelt.course.consts import COURSE_UK
from vbv_lernwelt.course.management.commands.create_uk_course import (
create_uk_circle_fahrzeug,
)
from vbv_lernwelt.course.models import CoursePage
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
LearningPathFactory,
TopicFactory,
)
def create_uk_training_learning_path(course_id=COURSE_UK, user=None, skip_locales=True):
if user is None:
user = User.objects.get(username="info@iterativ.ch")
site = Site.objects.filter(is_default_site=True).first()
if not site:
site = wagtail_factories.SiteFactory(is_default_site=True)
if settings.APP_ENVIRONMENT == "development":
site.port = 8000
site.save()
course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory(
title="Lernpfad",
parent=course_page,
)
TopicFactory(title="Training", is_visible=True, parent=lp)
create_uk_circle_fahrzeug(lp)
# locales
if not skip_locales:
locale_de = Locale.objects.get(language_code="de-CH")
locale_fr, _ = Locale.objects.get_or_create(language_code="fr-CH")
LocaleSynchronization.objects.get_or_create(
locale_id=locale_fr.id, sync_from_id=locale_de.id
)
locale_it, _ = Locale.objects.get_or_create(language_code="it-CH")
LocaleSynchronization.objects.get_or_create(
locale_id=locale_it.id, sync_from_id=locale_de.id
)
call_command("sync_locale_trees")
# all pages belong to 'admin' by default
Page.objects.update(owner=user)