71 lines
1.4 KiB
Python
71 lines
1.4 KiB
Python
from wagtail.core import blocks
|
|
from wagtail.snippets.blocks import SnippetChooserBlock
|
|
|
|
from assignments.models import Assignment
|
|
|
|
DEFAULT_RICH_TEXT_FEATURES = ['bold', 'italic', 'link', 'ol', 'ul']
|
|
|
|
|
|
# link_block
|
|
class LinkBlock(blocks.StructBlock):
|
|
class Meta:
|
|
icon = 'link'
|
|
|
|
text = blocks.TextBlock()
|
|
url = blocks.URLBlock()
|
|
|
|
|
|
# 'text_block' 'task'
|
|
class TextBlock(blocks.StructBlock):
|
|
class Meta:
|
|
icon = 'doc-full'
|
|
|
|
text = blocks.RichTextBlock()
|
|
|
|
|
|
# 'basic_knowledge'
|
|
class BasicKnowledgeBlock(blocks.StructBlock):
|
|
class Meta:
|
|
icon = 'placeholder'
|
|
|
|
description = blocks.RichTextBlock()
|
|
basic_knowledge = blocks.PageChooserBlock(required=True, target_model='basicknowledge.BasicKnowledge')
|
|
|
|
|
|
# 'image_url'
|
|
class ImageUrlBlock(blocks.StructBlock):
|
|
class Meta:
|
|
icon = 'image'
|
|
|
|
title = blocks.TextBlock()
|
|
url = blocks.URLBlock()
|
|
|
|
|
|
# 'assignment'
|
|
class AssignmentBlock(blocks.StructBlock):
|
|
class Meta:
|
|
icon = 'download'
|
|
|
|
assignment_id = SnippetChooserBlock(Assignment)
|
|
|
|
|
|
# 'video_block'
|
|
class VideoBlock(blocks.StructBlock):
|
|
class Meta:
|
|
icon = 'media'
|
|
|
|
url = blocks.URLBlock()
|
|
|
|
|
|
# 'document_block'
|
|
class DocumentBlock(blocks.StructBlock):
|
|
class Meta:
|
|
icon = 'doc-full'
|
|
|
|
url = blocks.URLBlock()
|
|
|
|
# 'text_block' 'task' 'basic_knowledge' 'student_entry' 'image_block'
|
|
#
|
|
# url = blocks.URLBlock()
|
|
# document = DocumentChooserBlock()
|