// NotepadUpdateGET displays the note update page func NotepadUpdateGET(w http.ResponseWriter, r *http.Request) { // Get session sess := session.Instance(r) // Get the note id var params httprouter.Params params = context.Get(r, "params").(httprouter.Params) noteID := params.ByName("id") userID := fmt.Sprintf("%s", sess.Values["id"]) // Get the note note, err := model.NoteByID(userID, noteID) if err != nil { // If the note doesn't exist log.Println(err) sess.AddFlash(view.Flash{"An error occurred on the server. Please try again later.", view.FlashError}) sess.Save(r, w) http.Redirect(w, r, "/notepad", http.StatusFound) return } // Display the view v := view.New(r) v.Name = "notepad/update" v.Vars["token"] = csrfbanana.Token(w, r, sess) v.Vars["note"] = note.Content v.Render(w) }
// IndexGET displays the home page func IndexGET(w http.ResponseWriter, r *http.Request) { // Get session session := session.Instance(r) if session.Values["id"] != nil { // Display the view v := view.New(r) v.Name = "index/auth" v.Vars["first_name"] = session.Values["first_name"] v.Render(w) } else { // Display the view v := view.New(r) v.Name = "index/anon" v.Render(w) return } }
// NotepadCreateGET displays the note creation page func NotepadCreateGET(w http.ResponseWriter, r *http.Request) { // Get session sess := session.Instance(r) // Display the view v := view.New(r) v.Name = "notepad/create" v.Vars["token"] = csrfbanana.Token(w, r, sess) v.Render(w) }
// RegisterGET displays the register page func RegisterGET(w http.ResponseWriter, r *http.Request) { // Get session sess := session.Instance(r) // Display the view v := view.New(r) v.Name = "register/register" v.Vars["token"] = csrfbanana.Token(w, r, sess) // Refill any form fields view.Repopulate([]string{"first_name", "last_name", "email"}, r.Form, v.Vars) v.Render(w) }
// NotepadReadGET displays the notes in the notepad func NotepadReadGET(w http.ResponseWriter, r *http.Request) { // Get session sess := session.Instance(r) userID := fmt.Sprintf("%s", sess.Values["id"]) notes, err := model.NotesByUserID(userID) if err != nil { log.Println(err) notes = []model.Note{} } // Display the view v := view.New(r) v.Name = "notepad/read" v.Vars["first_name"] = sess.Values["first_name"] v.Vars["notes"] = notes v.Render(w) }
// AboutGET displays the About page func AboutGET(w http.ResponseWriter, r *http.Request) { // Display the view v := view.New(r) v.Name = "about/about" v.Render(w) }