From 175eaacd9c590e5766c5ab11b55d5d7d8083884d Mon Sep 17 00:00:00 2001 From: Karnaiah Pesula Date: Wed, 10 Sep 2025 15:56:24 +0200 Subject: [PATCH] Date validations --- .../sormas/ui/ActivityAsCase/ActivityAsCaseForm.java | 7 +++++-- .../java/de/symeda/sormas/ui/exposure/ExposureForm.java | 6 +++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/ActivityAsCase/ActivityAsCaseForm.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/ActivityAsCase/ActivityAsCaseForm.java index 85fbf8b0eac..781f899543f 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/ActivityAsCase/ActivityAsCaseForm.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/ActivityAsCase/ActivityAsCaseForm.java @@ -39,6 +39,7 @@ import com.vaadin.v7.data.util.converter.Converter; import com.vaadin.v7.ui.AbstractSelect; import com.vaadin.v7.ui.ComboBox; +import com.vaadin.v7.ui.DateField; import com.vaadin.v7.ui.TextArea; import com.vaadin.v7.ui.TextField; @@ -59,6 +60,7 @@ import de.symeda.sormas.api.utils.fieldvisibility.FieldVisibilityCheckers; import de.symeda.sormas.ui.location.LocationEditForm; import de.symeda.sormas.ui.utils.AbstractEditForm; +import de.symeda.sormas.ui.utils.DateComparisonValidator; import de.symeda.sormas.ui.utils.FieldHelper; public class ActivityAsCaseForm extends AbstractEditForm { @@ -120,7 +122,10 @@ public ActivityAsCaseForm(boolean create, FieldVisibilityCheckers fieldVisibilit protected void addFields() { addHeadingsAndInfoTexts(); addBasicFields(); + DateField startDate = addField(ActivityAsCaseDto.START_DATE); + DateField endDate = addField(ActivityAsCaseDto.END_DATE); + DateComparisonValidator.addStartEndValidators(startDate, endDate); addField(ActivityAsCaseDto.DESCRIPTION, TextArea.class).setRows(5); locationForm = addField(ActivityAsCaseDto.LOCATION, LocationEditForm.class); @@ -155,8 +160,6 @@ private void addBasicFields() { addFields( ActivityAsCaseDto.UUID, ActivityAsCaseDto.REPORTING_USER, - ActivityAsCaseDto.START_DATE, - ActivityAsCaseDto.END_DATE, ActivityAsCaseDto.ACTIVITY_AS_CASE_TYPE, ActivityAsCaseDto.ACTIVITY_AS_CASE_TYPE_DETAILS, ActivityAsCaseDto.GATHERING_TYPE, diff --git a/sormas-ui/src/main/java/de/symeda/sormas/ui/exposure/ExposureForm.java b/sormas-ui/src/main/java/de/symeda/sormas/ui/exposure/ExposureForm.java index 5fd8261c5e6..30450943c14 100644 --- a/sormas-ui/src/main/java/de/symeda/sormas/ui/exposure/ExposureForm.java +++ b/sormas-ui/src/main/java/de/symeda/sormas/ui/exposure/ExposureForm.java @@ -63,6 +63,7 @@ import de.symeda.sormas.ui.utils.AbstractEditForm; import de.symeda.sormas.ui.utils.ComboBoxWithPlaceholder; import de.symeda.sormas.ui.utils.CssStyles; +import de.symeda.sormas.ui.utils.DateComparisonValidator; import de.symeda.sormas.ui.utils.DateTimeField; import de.symeda.sormas.ui.utils.FieldHelper; import de.symeda.sormas.ui.utils.NullableOptionGroup; @@ -219,7 +220,10 @@ private void addHeadingsAndInfoTexts() { private void addBasicFields() { addFields(ExposureDto.UUID, ExposureDto.REPORTING_USER, ExposureDto.PROBABLE_INFECTION_ENVIRONMENT); - addFields(DateTimeField.class, ExposureDto.START_DATE, ExposureDto.END_DATE); + DateTimeField startDate = addField(ExposureDto.START_DATE, DateTimeField.class); + DateTimeField endDate = addField(ExposureDto.END_DATE, DateTimeField.class); + + DateComparisonValidator.addStartEndValidators(startDate, endDate); addFields( ExposureDto.EXPOSURE_TYPE,