Displaying a response to user after posting form data
This commit is contained in:
@ -69,16 +69,16 @@ func (m *Repository) Majors(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
// MakeReservation is the make reservation page handler
|
||||
func (m *Repository) MakeReservation(w http.ResponseWriter, r *http.Request) {
|
||||
// For the first time render emptyReservation so that this object is
|
||||
// filled with the info when sent back.
|
||||
var emptyReservation models.Reservation
|
||||
data := make(map[string]interface{})
|
||||
// For the first time render emptyReservation so that this object is
|
||||
// filled with the info when sent back.
|
||||
var emptyReservation models.Reservation
|
||||
data := make(map[string]interface{})
|
||||
|
||||
data["reservation"] = emptyReservation
|
||||
data["reservation"] = emptyReservation
|
||||
|
||||
render.RenderTemplate(w, r, "make-reservation.page.tmpl", &models.TemplateData{
|
||||
Form: forms.New(nil),
|
||||
Data: data,
|
||||
Data: data,
|
||||
})
|
||||
}
|
||||
|
||||
@ -100,8 +100,8 @@ func (m *Repository) PostMakeReservation(w http.ResponseWriter, r *http.Request)
|
||||
form := forms.New(r.PostForm)
|
||||
|
||||
form.Required("first_name", "last_name", "email")
|
||||
form.MinLength("first_name", 2, r)
|
||||
form.IsEmail("email", r)
|
||||
form.MinLength("first_name", 2, r)
|
||||
form.IsEmail("email", r)
|
||||
|
||||
if !form.Valid() {
|
||||
data := make(map[string]interface{})
|
||||
@ -113,6 +113,24 @@ func (m *Repository) PostMakeReservation(w http.ResponseWriter, r *http.Request)
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
m.App.Session.Put(r.Context(), "reservation", reservation)
|
||||
|
||||
http.Redirect(w, r, "/reservation-summary", http.StatusSeeOther)
|
||||
}
|
||||
|
||||
func (m *Repository) ReservationSummary(w http.ResponseWriter, r *http.Request) {
|
||||
reservation, ok := m.App.Session.Get(r.Context(), "reservation").(models.Reservation)
|
||||
if !ok {
|
||||
log.Println("connot get item from reservation")
|
||||
}
|
||||
|
||||
data := make(map[string]interface{})
|
||||
data["reservation"] = reservation
|
||||
|
||||
render.RenderTemplate(w, r, "reservation-summary.page.tmpl", &models.TemplateData{
|
||||
Data: data,
|
||||
})
|
||||
}
|
||||
|
||||
// Availability is the search for availability page handler
|
||||
|
Reference in New Issue
Block a user