diff options
-rw-r--r-- | system/admin/handlers.go | 17 | ||||
-rw-r--r-- | system/db/content.go | 4 |
2 files changed, 13 insertions, 8 deletions
diff --git a/system/admin/handlers.go b/system/admin/handlers.go index ad5098e..5540767 100644 --- a/system/admin/handlers.go +++ b/system/admin/handlers.go @@ -691,8 +691,8 @@ func postsHandler(res http.ResponseWriter, req *http.Request) { switch order { case "desc", "": if hasExt { - // reverse the order of posts slice - for i := len(posts) - 1; i >= 0; i-- { + // keep natural order of posts slice, as returned from unsorted bucket + for i := range posts { err := json.Unmarshal(posts[i], &p) if err != nil { log.Println("Error unmarshal json into", t, err, posts[i]) @@ -705,9 +705,10 @@ func postsHandler(res http.ResponseWriter, req *http.Request) { post := adminPostListItem(p, t, status) b.Write(post) } + } else { - // keep natural order of posts slice, as returned from sorted bucket - for i := range posts { + // reverse the order of posts slice + for i := len(posts) - 1; i >= 0; i-- { err := json.Unmarshal(posts[i], &p) if err != nil { log.Println("Error unmarshal json into", t, err, posts[i]) @@ -724,8 +725,8 @@ func postsHandler(res http.ResponseWriter, req *http.Request) { case "asc": if hasExt { - // keep natural order of posts slice, as returned from sorted bucket - for i := range posts { + // reverse the order of posts slice + for i := len(posts) - 1; i >= 0; i-- { err := json.Unmarshal(posts[i], &p) if err != nil { log.Println("Error unmarshal json into", t, err, posts[i]) @@ -739,8 +740,8 @@ func postsHandler(res http.ResponseWriter, req *http.Request) { b.Write(post) } } else { - // reverse the order of posts slice - for i := len(posts) - 1; i >= 0; i-- { + // keep natural order of posts slice, as returned from sorted bucket + for i := range posts { err := json.Unmarshal(posts[i], &p) if err != nil { log.Println("Error unmarshal json into", t, err, posts[i]) diff --git a/system/db/content.go b/system/db/content.go index 7337f0f..714e0c6 100644 --- a/system/db/content.go +++ b/system/db/content.go @@ -214,6 +214,10 @@ func Query(namespace string, opts QueryOptions) [][]byte { var posts [][]byte store.View(func(tx *bolt.Tx) error { b := tx.Bucket([]byte(namespace)) + if b == nil { + return nil + } + c := b.Cursor() n := b.Stats().KeyN |