diff --git a/api/src/Page/Shipment.php b/api/src/Page/Shipment.php index 0019c1e77..e1021ac38 100644 --- a/api/src/Page/Shipment.php +++ b/api/src/Page/Shipment.php @@ -3451,6 +3451,10 @@ function _create_awb() && in_array($this->arg('COUNTRY'), $facility_courier_countries) && Utils::getValueOrDefault($use_shipping_service_redirect_incoming_shipments) ) { + if ($ship['EXTERNALSHIPPINGIDTOSYNCHROTRON']) { + $this->_error("Shipping service error: Booking already exists"); + return; + } try { $this->_create_shipment_shipment_request($ship, $dewars); $this->_output(array('EXTERNAL' => "1")); diff --git a/client/src/js/modules/shipment/views/createawb.js b/client/src/js/modules/shipment/views/createawb.js index 62b3e43b0..9d5373bb9 100644 --- a/client/src/js/modules/shipment/views/createawb.js +++ b/client/src/js/modules/shipment/views/createawb.js @@ -468,6 +468,14 @@ define(['backbone', return } + const ss_url = app.options.get("shipping_service_app_url_incoming") + const externalid = this.shipment.get('EXTERNALSHIPPINGIDTOSYNCHROTRON') + if (externalid && ss_url) { + const link = ss_url+'/shipment-requests/'+externalid+'/incoming' + window.location.assign(link) + return + } + var prod = null if ( ( @@ -510,7 +518,7 @@ define(['backbone', }, success: function(resp) { if ( - app.options.get("shipping_service_app_url_incoming") + ss_url && (Number(self.terms.get('ACCEPTED')) === 1) // terms.ACCEPTED could be undefined, 1, or "1" && app.options.get("facility_courier_countries").includes(country) ) { @@ -521,9 +529,7 @@ define(['backbone', app.alert({message: "Error performing redirect: external shipping id is null"}) return; } - window.location.assign( - `${app.options.get("shipping_service_app_url")}/shipment-requests/${external_id}/incoming` - ) + window.location.assign(`${ss_url}/shipment-requests/${external_id}/incoming`) }) } else { app.message({ message: 'Air Waybill Successfully Created'})