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