solidarity transport updates
This commit is contained in:
@@ -53,18 +53,19 @@ type BeneficiariesDisplayState struct {
|
||||
Beneficiary any
|
||||
}
|
||||
|
||||
func (renderer *Renderer) BeneficiaryDisplay(w http.ResponseWriter, r *http.Request, beneficiary any, bookings []fleetsstorage.Booking, organizations []any, beneficiaries_file_types []string, file_types_map map[string]string, documents any, event interface{}, diags []any) {
|
||||
func (renderer *Renderer) BeneficiaryDisplay(w http.ResponseWriter, r *http.Request, beneficiary any, bookings []fleetsstorage.Booking, organizations []any, beneficiaries_file_types []string, file_types_map map[string]string, documents any, event interface{}, diags []any, solidarityTransportStats any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.beneficiaries.display.files")
|
||||
state := NewState(r, renderer.ThemeConfig, beneficiariesMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"beneficiary": beneficiary,
|
||||
"bookings": bookings,
|
||||
"beneficiaries_file_types": beneficiaries_file_types,
|
||||
"file_types_map": file_types_map,
|
||||
"documents": documents,
|
||||
"organizations": organizations,
|
||||
"event": event,
|
||||
"diags": diags,
|
||||
"beneficiary": beneficiary,
|
||||
"bookings": bookings,
|
||||
"beneficiaries_file_types": beneficiaries_file_types,
|
||||
"file_types_map": file_types_map,
|
||||
"documents": documents,
|
||||
"organizations": organizations,
|
||||
"event": event,
|
||||
"diags": diags,
|
||||
"solidarity_transport_stats": solidarityTransportStats,
|
||||
}
|
||||
renderer.Render("beneficiaries_display", w, r, files, state)
|
||||
}
|
||||
|
||||
@@ -8,19 +8,44 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
groupsstorage "git.coopgo.io/coopgo-platform/groups-management/storage"
|
||||
"github.com/rs/zerolog/log"
|
||||
"github.com/spf13/viper"
|
||||
"gitlab.scity.coop/maas/navitia-golang/types"
|
||||
)
|
||||
|
||||
func TimeFrom(d any) *time.Time {
|
||||
func ModuleAvailable(group groupsstorage.Group, configmodules *viper.Viper) func(string) bool {
|
||||
return func(module string) bool {
|
||||
if module == "dashboard" {
|
||||
return true
|
||||
}
|
||||
groupmodules := group.Data["modules"].(map[string]any)
|
||||
modAvailable, ok := groupmodules[module].(bool)
|
||||
if ok && modAvailable && configmodules.GetBool(fmt.Sprintf("modules.%s.enabled", module)) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
func TimeFrom(d any) *time.Time {
|
||||
paris, err := time.LoadLocation("Europe/Paris")
|
||||
if date, ok := d.(time.Time); ok {
|
||||
return &date
|
||||
if err != nil {
|
||||
return &date
|
||||
}
|
||||
nd := date.In(paris)
|
||||
return &nd
|
||||
} else if date, ok := d.(string); ok {
|
||||
datetime, err := time.Parse("2006-01-02T15:04:05Z", date)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
datetime, err = time.Parse("2006-01-02", date)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("cannot parse date")
|
||||
}
|
||||
}
|
||||
return &datetime
|
||||
dt := datetime.In(paris)
|
||||
return &dt
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -78,7 +103,6 @@ func RawJSON(v any) string {
|
||||
return ""
|
||||
}
|
||||
return strings.TrimSuffix(buf.String(), "\n")
|
||||
|
||||
}
|
||||
|
||||
func UnescapeHTML(s string) template.HTML {
|
||||
@@ -127,3 +151,14 @@ func strval(v interface{}) string {
|
||||
func Divide[V int | float64](a, b V) V {
|
||||
return a / b
|
||||
}
|
||||
|
||||
func ShortDuration(d time.Duration) string {
|
||||
s := d.String()
|
||||
if strings.HasSuffix(s, "m0s") {
|
||||
s = s[:len(s)-2]
|
||||
}
|
||||
if strings.HasSuffix(s, "h0m") {
|
||||
s = s[:len(s)-2]
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
|
||||
groupstorage "git.coopgo.io/coopgo-platform/groups-management/storage"
|
||||
mobilityaccountsstorage "git.coopgo.io/coopgo-platform/mobility-accounts/storage"
|
||||
geojson "github.com/paulmach/orb/geojson"
|
||||
)
|
||||
|
||||
const journeysMenu = "journeys"
|
||||
@@ -35,7 +36,7 @@ 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, solidarityDrivers any) {
|
||||
func (renderer *Renderer) JourneysSearch(w http.ResponseWriter, r *http.Request, carpools []*geojson.FeatureCollection, transitjourneys any, vehicles any, searched bool, departure any, destination any, departuredate string, departuretime string, driverJourneys any, solidarityDrivers any, organizedCarpools any, beneficiaries any, kbData any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.journeys.search.files")
|
||||
state := NewState(r, renderer.ThemeConfig, journeysMenu)
|
||||
state.ViewState = map[string]any{
|
||||
@@ -46,8 +47,13 @@ func (renderer *Renderer) JourneysSearch(w http.ResponseWriter, r *http.Request,
|
||||
"destination": destination,
|
||||
"journeys": transitjourneys,
|
||||
"carpools": carpools,
|
||||
"organized_carpools": organizedCarpools,
|
||||
"vehicles": vehicles,
|
||||
"driver_journeys": driverJourneys,
|
||||
"solidarity_drivers": solidarityDrivers,
|
||||
"querystring": r.URL.RawQuery,
|
||||
"beneficiaries": beneficiaries,
|
||||
"kb_data": kbData,
|
||||
}
|
||||
|
||||
renderer.Render("journeys", w, r, files, state)
|
||||
|
||||
@@ -2,9 +2,14 @@ package renderer
|
||||
|
||||
type LayoutState struct {
|
||||
AdministrationState AdministrationState
|
||||
MenuItems []MenuItem
|
||||
Menu any
|
||||
ActiveMenu string
|
||||
|
||||
// DEPRECATED
|
||||
MenuItems []MenuItem
|
||||
}
|
||||
|
||||
// DEPRECATED
|
||||
type MenuItem struct {
|
||||
Title string
|
||||
Link string
|
||||
|
||||
61
renderer/organized-carpool.go
Normal file
61
renderer/organized-carpool.go
Normal file
@@ -0,0 +1,61 @@
|
||||
package renderer
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
mobilityaccountsstorage "git.coopgo.io/coopgo-platform/mobility-accounts/storage"
|
||||
)
|
||||
|
||||
const organizedCarpoolMenu = "organized_carpool"
|
||||
|
||||
func (renderer *Renderer) OrganizedCarpoolOverview(w http.ResponseWriter, r *http.Request, drivers any, driversMap any, passengersMap any, bookings any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.organized_carpool.overview.files")
|
||||
state := NewState(r, renderer.ThemeConfig, organizedCarpoolMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"drivers": drivers,
|
||||
"drivers_map": driversMap,
|
||||
"passengers_map": passengersMap,
|
||||
"bookings": bookings,
|
||||
}
|
||||
|
||||
renderer.Render("organized carpool overview", w, r, files, state)
|
||||
}
|
||||
|
||||
func (renderer *Renderer) OrganizedCarpoolCreateDriver(w http.ResponseWriter, r *http.Request) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.organized_carpool.driver_create.files")
|
||||
state := NewState(r, renderer.ThemeConfig, organizedCarpoolMenu)
|
||||
state.ViewState = map[string]any{}
|
||||
|
||||
renderer.Render("organized carpool driver creation", w, r, files, state)
|
||||
}
|
||||
|
||||
func (renderer *Renderer) OrganizedCarpoolDriverDisplay(w http.ResponseWriter, r *http.Request, driver mobilityaccountsstorage.Account, trips any, documents any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.organized_carpool.driver_display.files")
|
||||
state := NewState(r, renderer.ThemeConfig, organizedCarpoolMenu)
|
||||
|
||||
drivers_file_types := renderer.GlobalConfig.GetStringSlice("modules.organized_carpool.drivers.documents_types")
|
||||
file_types_map := renderer.GlobalConfig.GetStringMapString("storage.files.file_types")
|
||||
|
||||
state.ViewState = map[string]any{
|
||||
"driver": driver,
|
||||
"trips": trips,
|
||||
"documents": documents,
|
||||
"drivers_file_types": drivers_file_types,
|
||||
"file_types_map": file_types_map,
|
||||
}
|
||||
|
||||
renderer.Render("organized carpool driver display", w, r, files, state)
|
||||
}
|
||||
|
||||
func (renderer *Renderer) OrganizedCarpoolJourney(w http.ResponseWriter, r *http.Request, journey any, driver any, passenger any, beneficiaries any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.organized_carpool.journey.files")
|
||||
state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"driver": driver,
|
||||
"passenger": passenger,
|
||||
"beneficiaries": beneficiaries,
|
||||
"journey": journey,
|
||||
}
|
||||
|
||||
renderer.Render("organized carpool journey", w, r, files, state)
|
||||
}
|
||||
@@ -8,6 +8,9 @@ import (
|
||||
|
||||
"git.coopgo.io/coopgo-apps/parcoursmob/utils/icons"
|
||||
"git.coopgo.io/coopgo-apps/parcoursmob/utils/identification"
|
||||
cache "git.coopgo.io/coopgo-apps/parcoursmob/utils/storage"
|
||||
filestorage "git.coopgo.io/coopgo-apps/parcoursmob/utils/storage"
|
||||
validatedprofile "git.coopgo.io/coopgo-apps/parcoursmob/utils/validated-profile"
|
||||
"git.coopgo.io/coopgo-platform/emailing"
|
||||
"git.coopgo.io/coopgo-platform/groups-management/storage"
|
||||
"github.com/coreos/go-oidc/v3/oidc"
|
||||
@@ -20,9 +23,10 @@ type Renderer struct {
|
||||
GlobalConfig *viper.Viper
|
||||
ThemeConfig *viper.Viper
|
||||
Mailer *emailing.Mailer
|
||||
FileStorage cache.FileStorage
|
||||
}
|
||||
|
||||
func NewRenderer(global *viper.Viper, templates_dir string) *Renderer {
|
||||
func NewRenderer(global *viper.Viper, templates_dir string, filestorage cache.FileStorage) *Renderer {
|
||||
theme := viper.New()
|
||||
theme.SetConfigName("config")
|
||||
theme.AddConfigPath(templates_dir)
|
||||
@@ -34,6 +38,7 @@ func NewRenderer(global *viper.Viper, templates_dir string) *Renderer {
|
||||
TemplatesDir: templates_dir,
|
||||
GlobalConfig: global,
|
||||
ThemeConfig: theme,
|
||||
FileStorage: filestorage,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,24 +56,41 @@ func (renderer *Renderer) Render(name string, w http.ResponseWriter, r *http.Req
|
||||
w.WriteHeader(http.StatusOK)
|
||||
t := template.New(name).Funcs(
|
||||
template.FuncMap{
|
||||
"timeFrom": TimeFrom,
|
||||
"timeFormat": TimeFormat,
|
||||
"genderISO5218": GenderISO5218,
|
||||
"dict": Dict,
|
||||
"json": JSON,
|
||||
"rawjson": RawJSON,
|
||||
"unescapeHTML": UnescapeHTML,
|
||||
"walkingLength": WalkingLength,
|
||||
"divideFloat64": Divide[float64],
|
||||
"divideInt": Divide[int],
|
||||
"typeOf": reflect.TypeOf,
|
||||
"moduleAvailable": ModuleAvailable(state.Group, renderer.GlobalConfig),
|
||||
"timeFrom": TimeFrom,
|
||||
"timeFormat": TimeFormat,
|
||||
"genderISO5218": GenderISO5218,
|
||||
"dict": Dict,
|
||||
"json": JSON,
|
||||
"rawjson": RawJSON,
|
||||
"unescapeHTML": UnescapeHTML,
|
||||
"walkingLength": WalkingLength,
|
||||
"divideFloat64": Divide[float64],
|
||||
"divideInt": Divide[int],
|
||||
"typeOf": reflect.TypeOf,
|
||||
"shortDuration": ShortDuration,
|
||||
"beneficiaryValidatedProfile": validatedprofile.ValidateProfile(renderer.GlobalConfig.Sub("modules.beneficiaries.validated_profile")),
|
||||
"solidarityDriverValidatedProfile": validatedprofile.ValidateProfile(renderer.GlobalConfig.Sub("modules.solidarity_transport.drivers.validated_profile")),
|
||||
"carpoolDriverValidatedProfile": validatedprofile.ValidateProfile(renderer.GlobalConfig.Sub("modules.organized_carpool.drivers.validated_profile")),
|
||||
"beneficiaryDocuments": func(id string) []filestorage.FileInfo {
|
||||
documents := renderer.FileStorage.List(filestorage.PREFIX_BENEFICIARIES + "/" + id)
|
||||
return documents
|
||||
},
|
||||
"solidarityDocuments": func(id string) []filestorage.FileInfo {
|
||||
documents := renderer.FileStorage.List(filestorage.PREFIX_SOLIDARITY_TRANSPORT_DRIVERS + "/" + id)
|
||||
return documents
|
||||
},
|
||||
"carpoolDocuments": func(id string) []filestorage.FileInfo {
|
||||
documents := renderer.FileStorage.List(filestorage.PREFIX_ORGANIZED_CARPOOL_DRIVERS + "/" + id)
|
||||
return documents
|
||||
},
|
||||
},
|
||||
)
|
||||
t = template.Must(t.ParseFiles(prefixed_files...))
|
||||
|
||||
err := t.ExecuteTemplate(w, "main", state)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("")
|
||||
log.Error().Err(err).Msg("issue executing template")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,23 +103,39 @@ func (renderer *Renderer) RenderNoLayout(name string, w http.ResponseWriter, r *
|
||||
w.WriteHeader(http.StatusOK)
|
||||
t := template.New(name).Funcs(
|
||||
template.FuncMap{
|
||||
"timeFrom": TimeFrom,
|
||||
"timeFormat": TimeFormat,
|
||||
"genderISO5218": GenderISO5218,
|
||||
"dict": Dict,
|
||||
"json": JSON,
|
||||
"rawjson": RawJSON,
|
||||
"unsescapeHTML": UnescapeHTML,
|
||||
"divideFloat64": Divide[float64],
|
||||
"divideInt": Divide[int],
|
||||
"typeOf": reflect.TypeOf,
|
||||
"timeFrom": TimeFrom,
|
||||
"timeFormat": TimeFormat,
|
||||
"genderISO5218": GenderISO5218,
|
||||
"dict": Dict,
|
||||
"json": JSON,
|
||||
"rawjson": RawJSON,
|
||||
"unsescapeHTML": UnescapeHTML,
|
||||
"divideFloat64": Divide[float64],
|
||||
"divideInt": Divide[int],
|
||||
"typeOf": reflect.TypeOf,
|
||||
"shortDuration": ShortDuration,
|
||||
"beneficiaryValidatedProfile": validatedprofile.ValidateProfile(renderer.GlobalConfig.Sub("modules.beneficiaries.validated_profile")),
|
||||
"solidarityDriverValidatedProfile": validatedprofile.ValidateProfile(renderer.GlobalConfig.Sub("modules.solidarity_transport.drivers.validated_profile")),
|
||||
"carpoolDriverValidatedProfile": validatedprofile.ValidateProfile(renderer.GlobalConfig.Sub("modules.organized_carpool.drivers.validated_profile")),
|
||||
"beneficiaryDocuments": func(id string) []filestorage.FileInfo {
|
||||
documents := renderer.FileStorage.List(filestorage.PREFIX_BENEFICIARIES + "/" + id)
|
||||
return documents
|
||||
},
|
||||
"solidarityDocuments": func(id string) []filestorage.FileInfo {
|
||||
documents := renderer.FileStorage.List(filestorage.PREFIX_SOLIDARITY_TRANSPORT_DRIVERS + "/" + id)
|
||||
return documents
|
||||
},
|
||||
"carpoolDocuments": func(id string) []filestorage.FileInfo {
|
||||
documents := renderer.FileStorage.List(filestorage.PREFIX_ORGANIZED_CARPOOL_DRIVERS + "/" + id)
|
||||
return documents
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
t = template.Must(t.ParseFiles(prefixed_files...))
|
||||
err := t.ExecuteTemplate(w, "main", state)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("")
|
||||
log.Error().Err(err).Msg("issue executing template")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,6 +155,7 @@ type RenderState struct {
|
||||
|
||||
func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) RenderState {
|
||||
iconset := themeConfig.GetStringMapString("icons.svg")
|
||||
menu := themeConfig.Get("menu_items")
|
||||
|
||||
// Get State elements from Request
|
||||
var userid string
|
||||
@@ -162,6 +201,9 @@ func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) Rende
|
||||
Active: menuState == administrationMenu,
|
||||
},
|
||||
|
||||
Menu: menu,
|
||||
|
||||
// DEPRECATED
|
||||
MenuItems: []MenuItem{
|
||||
{
|
||||
Title: "Tableau de bord",
|
||||
@@ -172,6 +214,7 @@ func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) Rende
|
||||
},
|
||||
}
|
||||
|
||||
// DEPRECATED
|
||||
if modules["beneficiaries"] != nil && modules["beneficiaries"].(bool) {
|
||||
ls.MenuItems = append(ls.MenuItems, MenuItem{
|
||||
Title: "Bénéficiaires",
|
||||
@@ -252,14 +295,6 @@ func NewState(r *http.Request, themeConfig *viper.Viper, menuState string) Rende
|
||||
Icon: "hero:outline/document-text",
|
||||
})
|
||||
}
|
||||
/*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) {
|
||||
ls.MenuItems = append(ls.MenuItems, MenuItem{
|
||||
Title: "Diagnostics",
|
||||
|
||||
16
renderer/solidarity-transport-ext.go
Normal file
16
renderer/solidarity-transport-ext.go
Normal file
@@ -0,0 +1,16 @@
|
||||
package renderer
|
||||
|
||||
import "net/http"
|
||||
|
||||
func (renderer *Renderer) SolidarityTransportExternalBookingDisplay(w http.ResponseWriter, r *http.Request, booking any, driver any, passenger any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.ext.booking_proposal.files")
|
||||
state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"driver": driver,
|
||||
"passenger": passenger,
|
||||
"booking": booking,
|
||||
"config": renderer.GlobalConfig,
|
||||
}
|
||||
|
||||
renderer.RenderNoLayout("booking display", w, r, files, state)
|
||||
}
|
||||
@@ -8,11 +8,15 @@ import (
|
||||
|
||||
const solidarityTransportMenu = "solidarity_transport"
|
||||
|
||||
func (renderer *Renderer) SolidarityTransportOverview(w http.ResponseWriter, r *http.Request, drivers []mobilityaccountsstorage.Account) {
|
||||
func (renderer *Renderer) SolidarityTransportOverview(w http.ResponseWriter, r *http.Request, drivers any, driversMap any, passengersMap any, bookings any, bookingsHistory any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.overview.files")
|
||||
state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"drivers": drivers,
|
||||
"drivers": drivers,
|
||||
"drivers_map": driversMap,
|
||||
"passengers_map": passengersMap,
|
||||
"bookings": bookings,
|
||||
"bookings_history": bookingsHistory,
|
||||
}
|
||||
|
||||
renderer.Render("solidarity transport overview", w, r, files, state)
|
||||
@@ -26,13 +30,58 @@ func (renderer *Renderer) SolidarityTransportCreateDriver(w http.ResponseWriter,
|
||||
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")
|
||||
func (renderer *Renderer) SolidarityTransportUpdateDriver(w http.ResponseWriter, r *http.Request, driver any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.driver_update.files")
|
||||
state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"driver": driver,
|
||||
"documents": []any{},
|
||||
"driver": driver,
|
||||
}
|
||||
|
||||
renderer.Render("solidarity transport driver update", w, r, files, state)
|
||||
}
|
||||
|
||||
func (renderer *Renderer) SolidarityTransportDriverDisplay(w http.ResponseWriter, r *http.Request, driver mobilityaccountsstorage.Account, availabilities any, documents any, bookings any, stats map[string]any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.driver_display.files")
|
||||
state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu)
|
||||
|
||||
drivers_file_types := renderer.GlobalConfig.GetStringSlice("modules.solidarity_transport.drivers.documents_types")
|
||||
file_types_map := renderer.GlobalConfig.GetStringMapString("storage.files.file_types")
|
||||
|
||||
state.ViewState = map[string]any{
|
||||
"driver": driver,
|
||||
"availabilities": availabilities,
|
||||
"bookings": bookings,
|
||||
"documents": documents,
|
||||
"drivers_file_types": drivers_file_types,
|
||||
"file_types_map": file_types_map,
|
||||
"stats": stats,
|
||||
}
|
||||
|
||||
renderer.Render("solidarity transport driver creation", w, r, files, state)
|
||||
}
|
||||
|
||||
func (renderer *Renderer) SolidarityTransportDriverJourney(w http.ResponseWriter, r *http.Request, driverJourney any, driver any, passenger any, beneficiaries any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.driver_journey.files")
|
||||
state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"driver": driver,
|
||||
"passenger": passenger,
|
||||
"beneficiaries": beneficiaries,
|
||||
"driver_journey": driverJourney,
|
||||
"config": renderer.GlobalConfig,
|
||||
}
|
||||
|
||||
renderer.Render("solidarity transport driver creation", w, r, files, state)
|
||||
}
|
||||
|
||||
func (renderer *Renderer) SolidarityTransportBookingDisplay(w http.ResponseWriter, r *http.Request, booking any, driver any, passenger any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.solidarity_transport.booking_display.files")
|
||||
state := NewState(r, renderer.ThemeConfig, solidarityTransportMenu)
|
||||
state.ViewState = map[string]any{
|
||||
"driver": driver,
|
||||
"passenger": passenger,
|
||||
"booking": booking,
|
||||
}
|
||||
|
||||
renderer.Render("booking display", w, r, files, state)
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
filestorage "git.coopgo.io/coopgo-apps/parcoursmob/utils/storage"
|
||||
"git.coopgo.io/coopgo-platform/fleets/storage"
|
||||
fleetsstorage "git.coopgo.io/coopgo-platform/fleets/storage"
|
||||
mobilityaccountsstorage "git.coopgo.io/coopgo-platform/mobility-accounts/storage"
|
||||
)
|
||||
|
||||
@@ -22,7 +23,7 @@ func selectDocumentsDefaults(beneficiarydocuments []filestorage.FileInfo, mandat
|
||||
return res
|
||||
}
|
||||
|
||||
func (renderer *Renderer) VehiclesSearch(w http.ResponseWriter, r *http.Request, beneficiaries []mobilityaccountsstorage.Account, searched bool, vehicles []any, beneficiary any, startdate any, enddate any, mandatory_documents []string, file_types_map map[string]string, beneficiarydocuments []filestorage.FileInfo, selected_type string, automatic bool, vehicles_types []string, admingroups map[string]any) {
|
||||
func (renderer *Renderer) VehiclesSearch(w http.ResponseWriter, r *http.Request, beneficiaries []mobilityaccountsstorage.Account, searched bool, vehicles []fleetsstorage.Vehicle, beneficiary any, startdate any, enddate any, mandatory_documents []string, file_types_map map[string]string, beneficiarydocuments []filestorage.FileInfo, selected_type string, automatic bool, vehicles_types []string, admingroups map[string]any) {
|
||||
files := renderer.ThemeConfig.GetStringSlice("views.vehicles.search.files")
|
||||
state := NewState(r, renderer.ThemeConfig, vehiclesMenu)
|
||||
viewstate := map[string]any{
|
||||
|
||||
Reference in New Issue
Block a user