YAML-driven Posts screen stores translatable markdown and regenerates content_html in the plugin. Publish writes without access_publish are refused; list and form queries stay on the principal without access_other_posts. Co-authored-by: Cursor <cursoragent@cursor.com>
30 lines
1.1 KiB
Go
30 lines
1.1 KiB
Go
package controllers
|
|
|
|
import (
|
|
"git.golem15.com/golem15/summercms/modules/backpack"
|
|
"git.golem15.com/golem15/summercms/modules/cabana"
|
|
"git.golem15.com/golem15/summercms/modules/pact"
|
|
)
|
|
|
|
// AdminControllers is the plugin's admin controller list. app returns the
|
|
// booted application; it is asked on every call, so a controller never keeps
|
|
// a database handle of its own.
|
|
func AdminControllers(app func() *backpack.App) []pact.AdminController {
|
|
return []pact.AdminController{
|
|
postsAdminController{app: app},
|
|
}
|
|
}
|
|
|
|
func init() {
|
|
var _ pact.AdminController = postsAdminController{}
|
|
var _ pact.AdminPermissioned = postsAdminController{}
|
|
var _ pact.AdminRecordSource = postsAdminController{}
|
|
var _ pact.ListExtendQuery = postsAdminController{}
|
|
var _ pact.FormExtendQuery = postsAdminController{}
|
|
var _ pact.ListRowStates = postsAdminController{}
|
|
var _ pact.FilterOptions = postsAdminController{}
|
|
var _ pact.FormBeforeCreate = postsAdminController{}
|
|
var _ pact.FormBeforeUpdate = postsAdminController{}
|
|
var _ cabana.FieldRelationProvider = postsAdminController{}
|
|
}
|