From c65c3c7ec258f2a03bb2defda48e1bff1d4edcb2 Mon Sep 17 00:00:00 2001 From: Sascha Schmidt <s.schmidt@adito.de> Date: Thu, 21 Oct 2021 14:33:37 +0200 Subject: [PATCH] [Projekt: xRM-ContactManagement][TicketNr.: 2000835][Organisation/Person: Brief schreiben: Exception bei Nicht-odt-Datei] --- entity/Letter_entity/onValidation.js | 17 ++++++++++++++++- language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 4 ++++ process/Permission_lib/process.js | 4 ++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/entity/Letter_entity/onValidation.js b/entity/Letter_entity/onValidation.js index 083fd4dbe68..142f30cb2e2 100644 --- a/entity/Letter_entity/onValidation.js +++ b/entity/Letter_entity/onValidation.js @@ -1,8 +1,23 @@ import("system.vars"); import("system.translate"); import("system.result"); +import("DocumentTemplate_lib"); -if (!vars.get("$field.bindata") && !vars.get("$field.DOCUMENT_TEMPLATE")) +var templateId = vars.get("$field.DOCUMENT_TEMPLATE"); +var bindata = vars.get("$field.bindata"); +var upload = new FileUpload(bindata); + +var template; +if (upload.isFilled()) + template = DocumentTemplate.fromUpload(upload); +else if (templateId) + template = DocumentTemplateUtils.getTemplate(templateId); + +if (!bindata && !templateId) { result.string(translate.text("Please select a documenttemplate or upload a new file.")) +} +else if (![DocumentTemplate.types.ODT, DocumentTemplate.types.DOCM, DocumentTemplate.types.DOCX].includes(template.type)) +{ + result.string(translate.text("Only .odt, .docx and .docm files are supported for letters.")) } \ No newline at end of file diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 22012613865..b5310d92292 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -25,6 +25,10 @@ <key>Base Template</key> <value>Ursprungsvorlage</value> </entry> + <entry> + <key>Only .odt, .docx and .docm files are supported for letters.</key> + <value>Für Briefe werden nur .odt, .docx und .docm Dateien unterstützt</value> + </entry> <entry> <key>Open in mosaico</key> <value>In Mosaico öffnen</value> diff --git a/process/Permission_lib/process.js b/process/Permission_lib/process.js index 6bbde7c56e0..bcd5ad4035f 100644 --- a/process/Permission_lib/process.js +++ b/process/Permission_lib/process.js @@ -1017,12 +1017,12 @@ function PermissionUtil () {} if(pRecordState != neon.OPERATINGSTATE_NEW && pObjectType) { var entity = ContextUtils.getEntity(pObjectType); - if (tools.hasPermission(tools.PERMISSION_VIEW, entity, null, pUser)) + if (tools.hasPermission(tools.PERMISSION_VIEW, entity, null, pUser, null)) { if (pObjectRowId) { try { - if (tools.hasPermission(tools.PERMISSION_READ, entity, null, pUser)) + if (tools.hasPermission(tools.PERMISSION_READ, entity, null, pUser, [pObjectRowId])) { res = { status: tools.PERMISSION_READ, -- GitLab