From 9d165c07dd6d28bb1ca034023ca7542bb251de6b Mon Sep 17 00:00:00 2001 From: Johannes Hoermann <j.hoermann@adito.de> Date: Wed, 11 Sep 2019 14:30:03 +0200 Subject: [PATCH] fix document template - onvalidation if type is undefined --- .../entityfields/content/onValueChange.js | 3 +- .../DocumentTemplate_entity/onValidation.js | 52 +++++++++++-------- 2 files changed, 32 insertions(+), 23 deletions(-) diff --git a/entity/DocumentTemplate_entity/entityfields/content/onValueChange.js b/entity/DocumentTemplate_entity/entityfields/content/onValueChange.js index 0dddbf5140..57e4a12ec0 100644 --- a/entity/DocumentTemplate_entity/entityfields/content/onValueChange.js +++ b/entity/DocumentTemplate_entity/entityfields/content/onValueChange.js @@ -1,3 +1,4 @@ import("system.vars"); + // needed to correctly save the file -vars.set("$context.changedContentByUser", true); \ No newline at end of file +vars.set("$context.changedContentByUser", true); diff --git a/entity/DocumentTemplate_entity/onValidation.js b/entity/DocumentTemplate_entity/onValidation.js index f850a1f939..001768435b 100644 --- a/entity/DocumentTemplate_entity/onValidation.js +++ b/entity/DocumentTemplate_entity/onValidation.js @@ -1,7 +1,6 @@ import("system.neon"); import("system.translate"); import("system.result"); -import("system.logging"); import("system.vars"); import("Bulkmail_lib"); import("DocumentTemplate_lib"); @@ -12,27 +11,36 @@ if (vars.exists("$context.currentTemplateType") && (vars.get("$sys.recordstate") var kind = vars.get("$field.KIND"); var classification = vars.get("$field.CLASSIFICATION"); - var type = vars.get("$context.currentTemplateType"); - // Bulkmail - if (kind == $KeywordRegistry.documentTemplateType$mail() && classification == $KeywordRegistry.documentTemplateTypeCategory$serial() - && !BulkMailUtils.isValidTemplateType(type) - // Single mail - || kind == $KeywordRegistry.documentTemplateType$mail() && classification == $KeywordRegistry.documentTemplateTypeCategory$single() - && type != DocumentTemplate.types.EML && type != DocumentTemplate.types.HTML && type != DocumentTemplate.types.PLAIN && type != DocumentTemplate.types.TXT - // Single letter - || kind == $KeywordRegistry.documentTemplateType$letter() && classification == $KeywordRegistry.documentTemplateTypeCategory$single() - && type != DocumentTemplate.types.DOCX && type != DocumentTemplate.types.ODT && type != DocumentTemplate.types.PLAIN && type != DocumentTemplate.types.TXT - // Bulkletter - || kind == $KeywordRegistry.documentTemplateType$letter() && classification == $KeywordRegistry.documentTemplateTypeCategory$serial() - && type != DocumentTemplate.types.ODT - // Modular HTML template - || kind == $KeywordRegistry.documentTemplateType$textModular() && classification == $KeywordRegistry.documentTemplateTypeCategory$htmlTemplate() - && type != DocumentTemplate.types.HTML - // Modular - all except HTML template - || kind == $KeywordRegistry.documentTemplateType$textModular() && classification != $KeywordRegistry.documentTemplateTypeCategory$htmlTemplate() - && type != DocumentTemplate.types.PLAIN && type != DocumentTemplate.types.TXT - ) + var type; + if (vars.exists("$context.currentTemplateType")) + type = vars.get("$context.currentTemplateType"); + + if (type == "undefined") + type = undefined; + + if (type != undefined) { - result.string(translate.text("Wrong filetype for the current document template type and classification.")) + // Bulkmail + if (kind == $KeywordRegistry.documentTemplateType$mail() && classification == $KeywordRegistry.documentTemplateTypeCategory$serial() + && !BulkMailUtils.isValidTemplateType(type) + // Single mail + || kind == $KeywordRegistry.documentTemplateType$mail() && classification == $KeywordRegistry.documentTemplateTypeCategory$single() + && type != DocumentTemplate.types.EML && type != DocumentTemplate.types.HTML && type != DocumentTemplate.types.PLAIN && type != DocumentTemplate.types.TXT + // Single letter + || kind == $KeywordRegistry.documentTemplateType$letter() && classification == $KeywordRegistry.documentTemplateTypeCategory$single() + && type != DocumentTemplate.types.DOCX && type != DocumentTemplate.types.ODT && type != DocumentTemplate.types.PLAIN && type != DocumentTemplate.types.TXT + // Bulkletter + || kind == $KeywordRegistry.documentTemplateType$letter() && classification == $KeywordRegistry.documentTemplateTypeCategory$serial() + && type != DocumentTemplate.types.ODT + // Modular HTML template + || kind == $KeywordRegistry.documentTemplateType$textModular() && classification == $KeywordRegistry.documentTemplateTypeCategory$htmlTemplate() + && type != DocumentTemplate.types.HTML + // Modular - all except HTML template + || kind == $KeywordRegistry.documentTemplateType$textModular() && classification != $KeywordRegistry.documentTemplateTypeCategory$htmlTemplate() + && type != DocumentTemplate.types.PLAIN && type != DocumentTemplate.types.TXT + ) + { + result.string(translate.text("Wrong filetype for the current document template type and classification.")) + } } } \ No newline at end of file -- GitLab