feat: extra properties dynamiques, filtrage meta_status et alertes retard
Some checks failed
Build and Push Docker Image / build_and_push (push) Failing after 2m37s

This commit is contained in:
Arnaud Delcasse
2026-02-27 16:40:46 +01:00
parent 95365ff8ce
commit 039111c36c
7 changed files with 562 additions and 47 deletions

View File

@@ -233,10 +233,20 @@ func ReadConfig() (*viper.Viper, error) {
"vehicles": map[string]any{
"enabled": true,
"default_booking_duration_days": 90,
"status_management": "automatic",
"status_management": "automatic",
"booking_extra_properties": []map[string]any{
{"name": "start_kilometers", "label": "Kilométrage de départ", "type": "number"},
{"name": "enddate", "label": "Date et heure de restitution", "type": "datetime-local", "target": "enddate"},
{"name": "end_kilometers", "label": "Kilométrage de fin", "type": "number"},
{"name": "kilometers_done", "label": "Kilomètres réalisés", "type": "computed", "operation": "subtract", "operands": []string{"end_kilometers", "start_kilometers"}, "unit": "km"},
{"name": "loan_duration", "label": "Durée du prêt", "type": "computed", "operation": "duration", "operands": []string{"booking.startdate", "booking.enddate"}},
{"name": "unavailableto", "label": "Sera à nouveau disponible le", "type": "date", "target": "unavailableto"},
},
"status_options": []map[string]any{
{"name": "requested", "label": "Demandé", "initial": true, "meta_status": "open"},
{"name": "accepted", "label": "Accepté", "meta_status": "active"},
{"name": "en_pret", "label": "En prêt", "meta_status": "active", "requested_properties": []map[string]any{{"name": "start_kilometers", "required": true}, {"name": "enddate"}}},
{"name": "completed", "label": "Terminé", "meta_status": "closed", "requested_properties": []map[string]any{{"name": "end_kilometers", "required": true}, {"name": "unavailableto"}}},
{"name": "refused", "label": "Refusé", "meta_status": "closed"},
{"name": "cancelled", "label": "Annulé", "meta_status": "closed"},
{"name": "not_completed", "label": "Non réalisé", "meta_status": "closed"},