47 lines
1.6 KiB
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{} }
|