From 1b15bb3c1a2dc8f3a73260e4034913089d7bbcfc Mon Sep 17 00:00:00 2001 From: Paul Ivanov Date: Sun, 21 May 2017 22:54:44 -0700 Subject: make a proper item for Hookable methods We have all of the information, it's nice to be access the item's members in a natural way, without having to look at the reqest. --- system/admin/handlers.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'system/admin') diff --git a/system/admin/handlers.go b/system/admin/handlers.go index babcff1..d579b2f 100644 --- a/system/admin/handlers.go +++ b/system/admin/handlers.go @@ -1926,6 +1926,23 @@ func editHandler(res http.ResponseWriter, req *http.Request) { return } + // Let's be nice and make a proper item for the Hookable methods + dec := schema.NewDecoder() + dec.IgnoreUnknownKeys(true) + dec.SetAliasTag("json") + err = dec.Decode(post, req.PostForm) + if err != nil { + log.Println("Error decoding post form for edit handler:", t, err) + res.WriteHeader(http.StatusBadRequest) + errView, err := Error400() + if err != nil { + return + } + + res.Write(errView) + return + } + if cid == "-1" { err = hook.BeforeAdminCreate(res, req) if err != nil { -- cgit v1.2.3 From c672491d2beeb1fe9c39753192786b8620e73c39 Mon Sep 17 00:00:00 2001 From: Paul Ivanov Date: Wed, 24 May 2017 01:03:29 -0700 Subject: provide delete hooks with the item --- system/admin/handlers.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'system/admin') diff --git a/system/admin/handlers.go b/system/admin/handlers.go index d579b2f..3933d3d 100644 --- a/system/admin/handlers.go +++ b/system/admin/handlers.go @@ -2078,6 +2078,17 @@ func deleteHandler(res http.ResponseWriter, req *http.Request) { return } + data, err := db.Content(t + ":" + id) + if err != nil { + log.Println("Error in db.Content ", t+":"+id, err) + return + } + + err = json.Unmarshal(data, post) + if err != nil { + log.Println("Error unmarshalling ", t, "=", id, err, " Hooks will be called on a zero-value.") + } + reject := req.URL.Query().Get("reject") if reject == "true" { err = hook.BeforeReject(res, req) -- cgit v1.2.3