Beispiel #1
0
func EditPost(g *gas.Gas, postId string) {
	switch g.Method {
	case "GET":
		row := QuerySinglePost.QueryRow(postId)
		var (
			id           int64
			tag          string
			stamp, title string
			body         string
		)
		err := row.Scan(&id, &stamp, &title, &body, &tag)
		if err != nil {
			log.Printf("blog.EditPost(): %v", err)
			g.ErrorPage(http.StatusServiceUnavailable)
		}

		timestamp, _ := time.Parse("2006-01-02 15:04:05-07", stamp)
		g.Render("blog/editpost", &Post{id, timestamp, title, body, tag})

	case "POST":
		QueryEditPost.Exec(g.FormValue("body"), postId)
		http.Redirect(g.ResponseWriter, g.Request, "/blog/", http.StatusFound)
	}

}
Beispiel #2
0
func NewPost(g *gas.Gas) {
	switch g.Method {
	case "GET":
		g.Render("blog/newpost", nil)
	case "POST":
		now := time.Now().Format("2006-01-02 15:04:05-07")
		_, err := QueryNewPost.Exec(now, g.FormValue("title"), g.FormValue("body"), g.FormValue("tag"))
		if err != nil {
			log.Print(err)
			return
		}
		http.Redirect(g.ResponseWriter, g.Request, "/blog/", http.StatusFound)
	}
}