diff --git a/entity/Activity_entity/entityfields/entrydate/onValidation.js b/entity/Activity_entity/entityfields/entrydate/onValidation.js index 0f2440a7724b5f1cb7425fad3b4bcac1ffaf246a..437a5ee635ebbcb597bd5445d14249f9ac93f1c9 100644 --- a/entity/Activity_entity/entityfields/entrydate/onValidation.js +++ b/entity/Activity_entity/entityfields/entrydate/onValidation.js @@ -1,9 +1,9 @@ -import("system.datetime"); +import("Date_lib"); import("system.translate"); import("system.vars"); import("system.result"); import("Entity_lib"); var entryDate = vars.get("local.value"); -if (Number(datetime.clearTime(entryDate)) > Number(vars.get("$sys.today"))) +if (!DateUtils.validateNotInFuture(entryDate)) result.string(translate.text("Entrydate must not be in the future")); \ No newline at end of file diff --git a/entity/Competition_entity/Competition_entity.aod b/entity/Competition_entity/Competition_entity.aod index 53eff28a3c4c5f6ab4682e4417916d7f097f4ee3..364d1c995d01e77921d5835559dde04ca9de5745 100644 --- a/entity/Competition_entity/Competition_entity.aod +++ b/entity/Competition_entity/Competition_entity.aod @@ -16,6 +16,7 @@ <resolution>DAY</resolution> <outputFormat>dd.MM.yyyy</outputFormat> <inputFormat>dd.MM.yyyy</inputFormat> + <onValidation>%aditoprj%/entity/Competition_entity/entityfields/date_cancelled/onValidation.js</onValidation> </entityField> <entityField> <name>INFO</name> diff --git a/entity/Competition_entity/entityfields/date_cancelled/onValidation.js b/entity/Competition_entity/entityfields/date_cancelled/onValidation.js new file mode 100644 index 0000000000000000000000000000000000000000..193af4e5f90b053ec40e9dd7e7d11d5bc28a5f0a --- /dev/null +++ b/entity/Competition_entity/entityfields/date_cancelled/onValidation.js @@ -0,0 +1,7 @@ +import("system.translate"); +import("system.vars"); +import("system.result"); +import("Date_lib"); + +if (!DateUtils.validateNotInFuture(vars.get("$local.value"))) + result.string(translate.text("Excreted can't be in the future")); diff --git a/entity/Person_entity/entityfields/dateofbirth/onValidation.js b/entity/Person_entity/entityfields/dateofbirth/onValidation.js index c21866aca67aec0fddeeb6bef3ff7b017023cc0f..43c36ddb3d0f82c3ac2d24246427e3baea5e02e5 100644 --- a/entity/Person_entity/entityfields/dateofbirth/onValidation.js +++ b/entity/Person_entity/entityfields/dateofbirth/onValidation.js @@ -1,9 +1,9 @@ -import("system.datetime"); +import("Date_lib"); import("system.translate"); import("system.vars"); import("system.result"); import("Entity_lib"); var dob = vars.get("local.value"); -if (Number(datetime.clearTime(dob)) > Number(vars.get("$sys.today"))) +if (!DateUtils.validateNotInFuture(dob)) result.string(translate.text("date of birth must not be in the future")); \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 4d777ed8470bdf5be4af131b6f7517fbcf3aef9c..9aed5eb39b8e12e712e4aed72b62f7c4437a4987 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -5088,6 +5088,9 @@ <entry> <key>Download</key> </entry> + <entry> + <key>Copy Campaign</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 642ac35f6957868808e5ea28d7c0a70df8be7055..241d2d67eb1c60e8e96555c36a8ee81130d67da5 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -34,6 +34,10 @@ <key>No data has been anonymized.</key> <value>Keine Daten wurden anonymisiert.</value> </entry> + <entry> + <key>Excreted can't be in the future</key> + <value>Ausgeschieden darf nicht in der Zukunft liegen</value> + </entry> <entry> <key>Anonymization</key> <value>Anonymisierung</value> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index 15d6919df1bbc0efd4de6637800012ccfb007a36..0c3ad5948c679ffe8a6b0cf2a57a770f23d246e7 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -5137,6 +5137,9 @@ <entry> <key>Download</key> </entry> + <entry> + <key>Copy Campaign</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/process/Date_lib/process.js b/process/Date_lib/process.js index 5e157445c3a5c69fd054929d7c210f8d7505422f..60a391e0f50071c1c2390d35d5a2b0874de60ba6 100644 --- a/process/Date_lib/process.js +++ b/process/Date_lib/process.js @@ -1,3 +1,4 @@ +import("system.vars"); import("system.eMath"); import("system.translate"); import("system.datetime"); @@ -142,4 +143,16 @@ DateUtils.formatDurationFromStartTillEnd = function(pStartTime, pEndTime, pLocal var duration = eMath.subInt(pEndTime , pStartTime); duration = Math.max(0, Number(duration)); return DateUtils.formatDuration(duration, pLocale); -}; \ No newline at end of file +}; + +/** + * validates if the given date is not in the future + * + * @param {string|number} pDate + * + * @return {boolean} true if the date is today or before today + */ +DateUtils.validateNotInFuture = function (pDate) +{ + return Number(datetime.clearTime(pDate)) <= Number(vars.get("$sys.today")); +} \ No newline at end of file