Connecting the rooms page to make reservation page

This commit is contained in:
2024-07-11 23:01:10 +02:00
parent fed901ce25
commit 9775b67a2d
3 changed files with 92 additions and 2 deletions

View File

@ -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)
}