Merged in feature/VBV-634-pruefungs-lehrgang (pull request #272)

Add new Lehrgang

Approved-by: Daniel Egger
This commit is contained in:
Christian Cueni 2024-01-24 07:33:35 +00:00
commit 8f39b17d1e
5 changed files with 80 additions and 0 deletions

View File

@ -8,3 +8,4 @@ COURSE_UK_IT = -8
COURSE_UK_TRAINING_IT = -9
COURSE_VERSICHERUNGSVERMITTLERIN_FR_ID = -10
COURSE_VERSICHERUNGSVERMITTLERIN_IT_ID = -11
COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID = -12

View File

@ -1,5 +1,6 @@
from vbv_lernwelt.course.consts import COURSE_VERSICHERUNGSVERMITTLERIN_ID
from vbv_lernwelt.course.factories import CoursePageFactory
from vbv_lernwelt.course.models import CircleContactType
from vbv_lernwelt.course.utils import get_wagtail_default_site
@ -20,6 +21,8 @@ def create_versicherungsvermittlerin_with_categories(
id=course_id,
title=title,
category_name="Handlungsfeld",
enable_circle_documents=False,
circle_contact_type=CircleContactType.LEARNING_MENTOR.value,
)
CourseCategory.objects.get_or_create(course=course, title="Allgemein", general=True)

View File

@ -59,6 +59,7 @@ from vbv_lernwelt.course.consts import (
COURSE_VERSICHERUNGSVERMITTLERIN_FR_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_IT_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID,
)
from vbv_lernwelt.course.creators.test_course import (
create_edoniq_test_assignment,
@ -95,6 +96,7 @@ from vbv_lernwelt.importer.services import (
from vbv_lernwelt.learning_mentor.models import LearningMentor
from vbv_lernwelt.learnpath.create_vv_new_learning_path import (
create_vv_new_learning_path,
create_vv_pruefung_learning_path,
)
from vbv_lernwelt.learnpath.models import (
Circle,
@ -153,6 +155,9 @@ def command(course):
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_IT_ID, language="it"
)
if COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID in course:
create_versicherungsvermittlerin_pruefung_course()
if COURSE_UK in course:
create_course_uk_de()
create_course_uk_de_course_sessions()
@ -276,6 +281,34 @@ def create_versicherungsvermittlerin_course(
)
def create_versicherungsvermittlerin_pruefung_course(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID, language="de"
):
names = {
"de": "Versicherungsvermittler/-in VBV Prüfung",
"fr": "Intermédiaire dassurance AFA Examen",
"it": "Intermediario/a assicurativo/a AFA Esame",
}
# Versicherungsvermittler/in mit neuen Circles
course = create_versicherungsvermittlerin_with_categories(
course_id=course_id,
title=names[language],
)
# assignments create assignments parent page
_assignment_list_page = AssignmentListPageFactory(
parent=course.coursepage,
)
create_vv_new_competence_profile(course_id=course_id)
create_default_media_library(course_id=course_id)
create_vv_reflection(course_id=course_id)
CourseSession.objects.create(course_id=course_id, title=names[language])
create_vv_pruefung_learning_path(course_id=course_id)
def create_course_uk_de(course_id=COURSE_UK, lang="de"):
names = {
"de": "Überbetriebliche Kurse",

View File

@ -0,0 +1,23 @@
import djclick as click
from vbv_lernwelt.course.consts import COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID
from vbv_lernwelt.course.management.commands.create_default_courses import (
create_versicherungsvermittlerin_pruefung_course,
)
from vbv_lernwelt.course.models import Course
ADMIN_EMAILS = ["info@iterativ.ch", "admin"]
@click.command()
def command():
print(
"Creating Vermittler Prüfung course",
COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID,
)
if Course.objects.filter(id=COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID).exists():
print("Course already exists, skipping")
return
create_versicherungsvermittlerin_pruefung_course()

View File

@ -83,6 +83,26 @@ def create_vv_new_learning_path(
Page.objects.update(owner=user)
def create_vv_pruefung_learning_path(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, user=None
):
if user is None:
user = User.objects.get(username="info@iterativ.ch")
course_page = CoursePage.objects.get(course_id=course_id)
lp = LearningPathFactory(
title="Lernpfad",
parent=course_page,
)
TopicFactory(title="Prüfung", parent=lp)
create_circle_pruefungsvorbereitung(lp)
create_circle_pruefung(lp)
# all pages belong to 'admin' by default
Page.objects.update(owner=user)
def create_circle_basis(lp, title="Basis"):
circle = CircleFactory(
title=title,