feat: zjazd (meeting) on readings and materials

The Pulpit hero lists what to read for the current or next zjazd, so
readings and materials get a nullable meeting_id (FK to jz_bm_meetings,
ON DELETE SET NULL, indexed). The reading admin form gets a "Na zjazd"
picker, the student reading JSON carries meeting_id, and the management
/readings records filter and validate it.
This commit is contained in:
Jakub Zych
2026-10-27 01:41:48 +01:00
parent 8843e73f98
commit 3241cc9894
15 changed files with 94 additions and 15 deletions

View File

@@ -77,8 +77,8 @@ func TestPluginActivates(t *testing.T) {
if n := len(p.Models()); n != 11 {
t.Errorf("Models = %d, want 11", n)
}
if n := len(p.Migrations()); n != 15 {
t.Errorf("Migrations = %d, want 15", n)
if n := len(p.Migrations()); n != 16 {
t.Errorf("Migrations = %d, want 16", n)
}
if !slices.ContainsFunc(p.Commands(), func(c bonfire.Command) bool { return c.Name == "bm:seed" }) {
t.Error("bm:seed is not registered")