Add Motorfahrzeug Prüfungs circle

This commit is contained in:
Christian Cueni 2024-02-28 17:16:18 +01:00
parent 47534d7714
commit 8e338f4773
5 changed files with 82 additions and 2 deletions

View File

@ -24,5 +24,8 @@ fi
# Create Prüfungslehrgang
python /app/manage.py create_vermittler_pruefung
# Create Motorfahrzeug Prüfungslehrgang
python /app/manage.py create_motorfahrzeug_pruefung
# Set the command to run supervisord
/home/django/.local/bin/supervisord -c /app/supervisord.conf

View File

@ -9,3 +9,4 @@ COURSE_UK_TRAINING_IT = -9
COURSE_VERSICHERUNGSVERMITTLERIN_FR_ID = -10
COURSE_VERSICHERUNGSVERMITTLERIN_IT_ID = -11
COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID = -12
COURSE_MOTORFAHRZEUG_PRUEFUNG_ID = -13

View File

@ -49,6 +49,7 @@ from vbv_lernwelt.core.constants import TEST_MENTOR1_USER_ID
from vbv_lernwelt.core.create_default_users import default_users
from vbv_lernwelt.core.models import User
from vbv_lernwelt.course.consts import (
COURSE_MOTORFAHRZEUG_PRUEFUNG_ID,
COURSE_TEST_ID,
COURSE_UK,
COURSE_UK_FR,
@ -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_motorfahrzeug_pruefung_learning_path,
create_vv_new_learning_path,
create_vv_pruefung_learning_path,
)
@ -309,6 +311,34 @@ def create_versicherungsvermittlerin_pruefung_course(
create_vv_pruefung_learning_path(course_id=course_id)
def create_motorfahrzeug_pruefung_course(
course_id=COURSE_MOTORFAHRZEUG_PRUEFUNG_ID, language="de"
):
names = {
"de": "Motorfahrzeug Versicherungsvermittler/-in VBV Prüfung",
"fr": "Véhicules à moteur Intermédiaire dassurance AFA Examen",
"it": "Veicolo a motore 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_motorfahrzeug_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_MOTORFAHRZEUG_PRUEFUNG_ID
from vbv_lernwelt.course.management.commands.create_default_courses import (
create_motorfahrzeug_pruefung_course,
)
from vbv_lernwelt.course.models import Course
ADMIN_EMAILS = ["info@iterativ.ch", "admin"]
@click.command()
def command():
print(
"Creating Motorfahrzeug Vermittler Prüfung course",
COURSE_MOTORFAHRZEUG_PRUEFUNG_ID,
)
if Course.objects.filter(id=COURSE_MOTORFAHRZEUG_PRUEFUNG_ID).exists():
print("Course already exists, skipping")
return
create_motorfahrzeug_pruefung_course()

View File

@ -12,7 +12,11 @@ from vbv_lernwelt.competence.factories import (
)
from vbv_lernwelt.competence.models import ActionCompetence
from vbv_lernwelt.core.admin import User
from vbv_lernwelt.course.consts import COURSE_VERSICHERUNGSVERMITTLERIN_ID
from vbv_lernwelt.course.consts import (
COURSE_MOTORFAHRZEUG_PRUEFUNG_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_ID,
COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID,
)
from vbv_lernwelt.course.models import CourseCategory, CoursePage
from vbv_lernwelt.learnpath.models import LearningUnitPerformanceFeedbackType
from vbv_lernwelt.learnpath.tests.learning_path_factories import (
@ -89,7 +93,7 @@ def create_vv_new_learning_path(
def create_vv_pruefung_learning_path(
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, user=None
course_id=COURSE_VERSICHERUNGSVERMITTLERIN_PRUEFUNG_ID, user=None
):
if user is None:
user = User.objects.get(username="info@iterativ.ch")
@ -108,6 +112,25 @@ def create_vv_pruefung_learning_path(
Page.objects.update(owner=user)
def create_vv_motorfahrzeug_pruefung_learning_path(
course_id=COURSE_MOTORFAHRZEUG_PRUEFUNG_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="Fahrzeug", parent=lp)
create_circle_fahrzeug(lp, course_page=course_page)
# all pages belong to 'admin' by default
Page.objects.update(owner=user)
def create_circle_basis(lp, title="Basis", course_page=None):
circle = CircleFactory(
title=title,