diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/AbstractSampleForm.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/AbstractSampleForm.java index b72ccfb07a5..6c3d6b4df1e 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/AbstractSampleForm.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/AbstractSampleForm.java @@ -111,6 +111,8 @@ public abstract class AbstractSampleForm extends AbstractEditForm { fluidRowLocs(CaseDataDto.OTHER_DELETION_REASON); //@formatter:on + private Disease disease; + protected AbstractSampleForm(Class type, String propertyI18nPrefix, Disease disease, UiFieldAccessCheckers fieldAccessCheckers) { super( type, @@ -118,6 +120,7 @@ protected AbstractSampleForm(Class type, String propertyI18nPrefix, D true, FieldVisibilityCheckers.withDisease(disease).andWithCountry(FacadeProvider.getConfigFacade().getCountryLocale()), fieldAccessCheckers); + this.disease = disease; } protected void addCommonFields() { @@ -456,4 +459,9 @@ private void updateRequestedTestFields() { getContent().removeComponent(REQUESTED_ADDITIONAL_TESTS_READ_LOC); } } + + + public Disease getDisease() { + return disease; + } } diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/humansample/SampleController.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/humansample/SampleController.java index f0ae9aa5152..3e4135575a5 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/humansample/SampleController.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/humansample/SampleController.java @@ -100,6 +100,7 @@ public class SampleController { private Disease disease; + public SampleController() { } @@ -212,7 +213,10 @@ private CollapsiblePathogenTestForm addPathogenTestComponent( separator.setVisible(addSeparator); sampleComponent.addComponent(separator, sampleComponent.getComponentCount() - 1); - PathogenTestForm pathogenTestForm = new PathogenTestForm(sampleComponent.getWrappedComponent(), true, caseSampleCount, false, true, disease); // Valid because jurisdiction doesn't matter for entities that are about to be created + final Disease pathogenTestFormDisease = disease != null ? disease : sampleComponent.getWrappedComponent().getDisease(); + + PathogenTestForm pathogenTestForm = + new PathogenTestForm(sampleComponent.getWrappedComponent(), true, caseSampleCount, false, true, pathogenTestFormDisease); // Valid because jurisdiction doesn't matter for entities that are about to be created // prefill fields if (pathogenTest != null) { pathogenTestForm.setValue(pathogenTest); @@ -228,8 +232,7 @@ private CollapsiblePathogenTestForm addPathogenTestComponent( pathogenTestResultField.setValue(PathogenTestResultType.PENDING); ComboBox testDiseaseField = pathogenTestForm.getField(PathogenTestDto.TESTED_DISEASE); // setting the disease field value is only necessary if the disease is not null - testDiseaseField.setValue(disease); - + testDiseaseField.setValue(pathogenTestFormDisease); } // setup field updates Field testLabField = pathogenTestForm.getField(PathogenTestDto.LAB);