summaryrefslogtreecommitdiff
path: root/system/addon/manager.go
diff options
context:
space:
mode:
authorSteve Manuel <nilslice@gmail.com>2017-01-10 12:18:00 -0800
committerSteve Manuel <nilslice@gmail.com>2017-01-10 12:18:00 -0800
commit97613eafb4979ff3356097e0d18ba9e92c790d64 (patch)
tree2640e236de0dca50f92e5556c2fe27dd607cc691 /system/addon/manager.go
parenta9d3645302c8129c3300959f024fa28972208e50 (diff)
adding returns to exit req/res, testing values -> struct conv via schema
Diffstat (limited to 'system/addon/manager.go')
-rw-r--r--system/addon/manager.go15
1 files changed, 6 insertions, 9 deletions
diff --git a/system/addon/manager.go b/system/addon/manager.go
index 1be09c0..753ddd7 100644
--- a/system/addon/manager.go
+++ b/system/addon/manager.go
@@ -6,8 +6,7 @@ import (
"html/template"
"net/url"
- "encoding/json"
-
+ "github.com/gorilla/schema"
"github.com/ponzu-cms/ponzu/management/editor"
)
@@ -18,6 +17,7 @@ const managerHTML = `
<form method="post" action="/admin/addon" enctype="multipart/form-data">
{{ .DefaultInputs }}
{{ .Editor }}
+ <button type="submit" class="btn green waves-effect waves-light">Save</button>
</form>
</div>
`
@@ -36,13 +36,10 @@ func Manage(data url.Values, reverseDNS string) ([]byte, error) {
at := a()
- // convert data => json => at{}
- j, err := json.Marshal(data)
- if err != nil {
- return nil, err
- }
-
- err = json.Unmarshal(j, &at)
+ dec := schema.NewDecoder()
+ dec.IgnoreUnknownKeys(true)
+ dec.SetAliasTag("json")
+ err := dec.Decode(&at, data)
if err != nil {
return nil, err
}