diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditActivity.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditActivity.java index 82713fc8234..b0959a2f650 100644 --- a/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditActivity.java +++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditActivity.java @@ -24,6 +24,11 @@ import android.util.Log; import android.view.Menu; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Date; + +import de.symeda.sormas.api.Disease; import de.symeda.sormas.api.disease.DiseaseVariant; import de.symeda.sormas.api.i18n.I18nProperties; import de.symeda.sormas.api.i18n.Strings; @@ -92,6 +97,13 @@ public void saveData() { } final PathogenTest pathogenTestToSave = getStoredRootEntity(); + + if (pathogenTestToSave.getTestDateTime() == null && pathogenTestToSave.getTestedDisease() == Disease.MONKEYPOX) { + LocalDateTime now = LocalDateTime.now(); + Date currentDateTime = Date.from(now.atZone(ZoneId.systemDefault()).toInstant()); + pathogenTestToSave.setTestDateTime(currentDateTime); + } + final Case associatedCase = pathogenTestToSave.getSample().getAssociatedCase(); if (associatedCase != null) { diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditFragment.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditFragment.java index 0ac73dcb924..e471b3be2e8 100644 --- a/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditFragment.java +++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestEditFragment.java @@ -20,9 +20,12 @@ import android.view.View; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.Date; import java.util.EnumSet; import java.util.List; import java.util.Objects; @@ -311,6 +314,9 @@ public void onChange(ControlPropertyField field) { case CSM: handleCSM(); break; + case MONKEYPOX: + handleMPox(); + break; default: } @@ -428,6 +434,11 @@ private void applySampleTestsVisibility(List selectedItems) { getContentBinding().pathogenTestSampleTestResultImmunoDate.setVisibility(isImmunoSelected ? View.VISIBLE : View.GONE); } + private void handleMPox() { + getContentBinding().pathogenTestTestDateTime.setEnabled(false); + } + + private void handleILI(){ List iliTestTypeList = Arrays.asList(PathogenTestType.PCR_RT_PCR, PathogenTestType.OTHER); diff --git a/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestNewActivity.java b/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestNewActivity.java index 2a8defc981b..402331ec1d8 100644 --- a/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestNewActivity.java +++ b/sormas-app/app/src/main/java/de/symeda/sormas/app/pathogentest/edit/PathogenTestNewActivity.java @@ -27,6 +27,11 @@ import androidx.annotation.NonNull; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Date; + +import de.symeda.sormas.api.Disease; import de.symeda.sormas.api.disease.DiseaseVariant; import de.symeda.sormas.api.i18n.I18nProperties; import de.symeda.sormas.api.i18n.Strings; @@ -128,6 +133,13 @@ public void saveData() { } final PathogenTest pathogenTestToSave = getStoredRootEntity(); + + if (pathogenTestToSave.getTestedDisease() == Disease.MONKEYPOX) { + LocalDateTime now = LocalDateTime.now(); + Date currentDateTime = Date.from(now.atZone(ZoneId.systemDefault()).toInstant()); + pathogenTestToSave.setTestDateTime(currentDateTime); + } + final Case associatedCase = pathogenTestToSave.getSample().getAssociatedCase(); if (associatedCase != null) {