vbv/server/vbv_lernwelt/media_library/content_blocks.py

50 lines
1.3 KiB
Python

from wagtail import blocks
class MediaLibraryContentBlock(blocks.StructBlock):
title = blocks.TextBlock()
description = blocks.TextBlock(default="", required=False)
icon_url = blocks.TextBlock(default="", required=False)
link_display_text = blocks.CharBlock(max_length=255, default="Link öffnen")
url = blocks.TextBlock(default="", required=False)
open_window = blocks.BooleanBlock(default=False)
# page = blocks.PageChooserBlock(
# page_type=["learnpath.LearningContent"], required=False
# )
class ExternalLinkBlock(MediaLibraryContentBlock):
pass
class InternalLinkBlock(MediaLibraryContentBlock):
pass
class RelativeLinkBlock(MediaLibraryContentBlock):
pass
class LearnMediaBlock(MediaLibraryContentBlock):
pass
class MediaContentCollection(blocks.StructBlock):
"""
Lernmedien, Links, Querverweise, Verankerung
"""
title = blocks.TextBlock()
description = blocks.TextBlock(default="", required=False)
contents = blocks.StreamBlock(
[
("learn_media", MediaLibraryContentBlock()),
("external_link", ExternalLinkBlock()),
("internal_link", InternalLinkBlock()),
("relative_link", RelativeLinkBlock()),
]
)
class Meta:
icon = "link"