From 98457565c96400a70f5007bf0fcd5a22c24c6f04 Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Fri, 15 May 2015 07:26:50 -0700 Subject: [PATCH] mark export works --- js/funcs.js | 4 ++-- news/news.go | 11 +++++++++++ route_handlers.go | 17 ++++++++++++++--- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/js/funcs.js b/js/funcs.js index 75ba0f4..ee053c1 100644 --- a/js/funcs.js +++ b/js/funcs.js @@ -1,11 +1,11 @@ $(document).ready( function () { $("#datepicker").datepicker(); - $("confirm-export").confirm({ + $(".confirm-export").confirm({ "text": "Mark current batch exported?", "title": "Export confrimation", confirm: function() { - alert('exported!'); + window.location = "/export"; }, }); }); diff --git a/news/news.go b/news/news.go index 6c757bd..f411fe1 100644 --- a/news/news.go +++ b/news/news.go @@ -105,4 +105,15 @@ func Unexported(db *sql.DB) (map[int]*NewsContainer, error) { func (this *NewsContainer) HeaderDepth(start int) int { return start + this.Category.Depth() +} + +// Mark the current batch (news.exported is null) as exported in this batch (exported = now()) +func MarkExported(db *sql.DB) error { + now := time.Now() + + _, err := db.Exec("UPDATE news SET exported=$1 WHERE exported is null", now) + if err != nil { + fmt.Println("DB errror: news.MarkExported():", err) + } + return err } \ No newline at end of file diff --git a/route_handlers.go b/route_handlers.go index 2a51c1d..4f1178c 100644 --- a/route_handlers.go +++ b/route_handlers.go @@ -219,8 +219,18 @@ func templateFormHandler(w http.ResponseWriter, r *http.Request, user *user.User ShowTemplate("list", w, map[string]interface{}{"user": user, "flashes": flashes, "template": &templateBuf, "url": config.Url}) } -func templatePostHandler(w http.ResponseWriter, r *http.Request, user *user.User) { - +func exportHandler(w http.ResponseWriter, r *http.Request, user *user.User) { + session, _ := store.Get(r, "c_user") + + err := news.MarkExported(db) + + if err != nil { + session.AddFlash("Error marking last batch of news exported", flash_err) + } else { + session.AddFlash("Last batch of news marked exported", flash_info) + } + session.Save(r, w) + http.Redirect(w, r, "/", http.StatusFound) } @@ -235,7 +245,8 @@ func init_route_handlers() { r.HandleFunc("/logout", userHandler(LogoutHandler)) r.HandleFunc("/add", getPostHandler(userHandler(addFormHandler), userHandler(addPostHandler))) - r.HandleFunc("/", getPostHandler(userHandler(templateFormHandler), userHandler(templatePostHandler))) + r.HandleFunc("/", userHandler(templateFormHandler)) + r.HandleFunc("/export", userHandler(exportHandler)) http.Handle("/", r)