diff options
author | Steve <nilslice@gmail.com> | 2017-01-12 16:19:00 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-12 16:19:00 -0800 |
commit | 21b9f301c5e1305c3be4e260161d2495bca059de (patch) | |
tree | 3be88e282bb9801b5b0354f89c5fe127996b0b6a /system/api | |
parent | ad96d5fa100615ada7ae8f06e75088f9297122fd (diff) |
[addons] Expanding basic addon framework (#29)
Diffstat (limited to 'system/api')
-rw-r--r-- | system/api/external.go | 7 | ||||
-rw-r--r-- | system/api/handlers.go | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/system/api/external.go b/system/api/external.go index 302b7c9..662fc07 100644 --- a/system/api/external.go +++ b/system/api/external.go @@ -1,6 +1,7 @@ package api import ( + "context" "fmt" "log" "net/http" @@ -136,13 +137,17 @@ func externalContentHandler(res http.ResponseWriter, req *http.Request) { spec = "__pending" } - _, err = db.SetContent(t+spec+":-1", req.PostForm) + id, err := db.SetContent(t+spec+":-1", req.PostForm) if err != nil { log.Println("[External] error:", err) res.WriteHeader(http.StatusInternalServerError) return } + // set the target in the context so user can get saved value from db in hook + ctx := context.WithValue(req.Context(), "target", fmt.Sprintf("%s:%d", t, id)) + req = req.WithContext(ctx) + err = hook.AfterSave(req) if err != nil { log.Println("[External] error:", err) diff --git a/system/api/handlers.go b/system/api/handlers.go index 8b4a387..1bc4fbb 100644 --- a/system/api/handlers.go +++ b/system/api/handlers.go @@ -178,7 +178,7 @@ func hide(it interface{}, res http.ResponseWriter, req *http.Request) bool { // check if should be hidden if h, ok := it.(item.Hideable); ok { err := h.Hide(req) - if err != nil && err.Error() == item.AllowHiddenItem { + if err == item.ErrAllowHiddenItem { return false } |