Reservation Calendar 3
This commit is contained in:
@ -309,11 +309,11 @@ func (m *Repository) PostAvailability(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
type jsonResponse struct {
|
||||
OK bool `json:"ok"`
|
||||
Message string `json:"message"`
|
||||
RoomID string `json:"room_id"`
|
||||
StartDate string `json:"start_date"`
|
||||
EndDate string `json:"end_date"`
|
||||
OK bool `json:"ok"`
|
||||
}
|
||||
|
||||
// AvailabilityJSON is the search for availability page handler
|
||||
@ -661,6 +661,40 @@ func (m *Repository) AdminReservationsCalendar(w http.ResponseWriter, r *http.Re
|
||||
|
||||
data["rooms"] = rooms
|
||||
|
||||
for _, x := range rooms {
|
||||
// create maps
|
||||
reservationMap := make(map[string]int)
|
||||
blockMap := make(map[string]int)
|
||||
|
||||
for d := firstOfMonth; !d.After(lastOfMonth); d = d.AddDate(0, 0, 1) {
|
||||
reservationMap[d.Format("2006-01-2")] = 0
|
||||
blockMap[d.Format("2006-01-2")] = 0
|
||||
}
|
||||
|
||||
// get all the restrictions for the current room
|
||||
restrictions, err := m.DB.GetRestrictionsForRoomByDate(x.ID, firstOfMonth, lastOfMonth)
|
||||
if err != nil {
|
||||
helpers.ServerError(w, err)
|
||||
return
|
||||
}
|
||||
|
||||
for _, y := range restrictions {
|
||||
if y.ReservationID > 0 {
|
||||
// it's a reservation
|
||||
for d := y.StartDate; !d.After(y.EndDate); d = d.AddDate(0, 0, 1) {
|
||||
reservationMap[d.Format("2006-01-2")] = y.ReservationID
|
||||
}
|
||||
} else {
|
||||
// it's a block
|
||||
blockMap[y.StartDate.Format("2006-01-2")] = y.ReservationID
|
||||
}
|
||||
}
|
||||
data[fmt.Sprintf("reservation_map_%d", x.ID)] = reservationMap
|
||||
data[fmt.Sprintf("block_map_%d", x.ID)] = blockMap
|
||||
|
||||
m.App.Session.Put(r.Context(), fmt.Sprintf("block_map_%d", x.ID), blockMap)
|
||||
}
|
||||
|
||||
render.Template(w, r, "admin-reservations-calendar.page.tmpl",
|
||||
&models.TemplateData{
|
||||
StringMap: stringMap,
|
||||
|
Reference in New Issue
Block a user