Skip to content

Commit d7f73f6

Browse files
Merge pull request #13722 from SORMAS-Foundation/bugfix-13703-tb-contact-form-pre-existing-conditions-are-not-matching-with-cases-one
defect fix
2 parents 11bf73b + 866555f commit d7f73f6

File tree

1 file changed

+26
-19
lines changed

1 file changed

+26
-19
lines changed

sormas-ui/src/main/java/de/symeda/sormas/ui/contact/ContactDataForm.java

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@
8686
import de.symeda.sormas.api.utils.Diseases.DiseasesConfiguration;
8787
import de.symeda.sormas.api.utils.ExtendedReduced;
8888
import de.symeda.sormas.api.utils.YesNoUnknown;
89+
import de.symeda.sormas.api.utils.fieldaccess.UiFieldAccessCheckers;
8990
import de.symeda.sormas.api.utils.fieldvisibility.FieldVisibilityCheckers;
91+
import de.symeda.sormas.api.utils.fieldvisibility.checkers.CountryFieldVisibilityChecker;
9092
import de.symeda.sormas.ui.ControllerProvider;
9193
import de.symeda.sormas.ui.UiUtil;
9294
import de.symeda.sormas.ui.clinicalcourse.HealthConditionsForm;
@@ -465,8 +467,10 @@ protected void addFields() {
465467
ComboBox vaccinationStatusCB = addField(ContactDto.VACCINATION_STATUS);
466468
DateField vaccinationDose1DateDF = addField(ContactDto.VACCINATION_DOSE_ONE_DATE);
467469
DateField vaccinationDose2DateDF = addField(ContactDto.VACCINATION_DOSE_TWO_DATE);
468-
FieldHelper.setVisibleWhen(vaccinationStatusCB, Arrays.asList(vaccinationDose1DateDF), Arrays.asList(VaccinationStatus.VACCINATED_ONE_DOSE), true);
469-
FieldHelper.setVisibleWhen(vaccinationStatusCB, Arrays.asList(vaccinationDose2DateDF), Arrays.asList(VaccinationStatus.VACCINATED_TWO_DOSE), true);
470+
FieldHelper
471+
.setVisibleWhen(vaccinationStatusCB, Arrays.asList(vaccinationDose1DateDF), Arrays.asList(VaccinationStatus.VACCINATED_ONE_DOSE), true);
472+
FieldHelper
473+
.setVisibleWhen(vaccinationStatusCB, Arrays.asList(vaccinationDose2DateDF), Arrays.asList(VaccinationStatus.VACCINATED_TWO_DOSE), true);
470474
addField(ContactDto.VACCINATION_PROPOSED, CheckBox.class);
471475
addField(ContactDto.IMMUNE_GLOBULIN_PROPOSED, CheckBox.class);
472476
addField(ContactDto.RETURNING_TRAVELER, NullableOptionGroup.class);
@@ -534,7 +538,13 @@ protected void addFields() {
534538

535539
cbDisease.addValueChangeListener(e -> updateDiseaseConfiguration((Disease) e.getProperty().getValue()));
536540

537-
HealthConditionsForm clinicalCourseForm = addField(ContactDto.HEALTH_CONDITIONS, HealthConditionsForm.class);
541+
HealthConditionsForm clinicalCourseForm = addField(
542+
ContactDto.HEALTH_CONDITIONS,
543+
new HealthConditionsForm(
544+
disease,
545+
FieldVisibilityCheckers.withDisease(disease)
546+
.add(new CountryFieldVisibilityChecker(FacadeProvider.getConfigFacade().getCountryLocale())),
547+
UiFieldAccessCheckers.getDefault(true, FacadeProvider.getConfigFacade().getCountryLocale())));
538548
clinicalCourseForm.setCaption(null);
539549

540550
Label generalCommentLabel = new Label(I18nProperties.getPrefixCaption(ContactDto.I18N_PREFIX, ContactDto.ADDITIONAL_DETAILS));
@@ -743,11 +753,8 @@ public String getFormattedHtmlMessage() {
743753
ContactDto.PRESCRIBED_DRUG,
744754
Collections.singletonList(Drug.OTHER),
745755
true);
746-
FieldHelper.setRequiredWhen(
747-
getFieldGroup(),
748-
ContactDto.PRESCRIBED_DRUG,
749-
Arrays.asList(ContactDto.PRESCRIBED_DRUG_TEXT),
750-
Arrays.asList(Drug.OTHER));
756+
FieldHelper
757+
.setRequiredWhen(getFieldGroup(), ContactDto.PRESCRIBED_DRUG, Arrays.asList(ContactDto.PRESCRIBED_DRUG_TEXT), Arrays.asList(Drug.OTHER));
751758
}
752759

753760
private void updateContactOfficers() {
@@ -893,17 +900,17 @@ private void updateDiseaseConfiguration(Disease disease) {
893900

894901
// For LUX measles cases do not require the follow-up details. For other countries works as it is
895902
FieldHelper.setMultipleVisible(
896-
getFieldGroup(),
897-
Arrays.asList(
898-
ContactDto.FOLLOW_UP_STATUS,
899-
ContactDto.FOLLOW_UP_STATUS_CHANGE_DATE,
900-
ContactDto.FOLLOW_UP_STATUS_CHANGE_USER,
901-
ContactDto.FOLLOW_UP_COMMENT,
902-
ContactDto.FOLLOW_UP_UNTIL,
903-
ContactDto.CONTACT_OFFICER,
904-
ContactDto.OVERWRITE_FOLLOW_UP_UNTIL),
905-
field -> !isLuxMeasles(disease),
906-
field -> false);
903+
getFieldGroup(),
904+
Arrays.asList(
905+
ContactDto.FOLLOW_UP_STATUS,
906+
ContactDto.FOLLOW_UP_STATUS_CHANGE_DATE,
907+
ContactDto.FOLLOW_UP_STATUS_CHANGE_USER,
908+
ContactDto.FOLLOW_UP_COMMENT,
909+
ContactDto.FOLLOW_UP_UNTIL,
910+
ContactDto.CONTACT_OFFICER,
911+
ContactDto.OVERWRITE_FOLLOW_UP_UNTIL),
912+
field -> !isLuxMeasles(disease),
913+
field -> false);
907914

908915
FieldHelper.updateEnumData(
909916
contactProximity,

0 commit comments

Comments
 (0)