From 3a264f872e80ae2f75e422e92773ef8a49b7a6f7 Mon Sep 17 00:00:00 2001 From: "S.Listl" <S.Listl@SLISTL.aditosoftware.local> Date: Tue, 30 Jul 2019 10:55:20 +0200 Subject: [PATCH] Send bulk mail dialog --- entity/BulkMail_entity/BulkMail_entity.aod | 1 + .../entityfields/sendmail/onActionProcess.js | 14 ++++++++++---- .../entityfields/sendmail/tooltipProcess.js | 4 ++++ entity/SerialLetter_entity/SerialLetter_entity.aod | 7 +++++++ .../entityfields/openadminview/onActionProcess.js | 6 ++++++ .../entityfields/openadminview/stateProcess.js | 4 ++++ language/_____LANGUAGE_de/_____LANGUAGE_de.aod | 4 ++++ .../BulkMailPreview_view/BulkMailPreview_view.aod | 1 + process/Email_lib/process.js | 12 +++++++++--- 9 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 entity/BulkMail_entity/entityfields/sendmail/tooltipProcess.js create mode 100644 entity/SerialLetter_entity/entityfields/openadminview/onActionProcess.js create mode 100644 entity/SerialLetter_entity/entityfields/openadminview/stateProcess.js diff --git a/entity/BulkMail_entity/BulkMail_entity.aod b/entity/BulkMail_entity/BulkMail_entity.aod index 04cb781052..eb2d7d4974 100644 --- a/entity/BulkMail_entity/BulkMail_entity.aod +++ b/entity/BulkMail_entity/BulkMail_entity.aod @@ -94,6 +94,7 @@ <onActionProcess>%aditoprj%/entity/BulkMail_entity/entityfields/sendmail/onActionProcess.js</onActionProcess> <iconId>VAADIN:PAPERPLANE</iconId> <stateProcess>%aditoprj%/entity/BulkMail_entity/entityfields/sendmail/stateProcess.js</stateProcess> + <tooltipProcess>%aditoprj%/entity/BulkMail_entity/entityfields/sendmail/tooltipProcess.js</tooltipProcess> </entityActionField> <entityField> <name>ICON</name> diff --git a/entity/BulkMail_entity/entityfields/sendmail/onActionProcess.js b/entity/BulkMail_entity/entityfields/sendmail/onActionProcess.js index 84cc2e975f..4a316db7db 100644 --- a/entity/BulkMail_entity/entityfields/sendmail/onActionProcess.js +++ b/entity/BulkMail_entity/entityfields/sendmail/onActionProcess.js @@ -1,3 +1,5 @@ +import("system.translate"); +import("system.question"); import("Sql_lib"); import("system.neon"); import("system.vars"); @@ -5,7 +7,11 @@ import("Bulkmail_lib"); import("system.db"); import("KeywordRegistry_basic"); -db.updateData("BULKMAIL", ["STATUS"], null, [$KeywordRegistry.bulkMailStatus$beingSent()], - SqlCondition.equals("BULKMAIL.BULKMAILID", vars.get("$field.BULKMAILID"), "1=2")); -neon.refreshAll(); -BulkMailUtils.sendBulkMailOnServer(vars.get("$field.BULKMAILID")); \ No newline at end of file +var send = question.askYesNo(translate.text("Bulk mail"), translate.text("Should the mail be sent now?"), false); +if (send) +{ + db.updateData("BULKMAIL", ["STATUS"], null, [$KeywordRegistry.bulkMailStatus$beingSent()], + SqlCondition.equals("BULKMAIL.BULKMAILID", vars.get("$field.BULKMAILID"), "1=2")); + neon.refreshAll(); + BulkMailUtils.sendBulkMailOnServer(vars.get("$field.BULKMAILID")); +} \ No newline at end of file diff --git a/entity/BulkMail_entity/entityfields/sendmail/tooltipProcess.js b/entity/BulkMail_entity/entityfields/sendmail/tooltipProcess.js new file mode 100644 index 0000000000..264f6bfd16 --- /dev/null +++ b/entity/BulkMail_entity/entityfields/sendmail/tooltipProcess.js @@ -0,0 +1,4 @@ +import("system.translate"); +import("system.result"); + +result.string(translate.text("Send")); \ No newline at end of file diff --git a/entity/SerialLetter_entity/SerialLetter_entity.aod b/entity/SerialLetter_entity/SerialLetter_entity.aod index 425c91fd3f..e495082159 100644 --- a/entity/SerialLetter_entity/SerialLetter_entity.aod +++ b/entity/SerialLetter_entity/SerialLetter_entity.aod @@ -86,6 +86,13 @@ </entityParameter> </children> </entityConsumer> + <entityActionField> + <name>openAdminView</name> + <title>Open admin view</title> + <onActionProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/openadminview/onActionProcess.js</onActionProcess> + <iconId>VAADIN:CURLY_BRACKETS</iconId> + <stateProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/openadminview/stateProcess.js</stateProcess> + </entityActionField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/SerialLetter_entity/entityfields/openadminview/onActionProcess.js b/entity/SerialLetter_entity/entityfields/openadminview/onActionProcess.js new file mode 100644 index 0000000000..3987f54cc3 --- /dev/null +++ b/entity/SerialLetter_entity/entityfields/openadminview/onActionProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("Context_lib"); + +AdminViewUtils.open("SERIALLETTERID", [ + ["DOCUMENTTEMPLATE_ID", vars.get("$field.DOCUMENTTEMPLATE_ID")] +]); \ No newline at end of file diff --git a/entity/SerialLetter_entity/entityfields/openadminview/stateProcess.js b/entity/SerialLetter_entity/entityfields/openadminview/stateProcess.js new file mode 100644 index 0000000000..38f2298db7 --- /dev/null +++ b/entity/SerialLetter_entity/entityfields/openadminview/stateProcess.js @@ -0,0 +1,4 @@ +import("Context_lib"); +import("system.result"); + +result.string(AdminViewUtils.getActionState()); \ No newline at end of file diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 5c5568708b..cba241e1c3 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -82,6 +82,10 @@ <key>Categorization</key> <value>Kategorisierung</value> </entry> + <entry> + <key>Should the mail be sent now?</key> + <value>Soll die Mail jetzt versendet werden?</value> + </entry> <entry> <key>Names</key> <value>Namen</value> diff --git a/neonView/BulkMailPreview_view/BulkMailPreview_view.aod b/neonView/BulkMailPreview_view/BulkMailPreview_view.aod index f6f68c3a24..1e7cc7611b 100644 --- a/neonView/BulkMailPreview_view/BulkMailPreview_view.aod +++ b/neonView/BulkMailPreview_view/BulkMailPreview_view.aod @@ -14,6 +14,7 @@ <iconField>ICON</iconField> <titleField>NAME</titleField> <descriptionField>STATUS</descriptionField> + <favoriteAction1>sendMail</favoriteAction1> <entityField>#ENTITY</entityField> </cardViewTemplate> <genericViewTemplate> diff --git a/process/Email_lib/process.js b/process/Email_lib/process.js index 8de0df67a0..b26904cb87 100644 --- a/process/Email_lib/process.js +++ b/process/Email_lib/process.js @@ -210,7 +210,7 @@ Email.prototype.getEML = function() * * @return {boolean} true, if the mail was sent sucessfully */ -Email.prototype.send = function () +Email.prototype.send = function (pUser) { var ENCODING = "UTF-8"; var mailId; @@ -227,7 +227,10 @@ Email.prototype.send = function () util.sleep(1500); mailId = mail.newMail(); } - + + if (this.sender) + mail.setSender(mailId, this.sender); + if (this.toRecipients.length) mail.addRecipients(mailId, mail.RECIPIENT_TO, this.toRecipients); @@ -245,7 +248,10 @@ Email.prototype.send = function () else mail.addText(mailId, "", "text/html", ENCODING, null); - mail.sendMail(mailId); + if (pUser) + mail.sendMailAs(pUser, mailId); + else + mail.sendMail(mailId); return true; } catch (ex) -- GitLab