|
|
4c21e324f6
|
feat(pages.py): add posts ctx variable to BlogIndexPage
|
2026-04-23 19:53:41 +02:00 |
|
|
|
97df6349ab
|
feat(pages.py): delete event's future occurrences if unpublished
|
2026-04-23 18:17:24 +02:00 |
|
|
|
6d355b603d
|
fix(pages.py): fix event's other occurrences not being deleted when changing event from recurrent to single
Closes #1
|
2026-04-23 18:10:05 +02:00 |
|
|
|
d70bf79107
|
feat(pages.py): add EventIndexPage
|
2026-04-22 20:36:22 +02:00 |
|
|
|
37b0a6a95b
|
feat(pages.py): add blog pages
|
2026-03-30 10:13:12 +02:00 |
|
|
|
7e24ded8ee
|
fix(pages.py): generate event occurrences only if live
|
2026-03-30 10:13:12 +02:00 |
|
|
|
64edf6656e
|
feat(pages.py): add per-lesson repo fields
|
2026-03-30 10:13:03 +02:00 |
|
|
|
cb19bc6262
|
feat(models/pages.py): add repository_url field to CoursePage
|
2026-03-23 13:45:19 +01:00 |
|
|
|
a918ee73c4
|
fix(models/pages.py): ensure course has ID before creating group
|
2026-03-23 13:44:33 +01:00 |
|
|
|
b5e9e1ec66
|
feat(home/models/pages.py): add mock purchase login and auto group creation
|
2026-03-20 13:16:00 +01:00 |
|
|
|
4f58cb0320
|
feat(models/pages.py): add description field to CoursePage
|
2026-03-19 17:54:35 +01:00 |
|
|
|
e56aff1a5c
|
feat(models/pages.py): add CourseIndexPage
|
2026-03-19 17:53:53 +01:00 |
|
|
|
7cbec4fc9c
|
refactor(models): split models.py into submodules
|
2026-03-17 13:27:23 +01:00 |
|