Events calendar management for wagtail, with tools for filtering by date.
This project is a hard fork of omni-wagtail-events, and we owe a debt of gratitude to those folks for getting us started. So why did I hard-fork (duplicate and start again) rather than fork from omni-digital?
- Well, github keeps the releases of the repo you fork from. I want to put this on pypi so it's easily available, and have control of the release versioning (which isn't close to ready for v1.x where it started with omni-digital), so it needs to be here.
- I'm basically about to break everything for django 2.x and wagtail 2.x, so I'd need a major version bump anyway, and figured that the chances of getting my changes merged into the upstream were nil.
- The rich text fields make
omni-wagtail-eventsa nightmare to use in headless API mode, and mean that most of the events data is unstructured. Here, we move to Wagtail's
StreamField... but that creates a migration headache unless we start fresh.
- The migrations in the original project won't work with an in-memory database, so testing is slow.
- I've majorly simplified the model structure to singleton events. I think this is all that's reqiured in 99.9% of cases.
I'm extremely open to collaboration - in fact, I really don't want to be maintaining this (it's only for one client) so I'm open to transferring ownership or collaboration to anyone who wants to take this on and enhance it. @omni-digital, this originated as your baby so if you'd like to take back maintenance, please reach out and I'll help you.
Wagtail events requires Django 2.1 or later and Wagtail 2.3 or later.
Installing from pip:
pip install wagtail_events
INSTALLED_APPS = [ ... 'wagtail_events', ... ]
Running the migrations:
python manage migrate wagtail_events
An index/listing page for EventSeries instances, with optional pagination.
A detail page for an event, with start_date and optional end_date, implementing a manager which allows filtering on those dates.