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_UK1 from vbv_lernwelt.course.models import CoursePage from vbv_lernwelt.learnpath.create_default_learning_path import ( create_learning_content_beenden, ) from vbv_lernwelt.learnpath.tests.learning_path_factories import ( CircleFactory, LearningContentFactory, LearningPathFactory, LearningSequenceFactory, LearningUnitFactory, TopicFactory, ) # todo: remove when all Handlungsfelder are ready READY_HF = ["Fahrzeug", "Reisen"] def create_uk_learning_path(course_id=COURSE_UK1, 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="Kickoff", is_visible=False, parent=lp) create_uk_circle(lp, title="Kickoff") TopicFactory(title="Basis", is_visible=False, parent=lp) create_uk_circle(lp, title="Basis") TopicFactory(title="Fahrzeug", is_visible=False, parent=lp) create_uk_circle(lp, title="Fahrzeug") TopicFactory(title="Haushalt Teil 1", is_visible=False, parent=lp) create_uk_circle(lp, title="Haushalt Teil 1") TopicFactory(title="Haushalt Teil 2", is_visible=False, parent=lp) create_uk_circle(lp, title="Haushalt Teil 2") # circle_analyse = create_circle("Betreuen", lp) # create_circle_children(circle_analyse, "Betreuen") # # TopicFactory(title="Prüfung", is_visible=True, parent=lp) # circle_analyse = create_circle("Prüfungsvorbereitung", lp) # create_circle_children(circle_analyse, "Prüfungsvorbereitung") # 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) def create_uk_circle(lp, title="Kickoff"): circle = CircleFactory( title=title, parent=lp, description=""" In diesem Circle erfährst du wie der Lehrgang aufgebaut ist. Zudem lernst du die wichtigsten Grundlagen, damit du erfolgreich mit deinem Lernpfad (durch-)starten kannst. """.strip(), goal_description="In diesem Circle baust du Grundlagenwissen für die folgenden Themenfelder auf:", goals=[ ("goal", "Aufbau und Umgang mit dem Lernpfad"), ("goal", "Lerntechnik"), ("goal", "Arbeitstechnik"), ("goal", "Beraten und Verkaufen"), ("goal", "Versicherungswirtschaft"), ("goal", "Versicherungsrecht"), ], job_situations=[], ) LearningSequenceFactory(title="Start", parent=circle, icon="it-icon-ls-start") LearningUnitFactory(title="Einführung", parent=circle) LearningContentFactory( title="Willkommen im üK", parent=circle, ) LearningUnitFactory(title="Arbeits- und Lerntechnik", parent=circle) LearningContentFactory( title="Mediathek", parent=circle, ) LearningContentFactory( title="Luca organisiert seinen Arbeitsalltag", parent=circle, ) LearningContentFactory( title="Luca legt sich seine Lernstrategie zurecht", parent=circle, ) LearningContentFactory( title="Fachcheck Arbeits- und Lerntechnik", parent=circle, ) LearningSequenceFactory(title="Training", parent=circle, icon="it-icon-ls-watch") LearningUnitFactory(title="Versicherung", parent=circle) LearningContentFactory( title="Mediathek", parent=circle, ) LearningContentFactory( title="Luca startet durch", parent=circle, ) LearningContentFactory( title="Fachcheck Allgemeines zu Versicherungen", parent=circle, ) LearningUnitFactory(title="Beratung und Verkauf", parent=circle) LearningContentFactory( title="Mediathek", parent=circle, ) LearningContentFactory( title="Luca macht sich fit im Verkauf", parent=circle, ) LearningContentFactory( title="Fachcheck Beratung und Verkauf", parent=circle, ) LearningSequenceFactory( title="Kompetenznachweis", parent=circle, icon="it-icon-ls-watch" ) LearningUnitFactory(title="Sozialer Auftritt", parent=circle) LearningContentFactory( title="Mediathek", parent=circle, ) LearningContentFactory( title="Lerninhalt offen", parent=circle, ) LearningContentFactory( title="Fachcheck Sozialer Auftritt", parent=circle, ) LearningSequenceFactory( title="Nachbearbeitung", parent=circle, icon="it-icon-ls-watch" ) LearningUnitFactory(title="Sozialer Auftritt", parent=circle) LearningContentFactory( title="Mediathek", parent=circle, ) LearningContentFactory( title="Lerninhalt offen", parent=circle, ) LearningContentFactory( title="Fachcheck Sozialer Auftritt", parent=circle, ) LearningSequenceFactory(title="Abschluss", parent=circle, icon="it-icon-ls-end") LearningUnitFactory(title="Circle beenden", parent=circle) create_learning_content_beenden(circle)