Files
sm-quizzes-plugin/controllers/answers.go

47 lines
1.6 KiB
Go

// Code generated by summer make. DO NOT EDIT.
package controllers
import (
"git.golem15.com/golem15/sm-quizzes-plugin/models"
"git.golem15.com/golem15/summercms/modules/cabana"
"git.golem15.com/golem15/summercms/modules/pact"
)
var (
_ pact.AdminController = answersAdmin{}
_ pact.AdminRecordSource = answersAdmin{}
_ pact.AdminPermissioned = answersAdmin{}
_ cabana.FieldRelationProvider = answersAdmin{}
)
// answersAdmin lists and edits the answers of single and multiple
// questions; the list filters by quiz.
type answersAdmin struct{}
func (answersAdmin) ID() string { return "golem15.quizzes.answers" }
func (answersAdmin) ModelName() string { return "Answer" }
func (answersAdmin) ConfigDir() string { return "controllers/answers" }
// NewRecord returns the model the generic admin handlers query and fill.
func (answersAdmin) NewRecord() any { return &models.Answer{} }
// RequiredPermissions is checked before any schema or record is served.
func (answersAdmin) RequiredPermissions() []string {
return []string{"golem15.quizzes.access_quizzes"}
}
// AdminFieldRelations binds the question picker to question_id.
func (answersAdmin) AdminFieldRelations() []cabana.FieldRelationContract {
return []cabana.FieldRelationContract{{
Field: "question",
Kind: "belongsTo",
NewRelated: func() any { return &models.Question{} },
ForeignKey: "question_id",
LabelColumn: "text",
}}
}
// AnswersController returns the golem15.quizzes.answers admin controller.
func AnswersController() pact.AdminController { return answersAdmin{} }