class TagChooserBlock(blocks.ChooserBlock):
target_model = Tag
widget = forms.Select
class TutorialCategoryBlock(blocks.StructBlock):
tag = TagChooserBlock(required=True)
heading = blocks.CharBlock(required=True)
left_nav = blocks.BooleanBlock(required=False, default=True,
help_text='Whether to show in left navigation.')
class TutorialIndexPage(TwilioDocsMixin, Page):
"""A page type for the Tutorial index"""
body = StreamField([
('rich_text', blocks.RichTextBlock(icon='edit')),
('markdown', blocks.TextBlock(icon='form', template='core/markdown.html')),
('category', TutorialCategoryBlock(icon='folder'))
])