Merged in feature/VBV-380-test-lehrgang (pull request #95)
Add üK-Training course Approved-by: Daniel Egger
This commit is contained in:
commit
6f65f189de
|
|
@ -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"
|
||||
),
|
||||
)
|
||||
|
|
@ -3,3 +3,4 @@ COURSE_VERSICHERUNGSVERMITTLERIN_OLD_ID = -2
|
|||
COURSE_UK = -3
|
||||
COURSE_VERSICHERUNGSVERMITTLERIN_ID = -4
|
||||
COURSE_UK_FR = -5
|
||||
COURSE_UK_TRAINING = -6
|
||||
|
|
|
|||
|
|
@ -319,6 +319,7 @@ def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
|
|||
description="In diesem Circle lernst du alles rund um Motorfahrzeugversicherungen.",
|
||||
goals=UK_CIRCLE_GOALS["fahrzeug"],
|
||||
)
|
||||
course_slug = lp.slug.replace("-lp", "")
|
||||
LearningSequenceFactory(
|
||||
title="Vorbereitung", parent=circle, icon="it-icon-ls-start"
|
||||
)
|
||||
|
|
@ -330,14 +331,14 @@ def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
|
|||
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)}",
|
||||
content_url=f"/course/{course_slug}/media/category/{slugify(title)}",
|
||||
)
|
||||
LearningContentAssignmentFactory(
|
||||
title="Fahrzeug - Mein erstes Auto",
|
||||
assignment_type="PREP_ASSIGNMENT",
|
||||
parent=circle,
|
||||
content_assignment=Assignment.objects.get(
|
||||
slug__startswith="überbetriebliche-kurse-assignment-fahrzeug-mein-erstes-auto"
|
||||
slug__startswith=f"{course_slug}-assignment-fahrzeug-mein-erstes-auto"
|
||||
),
|
||||
),
|
||||
LearningSequenceFactory(title="Training", parent=circle)
|
||||
|
|
@ -360,7 +361,7 @@ def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
|
|||
title="Überprüfen einer Motorfahrzeug-Versicherungspolice",
|
||||
parent=circle,
|
||||
content_assignment=Assignment.objects.get(
|
||||
slug__startswith="überbetriebliche-kurse-assignment-überprüfen-einer-motorfahrzeugs"
|
||||
slug__startswith=f"{course_slug}-assignment-überprüfen-einer-motorfahrzeugs"
|
||||
),
|
||||
),
|
||||
LearningContentAssignmentFactory(
|
||||
|
|
@ -368,7 +369,7 @@ def create_uk_circle_fahrzeug(lp, title="Fahrzeug"):
|
|||
assignment_type="REFLECTION",
|
||||
parent=circle,
|
||||
content_assignment=Assignment.objects.get(
|
||||
slug__startswith="überbetriebliche-kurse-assignment-fahrzeug-reflexionsfragen"
|
||||
slug__startswith=f"{course_slug}-assignment-fahrzeug-reflexionsfragen"
|
||||
),
|
||||
),
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,53 @@
|
|||
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.creators.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)
|
||||
|
|
@ -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.creators.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,54 @@ 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
|
||||
course = create_versicherungsvermittlerin_with_categories(
|
||||
course_id=COURSE_UK_TRAINING, title="myVBV Training"
|
||||
)
|
||||
|
||||
# assignments create assignments parent page
|
||||
_assignment_list_page = AssignmentListPageFactory(
|
||||
parent=course.coursepage,
|
||||
)
|
||||
create_uk_casework(course_id=COURSE_UK_TRAINING)
|
||||
create_uk_prep_assignment(course_id=COURSE_UK_TRAINING)
|
||||
create_uk_reflection(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)
|
||||
|
||||
cs = CourseSession.objects.create(
|
||||
course_id=COURSE_UK_TRAINING,
|
||||
title="Demo-Tag",
|
||||
attendance_courses=[
|
||||
{
|
||||
"learningContentId": LearningContentAttendanceCourse.objects.get(
|
||||
slug=f"{course.slug}-lp-circle-fahrzeug-lc-präsenzkurs-fahrzeug"
|
||||
).id,
|
||||
"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",
|
||||
}
|
||||
],
|
||||
assignment_details_list=[
|
||||
{
|
||||
"learningContentId": LearningContentAssignment.objects.get(
|
||||
slug=f"{course.slug}-lp-circle-fahrzeug-lc-überprüfen-einer-motorfahrzeug-versicherungspolice"
|
||||
).id,
|
||||
"submissionDeadlineDateTimeUtc": "2023-06-13T19:00:00Z",
|
||||
"evaluationDeadlineDateTimeUtc": "2023-06-27T19:00:00Z",
|
||||
},
|
||||
{
|
||||
"learningContentId": LearningContentAssignment.objects.get(
|
||||
slug=f"{course.slug}-lp-circle-fahrzeug-lc-fahrzeug-mein-erstes-auto"
|
||||
).id,
|
||||
"submissionDeadlineDateTimeUtc": "2023-06-13T19:00:00Z",
|
||||
"evaluationDeadlineDateTimeUtc": "2023-06-27T19:00:00Z",
|
||||
},
|
||||
],
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue