Files
sm-bm-plugin/controllers/readings.go
Jakub Zych 3241cc9894 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.
2026-10-27 01:41:48 +01:00

39 lines
1.3 KiB
Go

// Code generated by summer make. DO NOT EDIT.
package controllers
import (
"git.golem15.com/golem15/summercms/modules/cabana"
"git.golem15.com/golem15/summercms/modules/pact"
"git.golem15.com/jakub/sm-bm-plugin/models"
)
var (
_ pact.AdminController = readingsAdmin{}
_ pact.AdminRecordSource = readingsAdmin{}
_ pact.AdminPermissioned = readingsAdmin{}
)
// readingsAdmin is the admin controller for readings (lektury).
type readingsAdmin struct{}
func (readingsAdmin) ID() string { return "jz.bm.readings" }
func (readingsAdmin) ModelName() string { return "Reading" }
func (readingsAdmin) ConfigDir() string { return "controllers/readings" }
// NewRecord returns the model the generic admin handlers query and fill.
func (readingsAdmin) NewRecord() any { return &models.Reading{} }
// RequiredPermissions is checked before any schema or record is served.
func (readingsAdmin) RequiredPermissions() []string {
return []string{PermCourses}
}
// AdminFieldRelations binds the course and meeting pickers.
func (readingsAdmin) AdminFieldRelations() []cabana.FieldRelationContract {
return []cabana.FieldRelationContract{courseRelation("course_id"), meetingRelation()}
}
// ReadingsController returns the jz.bm.readings admin controller.
func ReadingsController() pact.AdminController { return readingsAdmin{} }