feat(home/models.py): add EventPage model
This commit is contained in:
@@ -1,12 +1,17 @@
|
|||||||
from django.contrib.auth.models import Group
|
from django import forms
|
||||||
from django.forms import CheckboxSelectMultiple
|
from django.contrib.auth.models import Group, User
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.forms import CheckboxSelectMultiple
|
||||||
from wagtail.admin.panels import FieldPanel
|
from wagtail.admin.panels import FieldPanel
|
||||||
from wagtail.fields import RichTextField
|
from wagtail.fields import RichTextField, StreamField
|
||||||
from wagtail.models import Page
|
from wagtail.models import Page
|
||||||
from wagtail.models.copying import ParentalManyToManyField
|
from wagtail.models.copying import ParentalManyToManyField
|
||||||
|
|
||||||
|
|
||||||
|
# class EmptyPage(Page):
|
||||||
|
# pass
|
||||||
|
|
||||||
|
|
||||||
class HomePage(Page):
|
class HomePage(Page):
|
||||||
body = RichTextField(blank=True)
|
body = RichTextField(blank=True)
|
||||||
|
|
||||||
@@ -65,3 +70,34 @@ class CourseModulePage(Page):
|
|||||||
return self.title
|
return self.title
|
||||||
|
|
||||||
content_panels = Page.content_panels + ["body"]
|
content_panels = Page.content_panels + ["body"]
|
||||||
|
|
||||||
|
|
||||||
|
class EventPage(Page):
|
||||||
|
image = models.ForeignKey(
|
||||||
|
"wagtailimages.Image",
|
||||||
|
null=True,
|
||||||
|
blank=True,
|
||||||
|
on_delete=models.SET_NULL,
|
||||||
|
related_name="+",
|
||||||
|
)
|
||||||
|
start = models.DateTimeField()
|
||||||
|
end = models.DateTimeField()
|
||||||
|
|
||||||
|
# TODO: use google maps here
|
||||||
|
location = models.CharField(max_length=255, blank=True)
|
||||||
|
|
||||||
|
description = RichTextField(blank=True)
|
||||||
|
hosts = ParentalManyToManyField(
|
||||||
|
User,
|
||||||
|
related_name="hosted_events",
|
||||||
|
help_text="Select users who will be listed as hosts of this event.",
|
||||||
|
)
|
||||||
|
|
||||||
|
content_panels = Page.content_panels + [
|
||||||
|
FieldPanel("image"),
|
||||||
|
FieldPanel("start"),
|
||||||
|
FieldPanel("end"),
|
||||||
|
FieldPanel("location"),
|
||||||
|
FieldPanel("hosts", widget=CheckboxSelectMultiple),
|
||||||
|
FieldPanel("description"),
|
||||||
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user