feat(home/models.py): add EventPage model

This commit is contained in:
2026-03-13 13:50:36 +01:00
parent 942df2f43a
commit 40e6c29b4c

View File

@@ -1,12 +1,17 @@
from django.contrib.auth.models import Group
from django.forms import CheckboxSelectMultiple
from django import forms
from django.contrib.auth.models import Group, User
from django.db import models
from django.forms import CheckboxSelectMultiple
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.copying import ParentalManyToManyField
# class EmptyPage(Page):
# pass
class HomePage(Page):
body = RichTextField(blank=True)
@@ -65,3 +70,34 @@ class CourseModulePage(Page):
return self.title
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"),
]