From 87d0496d7c37420628b3da439c181b3f28ecfe7f Mon Sep 17 00:00:00 2001 From: Harold Date: Tue, 7 Jul 2026 15:23:12 +0300 Subject: [PATCH 1/2] Fix sample-type visibility and AST commit crash (#14018, #14156, #14124) --- .../java/de/symeda/sormas/api/sample/SampleMaterial.java | 9 +++------ .../ui/samples/diseasesection/ImiSectionComponent.java | 1 - .../symeda/sormas/ui/therapy/DrugSusceptibilityForm.java | 8 ++++++++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/sormas-api/src/main/java/de/symeda/sormas/api/sample/SampleMaterial.java b/sormas-api/src/main/java/de/symeda/sormas/api/sample/SampleMaterial.java index 63749d87c5e..a79ffbfe2fc 100644 --- a/sormas-api/src/main/java/de/symeda/sormas/api/sample/SampleMaterial.java +++ b/sormas-api/src/main/java/de/symeda/sormas/api/sample/SampleMaterial.java @@ -340,7 +340,7 @@ public enum SampleMaterial { PLEURAL_FLUID, // Re-activated for RSV new samples (#14023): the RSV specimen requirements list Nasopharyngeal lavage. - // No canonical SNOMED-CT code on the specimen sheet, so its SNOMED export stays null. + // No canonical SNOMED-CT code on the specimen sheet, so its SNOMED export stays null. @Diseases(value = { Disease.RESPIRATORY_SYNCYTIAL_VIRUS }) NASOPHARYNGEAL_LAVAGE, @@ -367,11 +367,10 @@ public enum SampleMaterial { Disease.SHIGELLOSIS }, hide = true) AMNIOTIC_FLUID, - @Diseases(value = { - Disease.RESPIRATORY_SYNCYTIAL_VIRUS, - Disease.GIARDIASIS }, hide = true) + // Clinical Sample (Other) is offered for every disease (#14018) — no @Diseases means "visible for all". CLINICAL_SAMPLE, + // Lux hide lifted so Peritoneal fluid shows for IPI on Luxembourg servers (#14156). @Diseases(value = { Disease.RESPIRATORY_SYNCYTIAL_VIRUS, Disease.INVASIVE_MENINGOCOCCAL_INFECTION, @@ -381,8 +380,6 @@ public enum SampleMaterial { Disease.MALARIA, Disease.DENGUE, Disease.SALMONELLOSIS }, hide = true) - @HideForCountries(countries = { - CountryHelper.COUNTRY_CODE_LUXEMBOURG }) PERITONEAL_FLUID, @Diseases(value = { diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/diseasesection/ImiSectionComponent.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/diseasesection/ImiSectionComponent.java index 9b03418e394..63ab4007782 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/diseasesection/ImiSectionComponent.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/samples/diseasesection/ImiSectionComponent.java @@ -152,5 +152,4 @@ protected void unbindLegacyFields() { drugSusceptibilityField = null; } } - } diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java index 2177d1e3a43..e4f2ec981d3 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java @@ -348,6 +348,14 @@ public void markAsDirty() { super.markAsDirty(); } + @Override + public void commit() { + if (getValue() == null) { + return; + } + super.commit(); + } + public void forceUpdateDrugSusceptibilityFields() { final DrugSusceptibilityDto drugSusceptibilityDto = getValue(); if (drugSusceptibilityDto == null) { From 280ba79a2b66c17f32a9bed529596fb8b8ffeb0a Mon Sep 17 00:00:00 2001 From: Harold Date: Tue, 7 Jul 2026 18:01:42 +0300 Subject: [PATCH 2/2] Adds simple comment as per PR review #14124 --- .../de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java index e4f2ec981d3..870449eed9c 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/therapy/DrugSusceptibilityForm.java @@ -350,6 +350,9 @@ public void markAsDirty() { @Override public void commit() { + // When no DrugSusceptibilityDto is bound (e.g. after a disease-section swap nulls it), the internal + // field group has no item datasource, so committing its always-bound drug fields would throw + // "Property amikacinMic not bound to datasource" (#14124). Nothing to write, so skip the commit. if (getValue() == null) { return; }