diff --git a/backend/src/main/java/ca/bc/gov/app/service/client/ClientService.java b/backend/src/main/java/ca/bc/gov/app/service/client/ClientService.java index 1cf103df27..917c5bb9bb 100644 --- a/backend/src/main/java/ca/bc/gov/app/service/client/ClientService.java +++ b/backend/src/main/java/ca/bc/gov/app/service/client/ClientService.java @@ -34,6 +34,7 @@ import io.micrometer.observation.annotation.Observed; import java.time.LocalDate; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; @@ -446,6 +447,7 @@ private Mono buildAddress( loadProvince(address.country().value(), address.province().value()) .map(address::withProvince) ) + .sort(Comparator.comparing(ClientAddressDto::locationName).reversed()) .collectList() .defaultIfEmpty(new ArrayList<>()) .flatMap(addresses -> diff --git a/frontend/src/pages/bceidform/BusinessInformationWizardStep.vue b/frontend/src/pages/bceidform/BusinessInformationWizardStep.vue index 3d1121ce2a..8f8db65963 100644 --- a/frontend/src/pages/bceidform/BusinessInformationWizardStep.vue +++ b/frontend/src/pages/bceidform/BusinessInformationWizardStep.vue @@ -269,6 +269,11 @@ watch([detailsData], () => { const forestClientDetails: ForestClientDetailsDto = detailsData.value; if (!features.BCEID_MULTI_ADDRESS) { + // To prevent multiple addresses from breaking the validations + if (Array.isArray(forestClientDetails?.addresses) && forestClientDetails.addresses.length > 1) { + forestClientDetails.addresses.pop(); + } + forestClientDetails?.contacts?.forEach((contact) => { contact.locationNames = [{ ...defaultLocation }]; });