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