From 4977e0371e0e37046556167976f4817622f5b057 Mon Sep 17 00:00:00 2001 From: Maria Hofmann <m.hofmann@adito.de> Date: Fri, 26 Apr 2019 10:58:04 +0200 Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1037399][Validierung der Felder mit Datumsangaben] --- .../entityfields/date_end/onValidation.js | 15 ++++----------- .../entityfields/date_end/valueProcess.js | 2 +- .../entityfields/date_start/onValidation.js | 18 +++++++++--------- .../entityfields/date_start/valueProcess.js | 13 +++++++------ entity/Contract_entity/Contract_entity.aod | 1 + .../entityfields/contractend/onValidation.js | 1 - .../entityfields/contractstart/onValidation.js | 2 -- .../entityfields/contractstart/valueProcess.js | 11 +++++++++++ .../entityfields/valid_from/onValidation.js | 1 - .../entityfields/valid_from/valueProcess.js | 2 +- .../entityfields/valid_to/onValidation.js | 1 - .../SalesprojectForecast_entity.aod | 1 + .../entityfields/date_start/valueProcess.js | 11 +++++++++++ .../entityfields/maturity_date/onValidation.js | 1 - .../entityfields/maturity_date/valueProcess.js | 3 +-- .../entityfields/start_date/valueProcess.js | 3 +-- 16 files changed, 48 insertions(+), 38 deletions(-) create mode 100644 entity/Contract_entity/entityfields/contractstart/valueProcess.js create mode 100644 entity/SalesprojectForecast_entity/entityfields/date_start/valueProcess.js diff --git a/entity/CampaignStep_entity/entityfields/date_end/onValidation.js b/entity/CampaignStep_entity/entityfields/date_end/onValidation.js index 746e1031c0..64e94f87c1 100644 --- a/entity/CampaignStep_entity/entityfields/date_end/onValidation.js +++ b/entity/CampaignStep_entity/entityfields/date_end/onValidation.js @@ -1,21 +1,14 @@ -import("system.logging"); +import("system.neon"); import("system.result"); +import("system.vars"); import("Date_lib"); import("Entity_lib"); -import("system.vars"); -import("system.neon"); -var dateStart = vars.get("$field.DATE_START"); -var dateEnd = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.DATE_END")); +var cEnd = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.DATE_END")); -logging.log("DATE_END onValidation -> dateStart: " + dateStart); -logging.log("DATE_END onValidation -> dateEnd:" + dateEnd); -logging.log("is dateStart > dateEnd? -> " + (dateStart > dateEnd)); -if (dateStart > dateEnd) +if (DateUtils.validateBeginnBeforeEnd(vars.get("$field.DATE_START"), cEnd) === false) result.string(DateUtils.getValidationFailString()); else { - logging.log("jetzt wird date_start refresht -> "); neon.refresh(["$field.DATE_START"]); - } \ No newline at end of file diff --git a/entity/CampaignStep_entity/entityfields/date_end/valueProcess.js b/entity/CampaignStep_entity/entityfields/date_end/valueProcess.js index 575359740e..bf2e43999c 100644 --- a/entity/CampaignStep_entity/entityfields/date_end/valueProcess.js +++ b/entity/CampaignStep_entity/entityfields/date_end/valueProcess.js @@ -6,5 +6,5 @@ import("system.datetime"); var threeWeeks = datetime.ONE_WEEK * 3; var inThreeWeeks = datetime.date() + threeWeeks; -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) result.string(inThreeWeeks); \ No newline at end of file diff --git a/entity/CampaignStep_entity/entityfields/date_start/onValidation.js b/entity/CampaignStep_entity/entityfields/date_start/onValidation.js index 7c937ac09f..83a6fd0a8f 100644 --- a/entity/CampaignStep_entity/entityfields/date_start/onValidation.js +++ b/entity/CampaignStep_entity/entityfields/date_start/onValidation.js @@ -1,14 +1,14 @@ -import("system.logging"); +import("system.neon"); import("system.result"); +import("system.vars"); import("Date_lib"); import("Entity_lib"); -import("system.vars"); -var dateStart = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.DATE_START")); -var dateEnd = vars.get("$field.DATE_END"); +var cStart = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.DATE_START")); -logging.log("DATE_START onValidation -> dateStart: " + dateStart); -logging.log("DATE_START onValidation -> dateEnd:" + dateEnd); -logging.log("is dateStart > dateEnd? -> " + (dateStart > dateEnd)); -if (dateStart > dateEnd) - result.string(DateUtils.getValidationFailString()); \ No newline at end of file +if (DateUtils.validateBeginnBeforeEnd(cStart, vars.get("$field.DATE_END")) === false) + result.string(DateUtils.getValidationFailString()); +else + { + neon.refresh(["$field.DATE_END"]); + } \ No newline at end of file diff --git a/entity/CampaignStep_entity/entityfields/date_start/valueProcess.js b/entity/CampaignStep_entity/entityfields/date_start/valueProcess.js index ddb9ac943c..6c4d90c554 100644 --- a/entity/CampaignStep_entity/entityfields/date_start/valueProcess.js +++ b/entity/CampaignStep_entity/entityfields/date_start/valueProcess.js @@ -1,10 +1,11 @@ -import("system.logging"); +import("Date_lib"); import("system.neon"); import("system.vars"); import("system.result"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$field.DATE_START") == "") - { - logging.log("DATE_START valueProcess -> neues Datum wird gesetzt"); - result.string(vars.get("$sys.date")); - } \ No newline at end of file +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.DATE_START")) +{ + result.string(DateUtils.getTodayUTC()); +} +else + result.string(vars.get("$this.value")); \ No newline at end of file diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod index 5d170ecd64..fcac2f5cbf 100644 --- a/entity/Contract_entity/Contract_entity.aod +++ b/entity/Contract_entity/Contract_entity.aod @@ -49,6 +49,7 @@ <contentType>DATE</contentType> <resolution>DAY</resolution> <outputFormat>dd.MM.yyyy</outputFormat> + <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractstart/valueProcess.js</valueProcess> <onValidation>%aditoprj%/entity/Contract_entity/entityfields/contractstart/onValidation.js</onValidation> <onValueChange>%aditoprj%/entity/Contract_entity/entityfields/contractstart/onValueChange.js</onValueChange> </entityField> diff --git a/entity/Contract_entity/entityfields/contractend/onValidation.js b/entity/Contract_entity/entityfields/contractend/onValidation.js index c2b570b757..9cfd6fc2f8 100644 --- a/entity/Contract_entity/entityfields/contractend/onValidation.js +++ b/entity/Contract_entity/entityfields/contractend/onValidation.js @@ -1,7 +1,6 @@ import("system.result"); import("system.vars"); import("Date_lib"); -import("Util_lib"); import("Entity_lib"); var cEnd = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTEND")); diff --git a/entity/Contract_entity/entityfields/contractstart/onValidation.js b/entity/Contract_entity/entityfields/contractstart/onValidation.js index f7e82b3fd8..81cb960ca1 100644 --- a/entity/Contract_entity/entityfields/contractstart/onValidation.js +++ b/entity/Contract_entity/entityfields/contractstart/onValidation.js @@ -1,8 +1,6 @@ -import("system.neon"); import("system.result"); import("system.vars"); import("Date_lib"); -import("Util_lib"); import("Entity_lib"); var cStart = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTRACTSTART")); diff --git a/entity/Contract_entity/entityfields/contractstart/valueProcess.js b/entity/Contract_entity/entityfields/contractstart/valueProcess.js new file mode 100644 index 0000000000..7f859f9433 --- /dev/null +++ b/entity/Contract_entity/entityfields/contractstart/valueProcess.js @@ -0,0 +1,11 @@ +import("system.result"); +import("system.vars"); +import("system.neon"); +import("Date_lib"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) +{ + result.string(DateUtils.getTodayUTC()); +} +else + result.string(vars.get("$this.value")); \ No newline at end of file diff --git a/entity/Productprice_entity/entityfields/valid_from/onValidation.js b/entity/Productprice_entity/entityfields/valid_from/onValidation.js index 5ebbf1a7dc..6d142999da 100644 --- a/entity/Productprice_entity/entityfields/valid_from/onValidation.js +++ b/entity/Productprice_entity/entityfields/valid_from/onValidation.js @@ -1,7 +1,6 @@ import("system.result"); import("system.vars"); import("Date_lib"); -import("Util_lib"); import("Entity_lib"); var cStart = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.VALID_FROM")); diff --git a/entity/Productprice_entity/entityfields/valid_from/valueProcess.js b/entity/Productprice_entity/entityfields/valid_from/valueProcess.js index 4a5ac41f63..7f859f9433 100644 --- a/entity/Productprice_entity/entityfields/valid_from/valueProcess.js +++ b/entity/Productprice_entity/entityfields/valid_from/valueProcess.js @@ -3,7 +3,7 @@ import("system.vars"); import("system.neon"); import("Date_lib"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == "") +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) { result.string(DateUtils.getTodayUTC()); } diff --git a/entity/Productprice_entity/entityfields/valid_to/onValidation.js b/entity/Productprice_entity/entityfields/valid_to/onValidation.js index 3ada2dd1e7..28693efe69 100644 --- a/entity/Productprice_entity/entityfields/valid_to/onValidation.js +++ b/entity/Productprice_entity/entityfields/valid_to/onValidation.js @@ -1,7 +1,6 @@ import("system.result"); import("system.vars"); import("Date_lib"); -import("Util_lib"); import("Entity_lib"); var cEnd = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.VALID_TO")); diff --git a/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod b/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod index bb39731c04..d9be296864 100644 --- a/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod +++ b/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod @@ -14,6 +14,7 @@ <contentType>DATE</contentType> <resolution>DAY</resolution> <outputFormat>dd.MM.yyyy</outputFormat> + <valueProcess>%aditoprj%/entity/SalesprojectForecast_entity/entityfields/date_start/valueProcess.js</valueProcess> </entityField> <entityField> <name>GROUPCODE</name> diff --git a/entity/SalesprojectForecast_entity/entityfields/date_start/valueProcess.js b/entity/SalesprojectForecast_entity/entityfields/date_start/valueProcess.js new file mode 100644 index 0000000000..7f859f9433 --- /dev/null +++ b/entity/SalesprojectForecast_entity/entityfields/date_start/valueProcess.js @@ -0,0 +1,11 @@ +import("system.result"); +import("system.vars"); +import("system.neon"); +import("Date_lib"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) +{ + result.string(DateUtils.getTodayUTC()); +} +else + result.string(vars.get("$this.value")); \ No newline at end of file diff --git a/entity/Task_entity/entityfields/maturity_date/onValidation.js b/entity/Task_entity/entityfields/maturity_date/onValidation.js index 56fc2f5936..c9150833ab 100644 --- a/entity/Task_entity/entityfields/maturity_date/onValidation.js +++ b/entity/Task_entity/entityfields/maturity_date/onValidation.js @@ -1,7 +1,6 @@ import("system.result"); import("system.vars"); import("Date_lib"); -import("Util_lib"); import("Entity_lib"); var cEnd = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.MATURITY_DATE")); diff --git a/entity/Task_entity/entityfields/maturity_date/valueProcess.js b/entity/Task_entity/entityfields/maturity_date/valueProcess.js index 033144177b..080e7e81c2 100644 --- a/entity/Task_entity/entityfields/maturity_date/valueProcess.js +++ b/entity/Task_entity/entityfields/maturity_date/valueProcess.js @@ -1,11 +1,10 @@ import("system.eMath"); import("system.datetime"); -import("system.util"); import("system.result"); import("system.neon"); import("system.vars"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) { var startDate = vars.get("$field.START_DATE"); var presetVal = eMath.addInt(startDate, datetime.ONE_WEEK); diff --git a/entity/Task_entity/entityfields/start_date/valueProcess.js b/entity/Task_entity/entityfields/start_date/valueProcess.js index 0b43b2859a..5b098ba003 100644 --- a/entity/Task_entity/entityfields/start_date/valueProcess.js +++ b/entity/Task_entity/entityfields/start_date/valueProcess.js @@ -1,10 +1,9 @@ import("system.datetime"); -import("system.util"); import("system.result"); import("system.neon"); import("system.vars"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) { var presetVal = datetime.date(); //TODO: depending on what happens in #1032274 we need to manually set the resolution to MINUTES or not (which means we've to set everything smaller than MINUTES (Seconds, etc.) to zero) -- GitLab