Connecting the rooms page to make reservation page
This commit is contained in:
@ -301,6 +301,7 @@ func (m *Repository) AvailabilityJSON(w http.ResponseWriter, r *http.Request) {
|
||||
w.Write(out)
|
||||
}
|
||||
|
||||
// ChooseRoom displays list of available rooms
|
||||
func (m *Repository) ChooseRoom(w http.ResponseWriter, r *http.Request) {
|
||||
roomID, err := strconv.Atoi(chi.URLParam(r, "id"))
|
||||
if err != nil {
|
||||
@ -320,3 +321,36 @@ func (m *Repository) ChooseRoom(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
http.Redirect(w, r, "/make-reservation", http.StatusSeeOther)
|
||||
}
|
||||
|
||||
// BookRoom takes URL parameters, builds a sessional variable, and takes user to make reservation
|
||||
func (m *Repository) BookRoom(w http.ResponseWriter, r *http.Request) {
|
||||
roomID, _ := strconv.Atoi(r.URL.Query().Get("id"))
|
||||
sd := r.URL.Query().Get("s")
|
||||
ed := r.URL.Query().Get("e")
|
||||
|
||||
var res models.Reservation
|
||||
|
||||
layout := "2006-01-02"
|
||||
startDate, err := time.Parse(layout, sd)
|
||||
if err != nil {
|
||||
helpers.ServerError(w, err)
|
||||
return
|
||||
}
|
||||
endDate, err := time.Parse(layout, ed)
|
||||
if err != nil {
|
||||
helpers.ServerError(w, err)
|
||||
return
|
||||
}
|
||||
room, err := m.DB.GetRoomById(roomID)
|
||||
if err != nil {
|
||||
helpers.ServerError(w, err)
|
||||
return
|
||||
}
|
||||
res.RoomID = roomID
|
||||
res.StartDate = startDate
|
||||
res.EndDate = endDate
|
||||
res.Room.RoomName = room.RoomName
|
||||
|
||||
m.App.Session.Put(r.Context(), "reservation", res)
|
||||
http.Redirect(w, r, "/make-reservation", http.StatusSeeOther)
|
||||
}
|
||||
|
Reference in New Issue
Block a user