- 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
45 lines
1.7 KiB
Go
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{}
|
|
}
|