From c4fa78e5a3e799619c66f81332b9f879d7f37d71 Mon Sep 17 00:00:00 2001 From: Carina Paul Date: Wed, 31 Jan 2024 14:42:10 +0200 Subject: [PATCH] #12917 - Do not update facility when Place of stay is HOME --- .../sormas/ui/caze/BulkCaseDataForm.java | 50 +++++++++++-------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/caze/BulkCaseDataForm.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/caze/BulkCaseDataForm.java index e15447c8f03..52b98bdacbb 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/caze/BulkCaseDataForm.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/caze/BulkCaseDataForm.java @@ -327,36 +327,42 @@ protected void addFields() { updateFacilityFields(facility, healthFacilityDetails); }); district.addValueChangeListener(e -> { - FieldHelper.removeItems(facility); - FieldHelper.removeItems(community); DistrictReferenceDto districtDto = (DistrictReferenceDto) e.getProperty().getValue(); + FieldHelper.removeItems(community); FieldHelper.updateItems( community, districtDto != null ? FacadeProvider.getCommunityFacade().getAllActiveByDistrict(districtDto.getUuid()) : null); - if (districtDto != null && facilityType.getValue() != null) { - FieldHelper.updateItems( - facility, - FacadeProvider.getFacilityFacade() - .getActiveFacilitiesByDistrictAndType(districtDto, (FacilityType) facilityType.getValue(), true, false)); + + if (!TypeOfPlace.HOME.equals(facilityOrHome.getValue())) { + FieldHelper.removeItems(facility); + if (districtDto != null && facilityType.getValue() != null) { + FieldHelper.updateItems( + facility, + FacadeProvider.getFacilityFacade() + .getActiveFacilitiesByDistrictAndType(districtDto, (FacilityType) facilityType.getValue(), true, false)); + } } }); community.addValueChangeListener(e -> { - FieldHelper.removeItems(facility); - CommunityReferenceDto communityDto = (CommunityReferenceDto) e.getProperty().getValue(); - if (facilityType.getValue() != null) { - FieldHelper.updateItems( - facility, - communityDto != null - ? FacadeProvider.getFacilityFacade() - .getActiveFacilitiesByCommunityAndType(communityDto, (FacilityType) facilityType.getValue(), true, false) - : district.getValue() != null + if (!TypeOfPlace.HOME.equals(facilityOrHome.getValue())) { + FieldHelper.removeItems(facility); + + CommunityReferenceDto communityDto = (CommunityReferenceDto) e.getProperty().getValue(); + if (facilityType.getValue() != null) { + FieldHelper.updateItems( + facility, + communityDto != null ? FacadeProvider.getFacilityFacade() - .getActiveFacilitiesByDistrictAndType( - (DistrictReferenceDto) district.getValue(), - (FacilityType) facilityType.getValue(), - true, - false) - : null); + .getActiveFacilitiesByCommunityAndType(communityDto, (FacilityType) facilityType.getValue(), true, false) + : district.getValue() != null + ? FacadeProvider.getFacilityFacade() + .getActiveFacilitiesByDistrictAndType( + (DistrictReferenceDto) district.getValue(), + (FacilityType) facilityType.getValue(), + true, + false) + : null); + } } }); facilityTypeGroup.addValueChangeListener(e -> {