111 lines
5.1 KiB
Go
111 lines
5.1 KiB
Go
package renderer
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
mobilityaccountsstorage "git.coopgo.io/coopgo-platform/mobility-accounts/storage"
|
|
"git.coopgo.io/coopgo-platform/payments/pricing"
|
|
)
|
|
|
|
const organizedCarpoolMenu = "organized_carpool"
|
|
|
|
func (renderer *Renderer) OrganizedCarpoolOverview(w http.ResponseWriter, r *http.Request, drivers any, driversMap any, passengersMap any, bookings any, bookingsHistory any, filters map[string]any, histFilters map[string]any, tab string, enrichedGeoFilters []map[string]string, archived bool) {
|
|
files := renderer.ThemeConfig.GetStringSlice("views.organized_carpool.overview.files")
|
|
tripsItemsPerPage := renderer.GlobalConfig.GetInt("modules.organized_carpool.pagination.trips_items_per_page")
|
|
driversItemsPerPage := renderer.GlobalConfig.GetInt("modules.organized_carpool.pagination.drivers_items_per_page")
|
|
|
|
geoFiltersEnabled := len(enrichedGeoFilters) > 0
|
|
|
|
state := NewState(r, renderer.ThemeConfig, organizedCarpoolMenu)
|
|
state.ViewState = map[string]any{
|
|
"drivers": drivers,
|
|
"drivers_map": driversMap,
|
|
"passengers_map": passengersMap,
|
|
"bookings": bookings,
|
|
"bookings_history": bookingsHistory,
|
|
"filters": filters,
|
|
"hist_filters": histFilters,
|
|
"tab": tab,
|
|
"trips_items_per_page": tripsItemsPerPage,
|
|
"drivers_items_per_page": driversItemsPerPage,
|
|
"geography_filters_enabled": geoFiltersEnabled,
|
|
"geography_filters_list": enrichedGeoFilters,
|
|
"archived": archived,
|
|
}
|
|
|
|
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) OrganizedCarpoolUpdateDriver(w http.ResponseWriter, r *http.Request, driver any) {
|
|
files := renderer.ThemeConfig.GetStringSlice("views.organized_carpool.driver_update.files")
|
|
state := NewState(r, renderer.ThemeConfig, organizedCarpoolMenu)
|
|
state.ViewState = map[string]any{
|
|
"driver": driver,
|
|
}
|
|
|
|
renderer.Render("organized carpool driver update", w, r, files, state)
|
|
}
|
|
|
|
func (renderer *Renderer) OrganizedCarpoolDriverDisplay(w http.ResponseWriter, r *http.Request, driver mobilityaccountsstorage.Account, trips any, documents any, bookings any, beneficiariesMap any, stats map[string]any, walletBalance float64, tab string) {
|
|
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,
|
|
"bookings": bookings,
|
|
"beneficiaries_map": beneficiariesMap,
|
|
"stats": stats,
|
|
"drivers_file_types": drivers_file_types,
|
|
"file_types_map": file_types_map,
|
|
"wallet_balance": walletBalance,
|
|
"tab": tab,
|
|
}
|
|
|
|
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, passengerWalletBalance float64, pricingResult map[string]pricing.Price) {
|
|
files := renderer.ThemeConfig.GetStringSlice("views.organized_carpool.journey.files")
|
|
bookingMotivations := renderer.GlobalConfig.Get("modules.organized_carpool.booking_motivations")
|
|
state := NewState(r, renderer.ThemeConfig, organizedCarpoolMenu)
|
|
state.ViewState = map[string]any{
|
|
"driver": driver,
|
|
"passenger": passenger,
|
|
"beneficiaries": beneficiaries,
|
|
"journey": journey,
|
|
"config": renderer.GlobalConfig,
|
|
"booking_motivations": bookingMotivations,
|
|
"passenger_wallet_balance": passengerWalletBalance,
|
|
"pricing_result": pricingResult,
|
|
}
|
|
|
|
renderer.Render("organized carpool journey", w, r, files, state)
|
|
}
|
|
|
|
func (renderer *Renderer) OrganizedCarpoolBookingDisplay(w http.ResponseWriter, r *http.Request, booking any, driver any, passenger any, driverDepartureAddress, driverArrivalAddress string) {
|
|
files := renderer.ThemeConfig.GetStringSlice("views.organized_carpool.booking_display.files")
|
|
state := NewState(r, renderer.ThemeConfig, organizedCarpoolMenu)
|
|
state.ViewState = map[string]any{
|
|
"driver": driver,
|
|
"passenger": passenger,
|
|
"booking": booking,
|
|
"driverDepartureAddress": driverDepartureAddress,
|
|
"driverArrivalAddress": driverArrivalAddress,
|
|
}
|
|
|
|
renderer.Render("organized carpool booking display", w, r, files, state)
|
|
}
|