diff options
Diffstat (limited to 'system/addon/manager.go')
-rw-r--r-- | system/addon/manager.go | 15 |
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 } |