From 54355e37c1c373ba57b7f8e7b6d89f818d44da91 Mon Sep 17 00:00:00 2001 From: Daniel Tran <d.tran@adito.de> Date: Thu, 8 Apr 2021 10:25:36 +0000 Subject: [PATCH] [Projekt: xRM-ContactManagement][TicketNr.: 1046178][Bessere Fhelermeldungen, wenn bei den Dokuvorlagen das Template in asys_binaries fehlt] - Customized sendMail-action to prevent start download .eml after error msg that no matching file in ASYS_BINARIES exists for doc-template. --- .../entityfields/openhtmleditor/stateProcess.js | 11 +++++++++-- .../entityfields/sendmail/onActionProcess.js | 2 +- .../onActionProcess.js | 4 +--- process/Email_lib/process.js | 9 +++++++-- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/entity/DocumentTemplate_entity/entityfields/openhtmleditor/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/openhtmleditor/stateProcess.js index c0824ad21cb..718a9610902 100644 --- a/entity/DocumentTemplate_entity/entityfields/openhtmleditor/stateProcess.js +++ b/entity/DocumentTemplate_entity/entityfields/openhtmleditor/stateProcess.js @@ -7,5 +7,12 @@ import("system.neon"); var template = DocumentTemplateUtils.getTemplate(vars.get("$field.DOCUMENTTEMPLATEID"), false); var kind = vars.get("$field.KIND"); -if(template.type == DocumentTemplate.types.HTML && kind == $KeywordRegistry.documentTemplateType$textModular() || kind == $KeywordRegistry.documentTemplateType$mail()) - result.string(neon.COMPONENTSTATE_EDITABLE); +if (template) +{ + if(template.type == DocumentTemplate.types.HTML && + kind == $KeywordRegistry.documentTemplateType$textModular() || + kind == $KeywordRegistry.documentTemplateType$mail()) + { + result.string(neon.COMPONENTSTATE_EDITABLE); + } +} diff --git a/entity/Email_entity/entityfields/sendmail/onActionProcess.js b/entity/Email_entity/entityfields/sendmail/onActionProcess.js index 0ee0af9d3e7..8c93bbcfad1 100644 --- a/entity/Email_entity/entityfields/sendmail/onActionProcess.js +++ b/entity/Email_entity/entityfields/sendmail/onActionProcess.js @@ -30,7 +30,7 @@ if (vars.exists("$param.AdditionalPlaceholders_param") && vars.get("$param.Addit }); } -var eml = EmailWritingUtils.openMailTemplate( +EmailWritingUtils.openMailTemplate( vars.get("$field.RECIPIENT"), EmployeeUtils.getCurrentContactId(), vars.get("$field.DOCUMENT_TEMPLATE"), diff --git a/entity/Letter_entity/entityfields/downloadletterandcreateactivity/onActionProcess.js b/entity/Letter_entity/entityfields/downloadletterandcreateactivity/onActionProcess.js index 0c453f91c3e..69b7b7b8cb8 100644 --- a/entity/Letter_entity/entityfields/downloadletterandcreateactivity/onActionProcess.js +++ b/entity/Letter_entity/entityfields/downloadletterandcreateactivity/onActionProcess.js @@ -33,6 +33,4 @@ if (template) } ActivityUtils.createNewActivity(null, links, null, null, translate.text("Letter"), text.parseDocument(content), $KeywordRegistry.activityDirection$outgoing(), [[template.filename, content, false]]); -} -else - throw new Error("Error while using a document template: The provided template does not contain data."); \ No newline at end of file +} \ No newline at end of file diff --git a/process/Email_lib/process.js b/process/Email_lib/process.js index 8f560c533ad..61787a5d831 100644 --- a/process/Email_lib/process.js +++ b/process/Email_lib/process.js @@ -34,7 +34,8 @@ function EmailWritingUtils () {} * @param {Placeholder[]} [pAdditionalPlaceholders] additional placeholders * @return {Array} the eml document as array with [filename, base64] */ -EmailWritingUtils.openMailTemplate = function (pToRecipients, pSenderContactId, pTemplateId, pRecipientContactId, pBindata, pAttachments, pSubject, pEmailFilename, pAdditionalPlaceholders) +EmailWritingUtils.openMailTemplate = function (pToRecipients, pSenderContactId, pTemplateId, pRecipientContactId, pBindata, pAttachments, pSubject, + pEmailFilename, pAdditionalPlaceholders) { if (pToRecipients && typeof(pToRecipients) == "string") pToRecipients = [pToRecipients]; @@ -66,9 +67,13 @@ EmailWritingUtils.openMailTemplate = function (pToRecipients, pSenderContactId, } if (pSubject) + { email.subject = pSubject; + } + + var isBinaryExistent = db.getBinaryCount("DOCUMENTTEMPLATE", "DOCUMENT", pTemplateId, SqlUtils.getBinariesAlias(), null); - return email.downloadEML(pEmailFilename); + return isBinaryExistent > 0 ? email.downloadEML(pEmailFilename) : []; } -- GitLab