Skip to content
Snippets Groups Projects
Commit bb0df212 authored by Daniel Tran's avatar Daniel Tran Committed by Johannes Goderbauer
Browse files

#1058564 report dispatch impl2

parent 8fc3866f
No related branches found
No related tags found
No related merge requests found
Showing
with 283 additions and 81 deletions
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="d.tran" id="b16e0a6e-74b7-414a-9cc2-fb7f8f1c3d72">
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="bbd50206-c4d5-42e0-a19a-2d11e957af1f"/>
<column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
<column name="PLACEOFUSE" value="DSGVOReport"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="63f5b453-24af-47a2-8ef1-ee5c91003428"/>
<column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
<column name="PLACEOFUSE" value="Order"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="910939c0-fe4f-4142-9656-d06ed1fe6d04"/>
<column name="DOCUMENTTEMPLATE_ID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
<column name="PLACEOFUSE" value="DSGVOReport"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="a5ccf0e5-2c4d-4782-8970-61af4db2dd31"/>
<column name="DOCUMENTTEMPLATE_ID" value="1cabdde7-870e-4094-a0f7-a335ded3536a"/>
<column name="PLACEOFUSE" value="Order"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="460e8b4c-5124-4b83-ab81-16ad919abe35"/>
<column name="DOCUMENTTEMPLATE_ID" value="5e494f97-4d29-4cce-abf7-9eaa2577337f"/>
<column name="PLACEOFUSE" value="Organisation"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="346113a2-e3b6-41e5-b058-13342e45984a"/>
<column name="DOCUMENTTEMPLATE_ID" value="5e494f97-4d29-4cce-abf7-9eaa2577337f"/>
<column name="PLACEOFUSE" value="DSGVOReport"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="b741dc23-8e46-46a6-9485-56a9033d944a"/>
<column name="DOCUMENTTEMPLATE_ID" value="5e494f97-4d29-4cce-abf7-9eaa2577337f"/>
<column name="PLACEOFUSE" value="Order"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="50cd8a91-5a48-479d-a329-aa9c1d1a3835"/>
<column name="DOCUMENTTEMPLATE_ID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
<column name="PLACEOFUSE" value="Organisation"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="5e2011ef-87aa-4b51-bea4-34cbfa11722f"/>
<column name="DOCUMENTTEMPLATE_ID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
<column name="PLACEOFUSE" value="DSGVOReport"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="e1422fa3-dcd2-4863-b972-1a3fb4b4fdc6"/>
<column name="DOCUMENTTEMPLATE_ID" value="fb237ade-ce63-40bd-aa41-33d7417fca2c"/>
<column name="PLACEOFUSE" value="Order"/>
</insert>
</changeSet>
</databaseChangeLog>
......@@ -8,5 +8,6 @@
<include relativeToChangelogFile="true" file="optimizeIndizes.xml"/>
<include relativeToChangelogFile="true" file="addNotificationStateKeywords/addNotificationStateKeyword.xml"/>
<include relativeToChangelogFile="true" file="alter_ComunicationMedium_IdDatatype.xml"/>
<include relativeToChangelogFile="true" file="ReportDispatchImpl/add_DocumentTemplatePlaceOfUse.xml"/>
<include relativeToChangelogFile="true" file="alter_VisitrecommendationpriorityDatatype.xml"/>
</databaseChangeLog>
......@@ -16,11 +16,6 @@
<column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
<column name="PLACEOFUSE" value="Organisation"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="b4fafa76-73f2-43ee-8a88-12d30946f1bb"/>
<column name="DOCUMENTTEMPLATE_ID" value="12da39a8-6fc9-4220-b09d-179cd611a814"/>
<column name="PLACEOFUSE" value="Organisation"/>
</insert>
<insert tableName="DOCUMENTTEMPLATEPLACEOFUSE">
<column name="DOCUMENTTEMPLATEPLACEOFUSEID" value="256dad02-7433-45b3-9584-ec335e0bdcab"/>
<column name="DOCUMENTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/>
......
......@@ -52,6 +52,7 @@
</entityParameter>
<entityParameter>
<name>ReportType_param</name>
<valueProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/reporttype_param/valueProcess.js</valueProcess>
<expose v="true" />
</entityParameter>
<entityProvider>
......@@ -156,6 +157,11 @@
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
<entityParameter>
<name>Recipient_param</name>
<valueProcess>%aditoprj%/entity/DSGVOInfo_entity/entityfields/recipient_param/valueProcess.js</valueProcess>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
import("system.vars");
import("system.result");
result.string(vars.get("$field.RECIPIENT"));
\ No newline at end of file
......@@ -9,7 +9,7 @@
<name>#PROVIDER</name>
</entityProvider>
<entityParameter>
<name>ContactID_param</name>
<name>ContactId_param</name>
<expose v="true" />
<mandatory v="false" />
</entityParameter>
......@@ -36,6 +36,18 @@
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
<entityActionGroup>
<name>dsgvoReportDispatch</name>
<children>
<entityActionField>
<name>dispatchDSGVOReport</name>
<title>Dispatch as mail</title>
<onActionProcess>%aditoprj%/entity/DSGVOReport_entity/entityfields/dsgvoreportdispatch/children/dispatchdsgvoreport/onActionProcess.js</onActionProcess>
<isObjectAction v="false" />
<iconId>VAADIN:AT</iconId>
</entityActionField>
</children>
</entityActionGroup>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
......
import("system.logging");
import("system.translate");
import("system.vars");
import("system.db");
import("Contact_lib");
import("MimeType_lib");
import("Email_lib");
import("Sql_lib");
import("Entity_lib");
var reportType = vars.get("$param.ReportName_param");
var contactId = vars.get("$param.ContactId_param");
var recipient = JSON.parse(vars.get("$param.DSGVOInfo_param"))["recipient"];
var dsgvoReport = {};
var attachmentArray = [];
var reportData = vars.get("$field.REPORT_DATA");
var emailFilename = translate.text(reportType == "DSGVO_Disclosure_report" ? "Disclosure Report" : "Information Report");
var fullname = ContactUtils.getTitleByContactId(contactId);
emailFilename = emailFilename + " " + fullname;
dsgvoReport.content = reportData;
dsgvoReport.mimeType = MimeTypes.PDF();
dsgvoReport.filename = emailFilename + ".pdf";
attachmentArray[0] = dsgvoReport;
EmailWritingUtils.sendReportAsMail(recipient, attachmentArray, "DSGVOReport", null, emailFilename, null, null);
......@@ -3,4 +3,4 @@ import("system.vars");
import("system.logging");
import("DataPrivacy_lib")
result.string(DataPrivacyUtils.buildReport(vars.get("$param.ContactID_param"), vars.get("$param.ReportName_param"), JSON.parse(vars.get("$param.DSGVOInfo_param"))));
\ No newline at end of file
result.string(DataPrivacyUtils.buildReport(vars.get("$param.ContactId_param"), vars.get("$param.ReportName_param"), JSON.parse(vars.get("$param.DSGVOInfo_param"))));
\ No newline at end of file
......@@ -13,6 +13,7 @@
</siblings>
<grantCreate v="false" />
<grantDelete v="false" />
<afterSave>%aditoprj%/entity/DSGVO_entity/afterSave.js</afterSave>
<titlePlural></titlePlural>
<recordContainer>jdito</recordContainer>
<entityFields>
......
......@@ -129,10 +129,8 @@
<expose v="true" />
</entityParameter>
<entityParameter>
<name>OfferId_param</name>
<name>UpdateStatements_param</name>
<expose v="true" />
<mandatory v="true" />
<documentation>%aditoprj%/entity/Email_entity/entityfields/offerid_param/documentation.adoc</documentation>
</entityParameter>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
......
=OfferId_pram
optional param needed for the offerEmails, to change the status of the offer
\ No newline at end of file
......@@ -10,7 +10,7 @@ if (vars.get("$this.value") == null)
else if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param"))
result.string(CommUtil.getStandardMail(vars.get("$param.ContactId_param")));
}
else if (!vars.get("$field.RECIPIENT").includes("@"))
else if (!vars.get("$field.RECIPIENT").includes("@") && vars.get("$field.RECIPIENT") != "")
result.string(newSelect("ADDR")
.from("COMMUNICATION")
.where("COMMUNICATION.COMMUNICATIONID", vars.get("$this.value")).cell());
\ No newline at end of file
import("KeywordRegistry_basic");
import("Sql_lib");
import("system.translate");
import("ActivityTask_lib");
import("system.db");
import("system.neon");
import("Employee_lib");
import("system.vars");
import("system.question");
import("system.translate");
import("Sql_lib");
import("Email_lib");
import("Contact_lib");
import("Document_lib");
import("system.question");
import("Employee_lib");
import("ActivityTask_lib");
import("KeywordRegistry_basic");
var attachments = JSON.parse(vars.get("$param.Attachments_param"));
var senderContactId = vars.get("$param.ContactId_param");
......@@ -17,9 +18,10 @@ var emailFilename = vars.get("$param.EmailFilename");
var notificationMsg = vars.get("$param.NotificationMsg_param");
var notificationTitle = translate.text("Offer status changed");
var subject = vars.get("$field.subject");
var updateStatements = JSON.parse(vars.get("$param.UpdateStatements_param"));
var additionalPlaceholders = null;
if (vars.exists("$param.AdditionalPlaceholders_param") && vars.get("$param.AdditionalPlaceholders_param"))
if (vars.exists("$param.AdditionalPlaceholders_param") && vars.get("$param.AdditionalPlaceholders_param") != "null")
{
additionalPlaceholders = JSON.parse(vars.get("$param.AdditionalPlaceholders_param")).map(function (placeholder)
{
......@@ -40,11 +42,10 @@ var eml = EmailWritingUtils.openMailTemplate(
additionalPlaceholders
);
if(vars.get("$param.ComingFrom_param") == "Offer")
if(updateStatements)
{
newWhere("OFFER.OFFERID", vars.get("$param.OfferId_param"))
.updateData(true, "OFFER", ["STATUS"], null, [$KeywordRegistry.offerStatus$sent()]);
db.updates(updateStatements);
}
if (notificationMsg)
question.showMessage(notificationMsg, question.INFORMATION, notificationTitle);
\ No newline at end of file
question.showMessage(notificationMsg, question.INFORMATION, notificationTitle);
import("system.db");
import("system.vars");
import("system.question");
import("system.translate");
import("system.vars");
import("KeywordRegistry_basic");
import("system.translate");
import("Placeholder_lib");
import("Offer_lib");
import("Email_lib");
import("Sql_lib");
import("MimeType_lib");
import("Placeholder_lib");
var offerReport = {};
var offerReport = {}
var attachmentArray = [];
var notificationMsg = translate.text("The status of the offer was changed to \"Sent\".");
var updateStatements = [["OFFER", ["STATUS"], db.getColumnTypes("OFFER", ["STATUS"]), [$KeywordRegistry.offerStatus$sent()], newWhere("OFFER.OFFERID", vars.get("$field.OFFERID")).build()]];
var notificationMsg = translate.text("The status of the offer was changed to \"sent\".");
var contactId = vars.get("$field.CONTACT_ID");
var arrayReport = OfferUtils.buildOfferReport(vars.get("$field.OFFERID"));
var emailFilename = translate.text("Offerrequest");
var offerId = vars.get("$field.OFFERID")
var additionalPlaceholders = [
new Placeholder("offerCode", Placeholder.types.FIXEDVALUE, vars.get("$field.FullOfferCode"))
];
if (vars.get("$field.CONTACT_ID") == null || "") contactId = vars.get("$field.CONTACT_ORG_ID");
offerReport.content = arrayReport[1];
offerReport.contentType = MimeTypes.PDF();
offerReport.mimeType = MimeTypes.PDF();
offerReport.filename = translate.text("Offer No.") + vars.get("$field.#CONTENTTITLE") + ".pdf";
attachmentArray[0] = offerReport;
var additionalPlaceholders = [
new Placeholder("offerCode", Placeholder.types.FIXEDVALUE, vars.get("$field.FullOfferCode"))
];
var offerId = vars.get("$field.OFFERID")
EmailWritingUtils.sendReportAsMail(contactId, attachmentArray, "Offer", notificationMsg, emailFilename, additionalPlaceholders, offerId);
\ No newline at end of file
EmailWritingUtils.sendReportAsMail(contactId, attachmentArray, "Offer", notificationMsg, emailFilename, additionalPlaceholders, updateStatements);
......@@ -752,6 +752,49 @@
<element>PROCESS_SETVALUE</element>
</onValueChangeTypes>
</entityField>
<entityField>
<name>REMINDER_REPORT_DATA</name>
<valueProcess>%aditoprj%/entity/Order_entity/entityfields/reminder_report_data/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>ORDER_REPORT_DATA</name>
<valueProcess>%aditoprj%/entity/Order_entity/entityfields/order_report_data/valueProcess.js</valueProcess>
</entityField>
<entityConsumer>
<name>Organisations</name>
<dependency>
<name>dependency</name>
<entityName>Organisation_entity</entityName>
<fieldName>Organisations</fieldName>
</dependency>
</entityConsumer>
<entityConsumer>
<name>Persons</name>
<dependency>
<name>dependency</name>
<entityName>Person_entity</entityName>
<fieldName>Contacts</fieldName>
</dependency>
</entityConsumer>
<entityParameter>
<name>Copy_param</name>
<expose v="true" />
<documentation>%aditoprj%/entity/Order_entity/entityfields/copy_param/documentation.adoc</documentation>
</entityParameter>
<entityField>
<name>ORDER_OBJECTTYPE</name>
<valueProcess>%aditoprj%/entity/Order_entity/entityfields/order_objecttype/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>COUNT</name>
<title>Count</title>
<contentType>NUMBER</contentType>
</entityField>
<entityAggregateField>
<name>COUNT_aggregate</name>
<parentField>COUNT</parentField>
<title>Count</title>
</entityAggregateField>
<entityActionField>
<name>newOrder</name>
<documentation>%aditoprj%/entity/Order_entity/entityfields/neworder/documentation.adoc</documentation>
......@@ -846,53 +889,36 @@
<iconId>VAADIN:CURLY_BRACKETS</iconId>
<stateProcess>%aditoprj%/entity/Order_entity/entityfields/openadminview/stateProcess.js</stateProcess>
</entityActionField>
<entityField>
<name>REMINDER_REPORT_DATA</name>
<valueProcess>%aditoprj%/entity/Order_entity/entityfields/reminder_report_data/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>ORDER_REPORT_DATA</name>
<valueProcess>%aditoprj%/entity/Order_entity/entityfields/order_report_data/valueProcess.js</valueProcess>
</entityField>
<entityConsumer>
<name>Organisations</name>
<dependency>
<name>dependency</name>
<entityName>Organisation_entity</entityName>
<fieldName>Organisations</fieldName>
</dependency>
</entityConsumer>
<entityConsumer>
<name>Persons</name>
<dependency>
<name>dependency</name>
<entityName>Person_entity</entityName>
<fieldName>Contacts</fieldName>
</dependency>
</entityConsumer>
<entityParameter>
<name>Copy_param</name>
<expose v="true" />
<documentation>%aditoprj%/entity/Order_entity/entityfields/copy_param/documentation.adoc</documentation>
</entityParameter>
<entityField>
<name>ORDER_OBJECTTYPE</name>
<valueProcess>%aditoprj%/entity/Order_entity/entityfields/order_objecttype/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>COUNT</name>
<title>Count</title>
<contentType>NUMBER</contentType>
</entityField>
<entityAggregateField>
<name>COUNT_aggregate</name>
<parentField>COUNT</parentField>
<title>Count</title>
</entityAggregateField>
<entityProvider>
<entityActionGroup>
<name>orderReportDispatch</name>
<children>
<entityActionField>
<name>dispatchOrderReport</name>
<title>Dispatch as mail</title>
<onActionProcess>%aditoprj%/entity/Order_entity/entityfields/orderreportdispatch/children/dispatchorderreport/onActionProcess.js</onActionProcess>
<isObjectAction v="false" />
<iconId>VAADIN:AT</iconId>
<stateProcess>%aditoprj%/entity/Order_entity/entityfields/orderreportdispatch/children/dispatchorderreport/stateProcess.js</stateProcess>
</entityActionField>
</children>
</entityActionGroup>
<entityActionGroup>
<name>reminderReportDispatch</name>
<children>
<entityActionField>
<name>dispatchReminderReport</name>
<title>Dispatch as mail</title>
<onActionProcess>%aditoprj%/entity/Order_entity/entityfields/reminderreportdispatch/children/dispatchreminderreport/onActionProcess.js</onActionProcess>
<isObjectAction v="false" />
<iconId>VAADIN:AT</iconId>
<stateProcess>%aditoprj%/entity/Order_entity/entityfields/reminderreportdispatch/children/dispatchreminderreport/stateProcess.js</stateProcess>
</entityActionField>
</children>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
</entityActionGroup>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
import("system.question");
import("system.translate");
import("system.vars");
import("system.db");
import("MimeType_lib");
import("Email_lib");
import("Sql_lib");
var orderReport = {};
var attachmentArray = [];
var updateStatements = [["SALESORDER", ["ORDERSTATUS"], db.getColumnTypes("SALESORDER", ["ORDERSTATUS"]), ["1"], newWhere("SALESORDER.SALESORDERID", vars.get("$field.SALESORDERID")).build()]];
var notificationMsg = translate.text("The status of the order was changed to \"sent\".");
var contactId = vars.get("$field.CONTACT_ID");
var orgContactId = vars.get("$field.CONTACT_ORG_ID");
var reportData = vars.get("$field.ORDER_REPORT_DATA");
var emailFilename = vars.get("$field.#CONTENTTITLE");
var orderNo = emailFilename.substring(emailFilename.indexOf(" ", 0)+1, emailFilename.length);
emailFilename = emailFilename.substring(0, emailFilename.indexOf(" ", 0));
emailFilename = emailFilename + " " + orderNo;
if (contactId == null || "")
contactId = orgContactId;
orderReport.content = reportData;
orderReport.mimeType = MimeTypes.PDF();
orderReport.filename = emailFilename + ".pdf";
attachmentArray[0] = orderReport;
EmailWritingUtils.sendReportAsMail(contactId, attachmentArray, "Order", notificationMsg, emailFilename, null, updateStatements);
import("system.neon");
import("system.vars");
import("system.result");
import("KeywordRegistry_basic");
var orderStatus = vars.get("$field.ORDERSTATUS");
var isOfferCancelled = vars.get("$field.CANCELLATION");
if (orderStatus == 1 || isOfferCancelled == 1)
result.string(neon.COMPONENTSTATE_DISABLED);
import("system.question");
import("system.translate");
import("system.vars");
import("system.db");
import("MimeType_lib");
import("Email_lib");
import("Order_lib");
import("Sql_lib");
var orderReport = {};
var attachmentArray = [];
var contactId = vars.get("$field.CONTACT_ID");
var orgContactId = vars.get("$field.CONTACT_ORG_ID");
var reportData = OrderUtils.buildReminderReport(vars.get("$field.SALESORDERID"));
var emailFilename = vars.get("$field.#CONTENTTITLE");
var orderNo = emailFilename.substring(emailFilename.indexOf(" ", 0)+1, emailFilename.length);
emailFilename = translate.text("Reminder") + " " + orderNo;
if (contactId == null || "")
contactId = orgContactId;
orderReport.content = reportData;
orderReport.mimeType = MimeTypes.PDF();
orderReport.filename = emailFilename + ".pdf";
attachmentArray[0] = orderReport;
EmailWritingUtils.sendReportAsMail(contactId, attachmentArray, "Order", null, emailFilename, null, null);
import("system.neon");
import("system.vars");
import("system.result");
import("KeywordRegistry_basic");
var isOfferCancelled = vars.get("$field.CANCELLATION");
if (isOfferCancelled == 1)
result.string(neon.COMPONENTSTATE_DISABLED);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment