Files
sm-journal-plugin/controllers/admin_registry.go
Jakub Zych fbd1c85168 feat(admin): post content on the Blog Editor field type
- blogeditor and mlblogeditor field types (classes.BlogEditorTypes) on the
  plugin; post content is mlblogeditor with htmlColumn content_html
- Decode stores SanitizeHTMLReport output per locale with notices naming
  what was removed; clean HTML is stored byte for byte, nothing is refused
  because of markup
- Load serves HTML as stored and markdown posts as their content_html
- the admin hooks copy written content to content_html per locale without
  goldmark; untouched content leaves both columns as they are
- editor lang keys (en, pl plural notices), tracer smoke test, updated
  Postgres admin tests
2026-10-10 12:02:55 +02:00

45 lines
1.7 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},
categoriesAdminController{app: app},
tagsAdminController{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 _ pact.FormAfterCreate = postsAdminController{}
var _ pact.FormAfterUpdate = postsAdminController{}
var _ pact.FormBeforeDelete = postsAdminController{}
var _ pact.HasAdminActions = postsAdminController{}
var _ cabana.FieldRelationProvider = postsAdminController{}
var _ pact.AdminController = categoriesAdminController{}
var _ pact.AdminPermissioned = categoriesAdminController{}
var _ pact.AdminRecordSource = categoriesAdminController{}
var _ cabana.FieldRelationProvider = categoriesAdminController{}
var _ pact.AdminController = tagsAdminController{}
var _ pact.AdminPermissioned = tagsAdminController{}
var _ pact.AdminRecordSource = tagsAdminController{}
}