93 lines
3.5 KiB
Go
93 lines
3.5 KiB
Go
package renderer
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
filestorage "git.coopgo.io/coopgo-apps/parcoursmob/utils/storage"
|
|
"git.coopgo.io/coopgo-platform/fleets/storage"
|
|
mobilityaccountsstorage "git.coopgo.io/coopgo-platform/mobility-accounts/storage"
|
|
)
|
|
|
|
const vehiclesMenu = "vehicles"
|
|
|
|
func selectDocumentsDefaults(beneficiarydocuments []filestorage.FileInfo, mandatory_documents []string) map[string]string {
|
|
res := map[string]string{}
|
|
for _, v := range mandatory_documents {
|
|
for _, d := range beneficiarydocuments {
|
|
if d.Metadata["Type"] == v {
|
|
res[v] = d.Key
|
|
}
|
|
}
|
|
}
|
|
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) {
|
|
files := renderer.ThemeConfig.GetStringSlice("views.vehicles.search.files")
|
|
state := NewState(r, renderer.ThemeConfig, vehiclesMenu)
|
|
viewstate := map[string]any{
|
|
"beneficiaries": beneficiaries,
|
|
"searched": searched,
|
|
"vehicles_types": vehicles_types,
|
|
}
|
|
|
|
if searched {
|
|
viewstate["search"] = map[string]any{
|
|
"startdate": startdate,
|
|
"enddate": enddate,
|
|
"vehicles": vehicles,
|
|
"beneficiary": beneficiary,
|
|
"mandatory_documents": mandatory_documents,
|
|
"file_types_map": file_types_map,
|
|
"beneficiary_documents": beneficiarydocuments,
|
|
"selected_type": selected_type,
|
|
"automatic": automatic,
|
|
"admingroups": admingroups,
|
|
"documents_defaults": selectDocumentsDefaults(beneficiarydocuments, mandatory_documents),
|
|
}
|
|
}
|
|
|
|
state.ViewState = viewstate
|
|
|
|
renderer.Render("vehicles search", w, r, files, state)
|
|
}
|
|
|
|
func (renderer *Renderer) VehicleBookingDisplay(w http.ResponseWriter, r *http.Request, booking any, vehicle any, beneficiary any, group any, documents []filestorage.FileInfo, file_types_map map[string]string) {
|
|
files := renderer.ThemeConfig.GetStringSlice("views.vehicles.booking_display.files")
|
|
state := NewState(r, renderer.ThemeConfig, vehiclesMenu)
|
|
state.ViewState = map[string]any{
|
|
"booking": booking,
|
|
"vehicle": vehicle,
|
|
"beneficiary": beneficiary,
|
|
"group": group,
|
|
"documents": documents,
|
|
"file_types_map": file_types_map,
|
|
}
|
|
|
|
renderer.Render("vehicles search", w, r, files, state)
|
|
}
|
|
|
|
func (renderer *Renderer) VehicleBookingsList(w http.ResponseWriter, r *http.Request, bookings []storage.Booking, vehiclesMap any, groupsMap any) {
|
|
files := renderer.ThemeConfig.GetStringSlice("views.vehicles.bookings_list.files")
|
|
state := NewState(r, renderer.ThemeConfig, vehiclesMenu)
|
|
state.ViewState = map[string]any{
|
|
"bookings": bookings,
|
|
"vehicles_map": vehiclesMap,
|
|
"groups_map": groupsMap,
|
|
}
|
|
|
|
renderer.Render("vehicles search", w, r, files, state)
|
|
}
|
|
|
|
// func (renderer *Renderer) VehicleUnbookingsList(w http.ResponseWriter, r *http.Request, bookings []storage.Booking, vehiclesMap any, groupsMap any) {
|
|
// files := renderer.ThemeConfig.GetStringSlice("views.vehicles.bookings_list.files")
|
|
// state := NewState(r, renderer.ThemeConfig, vehiclesMenu)
|
|
// state.ViewState = map[string]any{
|
|
// "bookings": bookings,
|
|
// "vehicles_map": vehiclesMap,
|
|
// "groups_map": groupsMap,
|
|
// }
|
|
|
|
// renderer.Render("vehicles search", w, r, files, state)
|
|
// }
|