Compare commits
2 Commits
31e5eadc73
...
deleteVehi
| Author | SHA1 | Date | |
|---|---|---|---|
| f26d792b8b | |||
| bfd14d7f4c |
2
go.mod
2
go.mod
@@ -6,7 +6,7 @@ go 1.18
|
|||||||
|
|
||||||
// replace git.coopgo.io/coopgo-platform/groups-management => ../../coopgo-platform/groups-management/
|
// replace git.coopgo.io/coopgo-platform/groups-management => ../../coopgo-platform/groups-management/
|
||||||
|
|
||||||
// replace git.coopgo.io/coopgo-platform/fleets => ../../coopgo-platform/fleets/
|
replace git.coopgo.io/coopgo-platform/fleets => ../../coopgo-platform/fleets/
|
||||||
|
|
||||||
// replace git.coopgo.io/coopgo-platform/agenda => ../../coopgo-platform/agenda/
|
// replace git.coopgo.io/coopgo-platform/agenda => ../../coopgo-platform/agenda/
|
||||||
|
|
||||||
|
|||||||
@@ -45,8 +45,10 @@ func (h *ApplicationHandler) VehiclesManagementOverview(w http.ResponseWriter, r
|
|||||||
vehicleBookings := []fleetsstorage.Booking{}
|
vehicleBookings := []fleetsstorage.Booking{}
|
||||||
for _, b := range v.Bookings {
|
for _, b := range v.Bookings {
|
||||||
if b.Status() != fleetsstorage.StatusOld {
|
if b.Status() != fleetsstorage.StatusOld {
|
||||||
|
if deleted, ok := b.Data["Deleted"].(bool); !ok && !deleted {
|
||||||
bookings = append(bookings, b)
|
bookings = append(bookings, b)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if b.Unavailableto.After(time.Now()) {
|
if b.Unavailableto.After(time.Now()) {
|
||||||
vehicleBookings = append(vehicleBookings, b)
|
vehicleBookings = append(vehicleBookings, b)
|
||||||
}
|
}
|
||||||
@@ -494,6 +496,7 @@ func (h ApplicationHandler) VehiclesFleetMakeUnavailable(w http.ResponseWriter,
|
|||||||
func (h *ApplicationHandler) UnbookingVehicle(w http.ResponseWriter, r *http.Request) {
|
func (h *ApplicationHandler) UnbookingVehicle(w http.ResponseWriter, r *http.Request) {
|
||||||
vars := mux.Vars(r)
|
vars := mux.Vars(r)
|
||||||
bookingid := vars["bookingid"]
|
bookingid := vars["bookingid"]
|
||||||
|
|
||||||
request := &fleets.GetBookingRequest{
|
request := &fleets.GetBookingRequest{
|
||||||
Bookingid: bookingid,
|
Bookingid: bookingid,
|
||||||
}
|
}
|
||||||
@@ -504,6 +507,63 @@ func (h *ApplicationHandler) UnbookingVehicle(w http.ResponseWriter, r *http.Req
|
|||||||
w.WriteHeader(http.StatusInternalServerError)
|
w.WriteHeader(http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
now := time.Now()
|
||||||
|
date := now.Format("2006-01-02")
|
||||||
|
unavailableto, _ := time.Parse("2006-01-02", date)
|
||||||
|
|
||||||
|
current_group, err := h.currentGroup(r)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
w.WriteHeader(http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
current_user_token, current_user_claims, err := h.currentUser(r)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
w.WriteHeader(http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
booked_by_id := resp.Booking.Data.Fields["booked_by"].GetStructValue().Fields["user"].GetStructValue().Fields["id"].GetStringValue()
|
||||||
|
booked_by_name := resp.Booking.Data.Fields["booked_by"].GetStructValue().Fields["user"].GetStructValue().Fields["display_name"].GetStringValue()
|
||||||
|
booked_by_email := resp.Booking.Data.Fields["booked_by"].GetStructValue().Fields["user"].GetStructValue().Fields["email"].GetStringValue()
|
||||||
|
booked_by_group_id := resp.Booking.Data.Fields["booked_by"].GetStructValue().Fields["group"].GetStructValue().Fields["id"].GetStringValue()
|
||||||
|
booked_by_group_name := resp.Booking.Data.Fields["booked_by"].GetStructValue().Fields["group"].GetStructValue().Fields["name"].GetStringValue()
|
||||||
|
|
||||||
|
data := map[string]any{
|
||||||
|
"booked_by": map[string]any{
|
||||||
|
"user": map[string]any{
|
||||||
|
"id": booked_by_id,
|
||||||
|
"display_name": booked_by_name,
|
||||||
|
"email": booked_by_email,
|
||||||
|
},
|
||||||
|
"group": map[string]any{
|
||||||
|
"id": booked_by_group_id,
|
||||||
|
"name": booked_by_group_name,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"unbooked_by": map[string]any{
|
||||||
|
"user": map[string]any{
|
||||||
|
"id": current_user_token.Subject,
|
||||||
|
"display_name": current_user_claims["first_name"].(string) + " " + current_user_claims["last_name"].(string),
|
||||||
|
"email": current_user_claims["email"],
|
||||||
|
},
|
||||||
|
"group": map[string]any{
|
||||||
|
"id": current_group.ID,
|
||||||
|
"name": current_group.Data["name"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"Deleted": true,
|
||||||
|
"motif": r.FormValue("motif"),
|
||||||
|
}
|
||||||
|
|
||||||
|
datapb, err := structpb.NewStruct(data)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
w.WriteHeader(http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if r.Method == "POST" {
|
if r.Method == "POST" {
|
||||||
|
|
||||||
@@ -515,9 +575,8 @@ func (h *ApplicationHandler) UnbookingVehicle(w http.ResponseWriter, r *http.Req
|
|||||||
Startdate: resp.Booking.Startdate,
|
Startdate: resp.Booking.Startdate,
|
||||||
Enddate: resp.Booking.Enddate,
|
Enddate: resp.Booking.Enddate,
|
||||||
Unavailablefrom: resp.Booking.Unavailablefrom,
|
Unavailablefrom: resp.Booking.Unavailablefrom,
|
||||||
Unavailableto: resp.Booking.Unavailableto,
|
Unavailableto: timestamppb.New(unavailableto),
|
||||||
Data: resp.Booking.Data,
|
Data: datapb,
|
||||||
Deleted: true,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -532,5 +591,5 @@ func (h *ApplicationHandler) UnbookingVehicle(w http.ResponseWriter, r *http.Req
|
|||||||
http.Redirect(w, r, "/app/vehicles-management/", http.StatusFound)
|
http.Redirect(w, r, "/app/vehicles-management/", http.StatusFound)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
h.Renderer.UnbookingVehicle(w, r, bookingid)
|
h.Renderer.UnbookingVehicle(w, r, resp.Booking.ToStorageType())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ func (renderer *Renderer) VehicleManagementBookingDisplay(w http.ResponseWriter,
|
|||||||
renderer.Render("vehicles search", w, r, files, state)
|
renderer.Render("vehicles search", w, r, files, state)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (renderer *Renderer) UnbookingVehicle(w http.ResponseWriter, r *http.Request, booking string) {
|
func (renderer *Renderer) UnbookingVehicle(w http.ResponseWriter, r *http.Request, booking any) {
|
||||||
files := renderer.ThemeConfig.GetStringSlice("views.vehicles_management.delete_booking.files")
|
files := renderer.ThemeConfig.GetStringSlice("views.vehicles_management.delete_booking.files")
|
||||||
state := NewState(r, renderer.ThemeConfig, vehiclesmanagementMenu)
|
state := NewState(r, renderer.ThemeConfig, vehiclesmanagementMenu)
|
||||||
state.ViewState = map[string]any{
|
state.ViewState = map[string]any{
|
||||||
|
|||||||
Reference in New Issue
Block a user