From 6ee700b28ab54f41cf02c7838a9c90c9bbe965b7 Mon Sep 17 00:00:00 2001 From: Raul Bob Date: Fri, 20 Jun 2025 12:41:52 +0200 Subject: [PATCH] #13453 - Enable onset date for diseases without symptoms - `SymptomsDto` Disabled onset symptom for RSV, Influenza A and Influenza B. - `SymptomsForm` Enabled onset date for diseases without symptoms based on visibility of `onsetSymptom` (e.g. RSV, Influenza A and Influenza B). --- .../de/symeda/sormas/api/symptoms/SymptomsDto.java | 3 --- .../de/symeda/sormas/ui/symptoms/SymptomsForm.java | 12 +++++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/sormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.java b/sormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.java index 51236193b49..edc096a7e42 100644 --- a/sormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.java +++ b/sormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.java @@ -1370,10 +1370,7 @@ public static SymptomsDto build() { MATERNAL_DEATHS, PERINATAL_DEATHS, INFLUENZA, - INFLUENZA_A, - INFLUENZA_B, H_METAPNEUMOVIRUS, - RESPIRATORY_SYNCYTIAL_VIRUS, PARAINFLUENZA_1_4, ADENOVIRUS, RHINOVIRUS, diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/symptoms/SymptomsForm.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/symptoms/SymptomsForm.java index 7bc89f1a222..fe8810aef97 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/symptoms/SymptomsForm.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/symptoms/SymptomsForm.java @@ -1182,6 +1182,10 @@ public boolean isAnySymptomSetToYes(FieldGroup fieldGroup, List sourcePr return false; } + public boolean isAnySymptomVisible(FieldGroup fieldGroup, List sourcePropertyIds, List sourceValues) { + return true; + } + @SuppressWarnings("rawtypes") private void addListenerForOnsetFields(ComboBox onsetSymptom, DateField onsetDateField) { List allPropertyIds = @@ -1196,9 +1200,9 @@ private void addListenerForOnsetFields(ComboBox onsetSymptom, DateField onsetDat onsetDateField.setEnabled(true); } else { onsetSymptom.removeItem(sourceField.getCaption()); + final Date onsetDate = getValue().getOnsetDate(); boolean isOnsetDateFieldEnabled = isAnySymptomSetToYes(getFieldGroup(), allPropertyIds, Arrays.asList(SymptomState.YES)); - onsetDateField.setEnabled(isOnsetDateFieldEnabled); - Date onsetDate = getValue().getOnsetDate(); + onsetDateField.setEnabled(isOnsetDateFieldEnabled || !onsetSymptom.isVisible()); if (onsetDate != null) { onsetDateField.setValue(onsetDate); } else if (!isOnsetDateFieldEnabled) { @@ -1209,7 +1213,9 @@ private void addListenerForOnsetFields(ComboBox onsetSymptom, DateField onsetDat }); } onsetSymptom.setEnabled(false); // will be updated by listener if needed - onsetDateField.setEnabled(false); // will be updated by listener if needed + + // make onsetDate editable for diseases that have no symptoms (a.k. no first symptom) + onsetDateField.setEnabled(!onsetSymptom.isVisible()); } private void setUpMonkeypoxVisibilities() {