Connecting handlers to new database functions
This commit is contained in:
		@ -2,7 +2,6 @@ package handlers
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"go-udemy-web-1/internal/config"
 | 
			
		||||
	"go-udemy-web-1/internal/driver"
 | 
			
		||||
	"go-udemy-web-1/internal/forms"
 | 
			
		||||
@ -190,7 +189,49 @@ func (m *Repository) Availability(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
func (m *Repository) PostAvailability(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	start := r.Form.Get("start")
 | 
			
		||||
	end := r.Form.Get("end")
 | 
			
		||||
	fmt.Fprintf(w, "Posted to search availability from %s to %s", start, end)
 | 
			
		||||
 | 
			
		||||
	layout := "2006-01-02"
 | 
			
		||||
	startDate, err := time.Parse(layout, start)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		helpers.ServerError(w, err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	endDate, err := time.Parse(layout, end)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		helpers.ServerError(w, err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	rooms, err := m.DB.SearchAvailabilityForAllRooms(startDate, endDate)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		helpers.ServerError(w, err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, i := range rooms {
 | 
			
		||||
		m.App.InfoLog.Println("ROOM:", i.ID, i.RoomName)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(rooms) == 0 {
 | 
			
		||||
		// No availability
 | 
			
		||||
		m.App.InfoLog.Println("No availability")
 | 
			
		||||
		m.App.Session.Put(r.Context(), "error", "No availability")
 | 
			
		||||
		http.Redirect(w, r, "/search-availability", http.StatusSeeOther)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	data := make(map[string]interface{})
 | 
			
		||||
	data["rooms"] = rooms
 | 
			
		||||
 | 
			
		||||
	res := models.Reservation{
 | 
			
		||||
		StartDate: startDate,
 | 
			
		||||
		EndDate:   endDate,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	m.App.Session.Put(r.Context(), "reservation", res)
 | 
			
		||||
 | 
			
		||||
	render.Template(w, r, "choose-room.page.tmpl", &models.TemplateData{
 | 
			
		||||
		Data: data,
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type responseJSON struct {
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user