From 5ae192011c1e2991957ff9fec979b383b555f677 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 4 Oct 2026 07:26:27 +0530 Subject: [PATCH] fix(fleetops): prevent order form reset when editing a place modal --- addon/components/order/form/route.js | 28 ++++++++++++++++++++- addon/routes/operations/orders/index/new.js | 6 ++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/addon/components/order/form/route.js b/addon/components/order/form/route.js index f95f3f793..90a233cda 100644 --- a/addon/components/order/form/route.js +++ b/addon/components/order/form/route.js @@ -195,7 +195,33 @@ export default class OrderFormRouteComponent extends Component { } @action editPlace(place) { - this.placeActions.modal.edit(place); + this.placeActions.modal.edit(place, + {}, + { + refresh: false, + callback: (savedPlace) => { + const placeToSync = savedPlace || place; + const waypoints = this.args.resource?.payload?.waypoints ?? + []; + waypoints.forEach((waypoint) => { + if (waypoint.place === place || waypoint.place?.id === placeToSync.id) { + waypoint.setProperties({ + street1: placeToSync.street1, + street2: placeToSync.street2, + city: placeToSync.city, + province: placeToSync.province, + postal_code: placeToSync.postal_code, + country: placeToSync.country, + location: placeToSync.location, + }); + } + }); + + this.previewRoute(); + this.requestServiceQuoteRefresh('route.place.updated'); + }, + } + ); } @action async previewRoute() { diff --git a/addon/routes/operations/orders/index/new.js b/addon/routes/operations/orders/index/new.js index e8302b75e..19f95e9c0 100644 --- a/addon/routes/operations/orders/index/new.js +++ b/addon/routes/operations/orders/index/new.js @@ -10,7 +10,11 @@ export default class OperationsOrdersIndexNewRoute extends Route { @service sidebar; @action willTransition() { - if (this.controller) { + const orderNewRoute = 'operations.orders.index.new'; + const toName = transition?.to?.name ?? transition?.targetName; + const isLeavingNewRoute = Boolean(toName && !toName.includes(orderNewRoute)); + + if (isLeavingNewRoute && this.controller) { this.controller.reset(); } }