# Create your models here. from django.db import models from wagtail.admin.edit_handlers import FieldPanel from wagtail.core.fields import RichTextField from wagtail.core.models import Page # class HomePage(Page): # body = RichTextField(default='', blank=True) # # content_panels = Page.content_panels + [ # FieldPanel('body', classname="full"), # ] class LearningPath(Page): content_panels = Page.content_panels + [ FieldPanel('title', classname="full"), ] subpage_types = ['learnpath.Topic'] class Meta: verbose_name = "Learning Path" def __str__(self): return f"{self.title}" class Topic(Page): is_visible = models.BooleanField(default=True) content_panels = Page.content_panels + [ FieldPanel('is_visible', classname="full"), ] parent_page_types = ['learnpath.LearningPath'] subpage_types = ['learnpath.Circle'] class Meta: verbose_name = "Topic" def __str__(self): return f"{self.title}" # TODO: Ordering class Circle(Page): description = models.TextField(default="", blank=True) goals = models.TextField(default="", blank=True) parent_page_types = ['learnpath.Topic'] subpage_types = ['learnpath.LearningSequence'] content_panels = Page.content_panels + [ FieldPanel('description'), FieldPanel('goals'), ] class Meta: verbose_name = "Circle" def __str__(self): return f"{self.title}" class LearningSequence(Page): parent_page_types = ['learnpath.Circle'] subpage_types = ['learnpath.LearningUnit'] class Meta: verbose_name = "homepage" def __str__(self): return f"{self.title}" class LearningUnit(Page): parent_page_types = ['learnpath.Circle'] class Meta: verbose_name = "Learning Unig" def __str__(self): return f"{self.title}"