Solidarity transport

This commit is contained in:
2025-02-28 17:49:14 +01:00
parent 0dc694324e
commit 7914cd919f
11 changed files with 529 additions and 59 deletions

View File

@@ -35,18 +35,19 @@ func (s BeneficiariesCovoiturage) JSONWithLimits(a int, b int) template.JS {
return s.JSON()
}
func (renderer *Renderer) JourneysSearch(w http.ResponseWriter, r *http.Request, carpools any, transitjourneys any, vehicles []any, searched bool, departure any, destination any, departuredate string, departuretime string) {
func (renderer *Renderer) JourneysSearch(w http.ResponseWriter, r *http.Request, carpools any, transitjourneys any, vehicles []any, searched bool, departure any, destination any, departuredate string, departuretime string, solidarityDrivers any) {
files := renderer.ThemeConfig.GetStringSlice("views.journeys.search.files")
state := NewState(r, renderer.ThemeConfig, journeysMenu)
state.ViewState = map[string]any{
"searched": searched,
"departuredate": departuredate,
"departuretime": departuretime,
"departure": departure,
"destination": destination,
"journeys": transitjourneys,
"carpools": carpools,
"vehicles": vehicles,
"searched": searched,
"departuredate": departuredate,
"departuretime": departuretime,
"departure": departure,
"destination": destination,
"journeys": transitjourneys,
"carpools": carpools,
"vehicles": vehicles,
"solidarity_drivers": solidarityDrivers,
}
renderer.Render("journeys", w, r, files, state)
@@ -69,6 +70,7 @@ func (s BeneficiariesListstate) JSONWithLimits(a int, b int) template.JS {
}
return s.JSON()
}
func (renderer *Renderer) GroupsGestion(w http.ResponseWriter, r *http.Request, groups []groupstorage.Group, cacheid string) {
files := renderer.ThemeConfig.GetStringSlice("views.journeys.list.files")
state := NewState(r, renderer.ThemeConfig, journeysMenu)
@@ -98,7 +100,6 @@ func (renderer *Renderer) CreateGroup(w http.ResponseWriter, r *http.Request, de
viewstate["search"] = map[string]any{
"beneficiary": beneficiary,
}
}
state.ViewState = viewstate
@@ -130,7 +131,6 @@ func (renderer *Renderer) DisplayGroupCovoiturage(w http.ResponseWriter, r *http
viewstate["search"] = map[string]any{
"beneficiary": beneficiary,
}
}
state.ViewState = viewstate
@@ -146,5 +146,4 @@ func (renderer *Renderer) UpdateGroupCovoiturage(w http.ResponseWriter, r *http.
"memberid": memberid,
}
renderer.Render("journeys", w, r, files, state)
}

View File

@@ -4,6 +4,7 @@ import (
"fmt"
"html/template"
"net/http"
"reflect"
"git.coopgo.io/coopgo-apps/parcoursmob/utils/icons"
"git.coopgo.io/coopgo-apps/parcoursmob/utils/identification"
@@ -37,7 +38,6 @@ func NewRenderer(global *viper.Viper, templates_dir string) *Renderer {
}
func (renderer *Renderer) Render(name string, w http.ResponseWriter, r *http.Request, files []string, state RenderState) {
genericFiles := renderer.ThemeConfig.GetStringSlice("views.generic.files")
prefixed_files := []string{}
@@ -61,6 +61,7 @@ func (renderer *Renderer) Render(name string, w http.ResponseWriter, r *http.Req
"walkingLength": WalkingLength,
"divideFloat64": Divide[float64],
"divideInt": Divide[int],
"typeOf": reflect.TypeOf,
},
)
t = template.Must(t.ParseFiles(prefixed_files...))
@@ -72,7 +73,6 @@ func (renderer *Renderer) Render(name string, w http.ResponseWriter, r *http.Req
}
func (renderer *Renderer) RenderNoLayout(name string, w http.ResponseWriter, r *http.Request, files []string, state RenderState) {
prefixed_files := []string{}
for _, f := range files {
prefixed_files = append(prefixed_files, renderer.templateFile(f))
@@ -90,6 +90,7 @@ func (renderer *Renderer) RenderNoLayout(name string, w http.ResponseWriter, r *
"unsescapeHTML": UnescapeHTML,
"divideFloat64": Divide[float64],
"divideInt": Divide[int],
"typeOf": reflect.TypeOf,
},
)
@@ -189,6 +190,15 @@ func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) Rende
})
}
if modules["solidarity_transport"] != nil && modules["solidarity_transport"].(bool) {
ls.MenuItems = append(ls.MenuItems, MenuItem{
Title: "Transport solidaire",
Link: "/app/solidarity-transport/",
Active: menuState == solidarityTransportMenu,
Icon: "tabler-icons:car",
})
}
if modules["vehicles"] != nil && modules["vehicles"].(bool) {
ls.MenuItems = append(ls.MenuItems, MenuItem{
Title: "Véhicules partagés",
@@ -223,7 +233,6 @@ func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) Rende
Active: menuState == groupMenu,
Icon: "hero:outline/group_module",
})
}
if modules["support"] != nil && modules["support"].(bool) {
@@ -233,7 +242,6 @@ func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) Rende
Active: menuState == commentMenu,
Icon: "hero:outline/support",
})
}
if modules["directory"] != nil && modules["directory"].(bool) {
@@ -244,22 +252,23 @@ func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) Rende
Icon: "hero:outline/document-text",
})
}
if modules["conseillers"] != nil && modules["conseillers"].(bool) {
/*if modules["conseillers"] != nil && modules["conseillers"].(bool) {
ls.MenuItems = append(ls.MenuItems, MenuItem{
Title: "Conseillers",
Link: "/app/conseillers/",
Active: menuState == membersMenu,
Icon: "hero:outline/user-group",
})
}
if modules["diags"] != nil && modules["diags"].(bool) {
}*/
/*if modules["diags"] != nil && modules["diags"].(bool) {
ls.MenuItems = append(ls.MenuItems, MenuItem{
Title: "Diagnostics",
Link: "/app/diags/",
Active: menuState == diagsMenu,
Icon: "hero:outline/document-text",
})
}
}*/
return RenderState{
IconSet: icons.NewIconSet(iconset),
Group: group,

View File

@@ -0,0 +1,38 @@
package renderer
import (
"net/http"
mobilityaccountsstorage "git.coopgo.io/coopgo-platform/mobility-accounts/storage"
)
const solidarityTransportMenu = "solidarity_transport"
func (renderer *Renderer) SolidarityTransportOverview(w http.ResponseWriter, r *http.Request, drivers []mobilityaccountsstorage.Account) {
files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.overview.files")
state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu)
state.ViewState = map[string]any{
"drivers": drivers,
}
renderer.Render("solidarity transport overview", w, r, files, state)
}
func (renderer *Renderer) SolidarityTransportCreateDriver(w http.ResponseWriter, r *http.Request) {
files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.driver_create.files")
state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu)
state.ViewState = map[string]any{}
renderer.Render("solidarity transport driver creation", w, r, files, state)
}
func (renderer *Renderer) SolidarityTransportDriverDisplay(w http.ResponseWriter, r *http.Request, driver mobilityaccountsstorage.Account) {
files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.driver_display.files")
state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu)
state.ViewState = map[string]any{
"driver": driver,
"documents": []any{},
}
renderer.Render("solidarity transport driver creation", w, r, files, state)
}