from wagtail.rich_text import RichText

from vbv_lernwelt.course.models import Course, CoursePage
from vbv_lernwelt.media_library.tests.media_library_factories import (
    MediaLibraryCategoryPageFactory,
    MediaLibraryContentPageFactory,
    MediaLibraryPageFactory,
    MediaLibraryUrlPageFactory,
)


def create_default_media_library(course_id):
    course = Course.objects.get(id=course_id)
    course_page = CoursePage.objects.get(course_id=course_id)

    media_lib_page = MediaLibraryPageFactory(
        title="Mediathek",
        parent=course_page,
    )

    media_lib_handlungsfelder = MediaLibraryCategoryPageFactory(
        title="Handlungsfelder",
        parent=media_lib_page,
    )

    media_lib_allgemeines = MediaLibraryCategoryPageFactory(
        title="Allgemeines",
        parent=media_lib_page,
    )

    MediaLibraryUrlPageFactory(
        title="Lexikon",
        parent=media_lib_page,
        content_url="https://www.vbv.ch/de/der-vbv/lernen-lehren/lexikon",
        url_open_blank=True,
    )

    handlungsfelder = [
        "Fahrzeug",
        "Reisen",
        "Einkommenssicherung",
        "Haushalt",
        "Wohneigentum",
        "Pensionierung",
        "Rechtsstreitigkeiten",
        "KMU",
        "Gesundheit",
    ]

    for cat in handlungsfelder:
        MediaLibraryContentPageFactory(
            title=cat,
            parent=media_lib_handlungsfelder,
            icon_detail_url=f"/static/icons/handlungsfelder/icon-hf-{cat.lower()}-detail.svg",
            icon_overview_url=f"/static/icons/handlungsfelder/icon-hf-{cat.lower()}.svg",
            description="""
            Das Auto ist für viele der grösste Stolz. Es birgt aber auch ein grosses Gefahrenpotenzial.
            Dabei geht es bei den heutigen Fahrzeugpreisen und Reparaturkosten rasch um namhafte Summen,
            die der Fahrzeugbesitzer und die Fahrzeugbesitzerin in einem grösseren Schadenfall oft nur schwer selbst aufbringen kann.
            """.strip(),
            body=RichText(
                f"<h2>Lernmedien</h2>"
                f"<h3>Allgemeines</h3>"
                f"<ul><li>Mit Risiken im Strassenverkehr umgehen</li><li>Versicherungsschutz</li><li>Vertragsarten</li><li>Zusammenfassung</li></ul>"
            ),
        )

    allgemeines = [
        "Versicherungswirtschaft",
        "Steuern",
        "Verkauf",
        "Recht",
        "Lern- und Arbeitstechnik",
        "Sozialversicherungen",
        "Hilfsmittel",
    ]

    for cat in allgemeines:
        MediaLibraryContentPageFactory(
            title=cat,
            parent=media_lib_allgemeines,
            body=RichText(
                f"<h2>Lernmedien</h2>"
                f"<h3>Allgemeines</h3>"
                f"<ul><li>Mit Risiken im Strassenverkehr umgehen</li><li>Versicherungsschutz</li><li>Vertragsarten</li><li>Zusammenfassung</li></ul>"
            ),
        )
