From 52812c706b373417e65919f4cdb6ec85f2e349a1 Mon Sep 17 00:00:00 2001 From: Las Zenow Date: Wed, 15 Aug 2012 14:26:10 +0200 Subject: [PATCH] Last books added on index.html --- index.html | 14 ++++++++++++-- trantor.go | 18 ++++++++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index e4a9e52..73dc049 100644 --- a/index.html +++ b/index.html @@ -1,11 +1,21 @@ {{template "header.html"}}

Imperial Library of Trantor

+

library

-

Search on {{.}} books.

-

library

+

Search on {{.Count}} books.

+ +

Last books added: +

+

{{template "footer.html"}} diff --git a/trantor.go b/trantor.go index 96663d0..ad52a8a 100644 --- a/trantor.go +++ b/trantor.go @@ -30,6 +30,21 @@ func fileHandler(path string) { http.Handle(path, http.StripPrefix(path, h)) } + +type indexData struct { + Books []Book + Count int +} + +func indexHandler(coll *mgo.Collection) func(http.ResponseWriter, *http.Request) { + var data indexData + data.Count, _ = coll.Count() + coll.Find(bson.M{}).Sort("-_id").Limit(10).All(&data.Books) + return func(w http.ResponseWriter, r *http.Request) { + loadTemplate(w, "index", data) + } +} + func main() { session, err := mgo.Dial(IP) if err != nil { @@ -37,7 +52,6 @@ func main() { } defer session.Close() coll := session.DB(DB_NAME).C(BOOKS_COLL) - num, _ := coll.Count() http.HandleFunc("/book/", bookHandler(coll)) http.HandleFunc("/search/", searchHandler(coll)) @@ -46,6 +60,6 @@ func main() { fileHandler("/img/") fileHandler("/cover/") fileHandler("/books/") - http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { loadTemplate(w, "index", num) }) + http.HandleFunc("/", indexHandler(coll)) http.ListenAndServe(":8080", nil) }