Add dispositifs
This commit is contained in:
40
renderer/agenda.go
Normal file
40
renderer/agenda.go
Normal file
@@ -0,0 +1,40 @@
|
||||
package renderer
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
agendastorage "git.coopgo.io/coopgo-platform/agenda/storage"
|
||||
)
|
||||
|
||||
const agendaMenu = "events"
|
||||
|
||||
func (renderer *Renderer) AgendaHome(w http.ResponseWriter, r *http.Request, events []agendastorage.Event, groups map[string]any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.agenda.list.files")
|
||||
state := NewState(r, renderer.ThemeConfig, agendaMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"events": events,
|
||||
"groups": groups,
|
||||
}
|
||||
|
||||
renderer.Render("agenda home", w, r, files, state)
|
||||
}
|
||||
|
||||
func (renderer *Renderer) AgendaCreateEvent(w http.ResponseWriter, r *http.Request) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.agenda.create_event.files")
|
||||
state := NewState(r, renderer.ThemeConfig, agendaMenu)
|
||||
|
||||
renderer.Render("agenda create event", w, r, files, state)
|
||||
}
|
||||
|
||||
func (renderer *Renderer) AgendaDisplayEvent(w http.ResponseWriter, r *http.Request, event any, group any, subscribers map[string]any, beneficiaries any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.agenda.display_event.files")
|
||||
state := NewState(r, renderer.ThemeConfig, agendaMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"event": event,
|
||||
"group": group,
|
||||
"subscribers": subscribers,
|
||||
"beneficiaries": beneficiaries,
|
||||
}
|
||||
|
||||
renderer.Render("agenda create event", w, r, files, state)
|
||||
}
|
||||
@@ -50,10 +50,13 @@ type BeneficiariesDisplayState struct {
|
||||
Beneficiary any
|
||||
}
|
||||
|
||||
func (renderer *Renderer) BeneficiaryDisplay(w http.ResponseWriter, r *http.Request, beneficiary any) {
|
||||
func (renderer *Renderer) BeneficiaryDisplay(w http.ResponseWriter, r *http.Request, beneficiary any, bookings []any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.beneficiaries.display.files")
|
||||
state := NewState(r, renderer.ThemeConfig, beneficiariesMenu)
|
||||
state.ViewState = beneficiary
|
||||
state.ViewState = map[string]any{
|
||||
"beneficiary": beneficiary,
|
||||
"bookings": bookings,
|
||||
}
|
||||
|
||||
renderer.Render("beneficiaries_display", w, r, files, state)
|
||||
}
|
||||
|
||||
@@ -122,6 +122,8 @@ func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) Rende
|
||||
Display: modules["administration"].(bool),
|
||||
Active: menuState == administrationMenu,
|
||||
},
|
||||
|
||||
//TODO from configuration for icons at least
|
||||
MenuItems: []MenuItem{
|
||||
{
|
||||
Title: "Tableau de bord",
|
||||
@@ -155,7 +157,7 @@ func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) Rende
|
||||
Title: "Véhicules partagés",
|
||||
Link: "/app/vehicles/",
|
||||
Active: menuState == "vehicles",
|
||||
Icon: "hero:outline/user-group",
|
||||
Icon: "tabler-icons:car",
|
||||
})
|
||||
}
|
||||
|
||||
@@ -168,11 +170,11 @@ func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) Rende
|
||||
})
|
||||
}
|
||||
|
||||
if modules["events"].(bool) {
|
||||
if modules["agenda"].(bool) {
|
||||
ls.MenuItems = append(ls.MenuItems, MenuItem{
|
||||
Title: "Dispositifs",
|
||||
Link: "/app/events/",
|
||||
Active: menuState == "events",
|
||||
Title: "Agenda dispositifs",
|
||||
Link: "/app/agenda/",
|
||||
Active: menuState == "agenda",
|
||||
Icon: "hero:outline/calendar",
|
||||
})
|
||||
}
|
||||
|
||||
@@ -38,3 +38,13 @@ func (renderer *Renderer) VehicleBookingDisplay(w http.ResponseWriter, r *http.R
|
||||
|
||||
renderer.Render("vehicles search", w, r, files, state)
|
||||
}
|
||||
|
||||
func (renderer *Renderer) VehicleBookingsList(w http.ResponseWriter, r *http.Request, bookings []any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.vehicles.bookings_list.files")
|
||||
state := NewState(r, renderer.ThemeConfig, vehiclesMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"bookings": bookings,
|
||||
}
|
||||
|
||||
renderer.Render("vehicles search", w, r, files, state)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user