from wagtail import blocks class AssignmentBlock(blocks.StructBlock): # TODO: Find way to let user select assignment through foreign key # Wagtail block data is not stored as "true" database objects, # but only as JSON text stored against the page, so there's no way to define relations such as ForeignKeys. # A possible solution are InlinePanels: https://docs.wagtail.org/en/stable/reference/pages/panels.html#inlinepanel assignment_slug = blocks.TextBlock() class Meta: icon = "media" class BookBlock(blocks.StructBlock): description = blocks.TextBlock() url = blocks.TextBlock() class Meta: icon = "media" class DocumentBlock(blocks.StructBlock): description = blocks.TextBlock() url = blocks.TextBlock() class Meta: icon = "media" class ExerciseBlock(blocks.StructBlock): description = blocks.TextBlock() url = blocks.TextBlock() class Meta: icon = "media" class LearningModuleBlock(blocks.StructBlock): description = blocks.TextBlock() url = blocks.TextBlock() class Meta: icon = "media" class MediaLibraryBlock(blocks.StructBlock): description = blocks.TextBlock() url = blocks.TextBlock() class Meta: icon = "media" class OnlineTrainingBlock(blocks.StructBlock): description = blocks.TextBlock() url = blocks.TextBlock() class Meta: icon = "media" class ResourceBlock(blocks.StructBlock): description = blocks.TextBlock() url = blocks.TextBlock() text = blocks.RichTextBlock(required=False) class Meta: icon = "media" class TestBlock(blocks.StructBlock): description = blocks.TextBlock() url = blocks.TextBlock() class Meta: icon = "media" class VideoBlock(blocks.StructBlock): # TODO: Possible video Types for the user, upload file, add URL description = blocks.TextBlock() url = blocks.TextBlock() class Meta: icon = "media" class PlaceholderBlock(blocks.StructBlock): description = blocks.TextBlock() url = blocks.TextBlock() class Meta: icon = "media" class FeedbackBlock(blocks.StructBlock): class Meta: icon = "media" class AttendanceDayBlock(blocks.StructBlock): description = blocks.TextBlock() class Meta: icon = "media"