summaryrefslogtreecommitdiff
path: root/management/manager
diff options
context:
space:
mode:
Diffstat (limited to 'management/manager')
-rw-r--r--management/manager/manager.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/management/manager/manager.go b/management/manager/manager.go
index 83ed63a..7bdebbf 100644
--- a/management/manager/manager.go
+++ b/management/manager/manager.go
@@ -4,15 +4,17 @@ import (
"bytes"
"fmt"
"html/template"
- "reflect"
"github.com/nilslice/cms/management/editor"
)
var html = `
+<a href="/admin/edit?type={{.Kind}}" class="button">New {{.Kind}}</a>
<div class="manager">
- <form method="post" action="/admin/edit?type={{.Kind}}&contentId={{.ID}}">
+ <form method="post" action="/admin/edit">
{{.Editor}}
+ <input type="hidden" name="id" value="{{.ID}}"/>
+ <input type="hidden" name="type" value="{{.Kind}}"/>
<input type="submit" value="Save"/>
</form>
</div>
@@ -25,7 +27,7 @@ type form struct {
}
// Manage ...
-func Manage(e editor.Editable) ([]byte, error) {
+func Manage(e editor.Editable, typeName string) ([]byte, error) {
v, err := e.MarshalEditor()
if err != nil {
return nil, fmt.Errorf("Couldn't marshal editor for content %T. %s", e, err.Error())
@@ -33,7 +35,7 @@ func Manage(e editor.Editable) ([]byte, error) {
f := form{
ID: e.ContentID(),
- Kind: reflect.TypeOf(e).Name(),
+ Kind: typeName,
Editor: template.HTML(v),
}