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 def create_versicherungsvermittlerin_with_categories( apps=None, schema_editor=None, course_id=COURSE_VERSICHERUNGSVERMITTLERIN_ID, title="Versicherungsvermittler/-in", ): if apps is not None: Course = apps.get_model("course", "Course") CourseCategory = apps.get_model("course", "CourseCategory") else: # pylint: disable=import-outside-toplevel from vbv_lernwelt.course.models import Course, CourseCategory course, _ = Course.objects.get_or_create( 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) for cat in [ "Fahrzeug", "Reisen", "Einkommenssicherung", "Gesundheit", "Haushalt", "Sparen", "Pensionierung", "KMU", "Wohneigentum", "Rechtsstreitigkeiten", "Erben / Vererben", "Selbstständigkeit", ]: CourseCategory.objects.get_or_create(course=course, title=cat) course_page = CoursePageFactory( title=title, parent=get_wagtail_default_site().root_page, course=course, ) course.slug = course_page.slug course.save() return course