Skip to content
Snippets Groups Projects
Commit 65a65655 authored by S.Listl's avatar S.Listl
Browse files

BulkMail, SerialLetter fixes

parent b96d84bc
No related branches found
No related tags found
No related merge requests found
Showing
with 237 additions and 36 deletions
......@@ -9405,7 +9405,7 @@
<description></description>
<auditSyncConfig>
<name>auditSyncConfig</name>
<auditMode v="0" />
<auditMode v="1" />
<syncActive v="false" />
<syncComplete v="true" />
<syncDirection v="1" />
......@@ -9423,8 +9423,20 @@
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<title>Document Template</title>
<description></description>
<customProperties>
<customBooleanProperty>
<name>log</name>
<global v="false" />
<property v="true" />
</customBooleanProperty>
<customJDitoProperty>
<name>translate4Log</name>
<global v="false" />
<property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/bulkmail/entityfields/documenttemplate_id/customproperties/translate4log/property.js</property>
</customJDitoProperty>
</customProperties>
</entityFieldDb>
<entityFieldDb>
<name>BULKMAILID</name>
......@@ -9451,8 +9463,15 @@
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<title>Description</title>
<description></description>
<customProperties>
<customBooleanProperty>
<name>log</name>
<global v="false" />
<property v="true" />
</customBooleanProperty>
</customProperties>
</entityFieldDb>
<entityFieldDb>
<name>SUBJECT</name>
......@@ -9465,8 +9484,15 @@
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<title>Subject</title>
<description></description>
<customProperties>
<customBooleanProperty>
<name>log</name>
<global v="false" />
<property v="true" />
</customBooleanProperty>
</customProperties>
</entityFieldDb>
<entityFieldDb>
<name>NAME</name>
......@@ -9479,8 +9505,15 @@
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<title>Name</title>
<description></description>
<customProperties>
<customBooleanProperty>
<name>log</name>
<global v="false" />
<property v="true" />
</customBooleanProperty>
</customProperties>
</entityFieldDb>
<entityFieldDb>
<name>SENDER</name>
......@@ -9493,8 +9526,15 @@
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<title>Sender</title>
<description></description>
<customProperties>
<customBooleanProperty>
<name>log</name>
<global v="false" />
<property v="true" />
</customBooleanProperty>
</customProperties>
</entityFieldDb>
<entityFieldDb>
<name>STATUS</name>
......@@ -10411,7 +10451,7 @@
<description></description>
<auditSyncConfig>
<name>auditSyncConfig</name>
<auditMode v="0" />
<auditMode v="1" />
<syncActive v="false" />
<syncComplete v="true" />
<syncDirection v="1" />
......@@ -10429,8 +10469,20 @@
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<title>Document Template</title>
<description></description>
<customProperties>
<customBooleanProperty>
<name>log</name>
<global v="false" />
<property v="true" />
</customBooleanProperty>
<customJDitoProperty>
<name>translate4Log</name>
<global v="false" />
<property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/serialletter/entityfields/documenttemplate_id/customproperties/translate4log/property.js</property>
</customJDitoProperty>
</customProperties>
</entityFieldDb>
<entityFieldDb>
<name>SERIALLETTERID</name>
......@@ -10457,8 +10509,15 @@
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<title>Title</title>
<description></description>
<customProperties>
<customBooleanProperty>
<name>log</name>
<global v="false" />
<property v="true" />
</customBooleanProperty>
</customProperties>
</entityFieldDb>
<entityFieldDb>
<name>DESCRIPTION</name>
......@@ -10471,8 +10530,15 @@
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<title>Description</title>
<description></description>
<customProperties>
<customBooleanProperty>
<name>log</name>
<global v="false" />
<property v="true" />
</customBooleanProperty>
</customProperties>
</entityFieldDb>
</entityFields>
</entityDb>
......
import("Sql_lib");
import("Contact_lib");
import("system.db");
import("system.result");
import("Loghistory_lib");
var params = Translate4LogParams.load();
var res = db.cell(SqlCondition.begin()
.andPrepare("DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID", params.value)
.buildSql("select NAME from DOCUMENTTEMPLATE", "1=2"));
result.string(res);
import("Sql_lib");
import("Contact_lib");
import("system.db");
import("system.result");
import("Loghistory_lib");
var params = Translate4LogParams.load();
var res = db.cell(SqlCondition.begin()
.andPrepare("DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID", params.value)
.buildSql("select NAME from DOCUMENTTEMPLATE", "1=2"));
result.string(res);
import("system.translate");
import("system.result");
import("system.vars");
import("system.calendars");
import("system.db");
import("Keyword_lib");
import("Sql_lib");
import("KeywordRegistry_basic");
var sqlQuery, sqlHelper, queryCondition, affectedIds;
queryCondition = "";
if (vars.exists("$local.idvalue")) {
affectedIds = vars.get("$local.idvalue");
queryCondition = "where SALESPROJECTID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
//TODO: refactor this for incremental indexer (injections?)
}
sqlHelper = new SqlMaskingUtils();
sqlQuery = "select SALESPROJECTID, PROJECTTITLE as TITLECOLUMN, "
+ sqlHelper.concat([
"'" + translate.text("Status") + ":'", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "STATE"),
"'| " + translate.text("Phase") + ":'", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectPhase(), "PHASE")
])
+ " as DESCCOLUMN, PROJECTCODE "
+ " from SALESPROJECT "
+ queryCondition + " order by PROJECTCODE ";
import("system.translate");
import("system.result");
import("system.vars");
import("system.calendars");
import("system.db");
import("Keyword_lib");
import("Sql_lib");
import("KeywordRegistry_basic");
var sqlQuery, sqlHelper, queryCondition, affectedIds;
queryCondition = "";
if (vars.exists("$local.idvalue")) {
affectedIds = vars.get("$local.idvalue");
queryCondition = "where SALESPROJECTID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
//TODO: refactor this for incremental indexer (injections?)
}
sqlHelper = new SqlMaskingUtils();
sqlQuery = "select SALESPROJECTID, PROJECTTITLE as TITLECOLUMN, "
+ sqlHelper.concat([
"'" + translate.text("Status") + ":'", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "STATUS"),
"'| " + translate.text("Phase") + ":'", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectPhase(), "PHASE")
])
+ " as DESCCOLUMN, PROJECTCODE "
+ " from SALESPROJECT "
+ queryCondition + " order by PROJECTCODE ";
result.string(sqlQuery);
\ No newline at end of file
......@@ -3,6 +3,9 @@
<name>BulkMailRecipient_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<title>Recipient</title>
<siblings>
<element>Communication_entity</element>
</siblings>
<titlePlural>Recipients</titlePlural>
<recordContainer>db</recordContainer>
<entityFields>
......
......@@ -143,6 +143,20 @@
<valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/content/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/content/displayValueProcess.js</displayValueProcess>
</entityField>
<entityConsumer>
<name>LogHistories</name>
<dependency>
<name>dependency</name>
<entityName>LogHistory_entity</entityName>
<fieldName>LogHistoryProvider</fieldName>
</dependency>
<children>
<entityParameter>
<name>tablenames_param</name>
<valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
import("system.vars");
import("system.result");
import("Context_lib");
var res = [];
res.push({id: vars.get("$field.BULKMAILID"), tableNames: ["BULKMAIL"]});
res = JSON.stringify(res);//currently only strings can be passed as param
result.object(res);
\ No newline at end of file
......@@ -78,6 +78,13 @@
<iconId>VAADIN:DOWNLOAD_ALT</iconId>
<tooltipProcess>%aditoprj%/entity/LetterRecipient_entity/entityfields/recipientactions/children/downloadletterforselection/tooltipProcess.js</tooltipProcess>
</entityActionField>
<entityActionField>
<name>removeWithCommRestriction</name>
<onActionProcess>%aditoprj%/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js</onActionProcess>
<isObjectAction v="false" />
<iconId>VAADIN:BAN</iconId>
<tooltipProcess>%aditoprj%/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/tooltipProcess.js</tooltipProcess>
</entityActionField>
</children>
</entityActionGroup>
</entityFields>
......@@ -86,6 +93,7 @@
<name>db</name>
<alias>Data_alias</alias>
<fromClauseProcess>%aditoprj%/entity/LetterRecipient_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
<conditionProcess>%aditoprj%/entity/LetterRecipient_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
<orderClauseProcess>%aditoprj%/entity/LetterRecipient_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
<linkInformation>
<linkInformation>
......
import("Contact_lib");
import("system.neon");
import("Sql_lib");
import("KeywordRegistry_basic");
import("system.db");
var recipientIds = db.array(db.COLUMN, SqlBuilder.begin()
.select("LETTERRECIPIENTID")
.from("LETTERRECIPIENT")
.join("CONTACT", SqlCondition.begin()
.and("LETTERRECIPIENT.CONTACT_ID = CONTACT.CONTACTID")
.andSqlCondition(ContactUtils.getCommRestrictionCondition($KeywordRegistry.communicationMediumCampaign$letter())))
.where(SqlCondition.begin()
.andPrepareVars("LETTERRECIPIENT.SERIALLETTER_ID", "$param.SerialLetterId_param"))
.build());
if (recipientIds.length)
{
db.deleteData("LETTERRECIPIENT", SqlCondition.begin()
.andIn("LETTERRECIPIENT.LETTERRECIPIENTID", recipientIds)
.build("1=2"));
}
neon.refreshAll();
\ No newline at end of file
import("system.translate");
import("system.result");
result.string(translate.text("Remove recipients with advertising ban"));
\ No newline at end of file
import("system.vars");
import("system.result");
result.string("SERIALLETTER_ID = '" + vars.get("$param.SerialLetterId_param") + "'");
\ No newline at end of file
......@@ -86,6 +86,18 @@
<fieldName>LogHistories</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>c7d97e89-6363-4ad3-8132-b5aeb7a0c98e</name>
<entityName>BulkMail_entity</entityName>
<fieldName>LogHistories</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>deef9cab-515b-423c-87df-1a57b3ee1ff2</name>
<entityName>SerialLetter_entity</entityName>
<fieldName>LogHistories</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityParameter>
......
......@@ -6,5 +6,5 @@ import("Sql_lib");
result.string(db.translateCondition(
SqlCondition.begin()
.andPrepareVars("SALESPROJECT.CONTACT_ID", "$param.ContactId_param")
.andPrepareVars("SALESPROJECT.STATE", "$param.Status_param")
.andPrepareVars("SALESPROJECT.STATUS", "$param.Status_param")
.build("1 = 1")));
\ No newline at end of file
......@@ -71,6 +71,20 @@
<title>Description</title>
<contentType>LONG_TEXT</contentType>
</entityField>
<entityConsumer>
<name>LogHistories</name>
<dependency>
<name>dependency</name>
<entityName>LogHistory_entity</entityName>
<fieldName>LogHistoryProvider</fieldName>
</dependency>
<children>
<entityParameter>
<name>tablenames_param</name>
<valueProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
import("system.vars");
import("system.result");
import("Context_lib");
var res = [];
res.push({id: vars.get("$field.SERIALLETTERID"), tableNames: ["SERIALLETTER"]});
res = JSON.stringify(res);//currently only strings can be passed as param
result.object(res);
\ No newline at end of file
......@@ -24,5 +24,10 @@
<entityField>#ENTITY</entityField>
<view>BulkMailContent_view</view>
</neonViewReference>
<neonViewReference>
<name>49eb2dd2-0df9-4b58-bdae-f941200be8d9</name>
<entityField>LogHistories</entityField>
<view>LogHistoryFilter_view</view>
</neonViewReference>
</children>
</neonView>
......@@ -19,5 +19,10 @@
<entityField>Recipients</entityField>
<view>LetterRecipientFilter_view</view>
</neonViewReference>
<neonViewReference>
<name>5cba2de9-e00b-4548-8477-5fc76b1e3cb6</name>
<entityField>LogHistories</entityField>
<view>LogHistoryFilter_view</view>
</neonViewReference>
</children>
</neonView>
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