From eaf2b551d665df79239267ff2f1702b4e8900323 Mon Sep 17 00:00:00 2001
From: Juan Fuentes <juanf@bs-mbpr465.d.ethz.ch>
Date: Tue, 31 Aug 2021 13:52:55 +0200
Subject: [PATCH] SSDM-11425 : Improving error detection when incorrect date
 formats are given

---
 .../eln-lims/html/js/views/DataSetForm/DataSetFormView.js  | 7 ++++++-
 .../html/js/views/ExperimentForm/ExperimentFormView.js     | 7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js
index 48077bd89ae..9c3a74330b1 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js
@@ -765,7 +765,12 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) {
 									_this._dataSetFormModel.dataSet.properties[propertyTypeCode] = $(field.children()[0]).children()[0].checked;
 								} else if (propertyType.dataType === "TIMESTAMP" || propertyType.dataType === "DATE") {
 									var timeValue = $($(field.children()[0]).children()[0]).val();
-									_this._dataSetFormModel.dataSet.properties[propertyTypeCode] = timeValue;
+                                    var isValidValue = Util.isDateValid(timeValue, propertyType.dataType === "DATE");
+                                    if(!isValidValue.isValid) {
+                                        Util.showUserError(isValidValue.error);
+                                    } else {
+                                        _this._dataSetFormModel.dataSet.properties[propertyTypeCode] = timeValue;
+                                    }
 								} else {
 									if(newValue !== undefined && newValue !== null) {
 										_this._dataSetFormModel.dataSet.properties[propertyTypeCode] = Util.getEmptyIfNull(newValue);
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js
index bdb5057b588..bd4ee740012 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js
@@ -543,7 +543,12 @@ function ExperimentFormView(experimentFormController, experimentFormModel) {
 								_this._experimentFormModel.experiment.properties[propertyTypeCode] = $(field.children()[0]).children()[0].checked;
 							} else if (propertyType.dataType === "TIMESTAMP" || propertyType.dataType === "DATE") {
 								var timeValue = $($(field.children()[0]).children()[0]).val();
-								_this._experimentFormModel.experiment.properties[propertyTypeCode] = timeValue;
+								var isValidValue = Util.isDateValid(timeValue, propertyType.dataType === "DATE");
+								if(!isValidValue.isValid) {
+								    Util.showUserError(isValidValue.error);
+								} else {
+								    _this._experimentFormModel.experiment.properties[propertyTypeCode] = timeValue;
+								}
 							} else {
 								if(newValue !== undefined && newValue !== null) {
 									_this._experimentFormModel.experiment.properties[propertyTypeCode] = Util.getEmptyIfNull(newValue);
-- 
GitLab