diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index be4e2e234c1e056f42f7e2363b41fe573624b7cb..4aba9a26a9234300392467b5e5f7ed6444505c0f 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -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> diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/bulkmail/entityfields/documenttemplate_id/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/bulkmail/entityfields/documenttemplate_id/customproperties/translate4log/property.js new file mode 100644 index 0000000000000000000000000000000000000000..0323e52461762d8b246786c89c2fda67412ef534 --- /dev/null +++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/bulkmail/entityfields/documenttemplate_id/customproperties/translate4log/property.js @@ -0,0 +1,12 @@ +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); diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/serialletter/entityfields/documenttemplate_id/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/serialletter/entityfields/documenttemplate_id/customproperties/translate4log/property.js new file mode 100644 index 0000000000000000000000000000000000000000..0323e52461762d8b246786c89c2fda67412ef534 --- /dev/null +++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/serialletter/entityfields/documenttemplate_id/customproperties/translate4log/property.js @@ -0,0 +1,12 @@ +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); diff --git a/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js b/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js index b5db958b18fdb85576d0ee3ce7e7a929188e9297..079117e9028cc73670823798d0325902cc451055 100644 --- a/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js +++ b/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js @@ -1,26 +1,26 @@ -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 diff --git a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod index 242b9cbc00a3806880acd3b8dfa42be53b419217..93f4a351857896cfe83ae0ced85b84772f41f86b 100644 --- a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod +++ b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod @@ -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> diff --git a/entity/BulkMail_entity/BulkMail_entity.aod b/entity/BulkMail_entity/BulkMail_entity.aod index 650f4c8e4d069bb6dacebfa14a434e26254513e4..7d91eff29678c9c1db248dee06fd0fd6b4818140 100644 --- a/entity/BulkMail_entity/BulkMail_entity.aod +++ b/entity/BulkMail_entity/BulkMail_entity.aod @@ -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> diff --git a/entity/BulkMail_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js b/entity/BulkMail_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..aa13fc5ed2e195b362095cc74f843ab270296ce4 --- /dev/null +++ b/entity/BulkMail_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js @@ -0,0 +1,9 @@ +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 diff --git a/entity/LetterRecipient_entity/LetterRecipient_entity.aod b/entity/LetterRecipient_entity/LetterRecipient_entity.aod index b8e3a731f1d86539fa0f40f447c71d3db2100400..492db4ac95e2c09229f8337f6aeeab2aac09c4a7 100644 --- a/entity/LetterRecipient_entity/LetterRecipient_entity.aod +++ b/entity/LetterRecipient_entity/LetterRecipient_entity.aod @@ -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> diff --git a/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js b/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..80ae8387d5e95fa964747c3b538fa58927007c6b --- /dev/null +++ b/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js @@ -0,0 +1,24 @@ +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 diff --git a/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/tooltipProcess.js b/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/tooltipProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..0cd89c71d0e745d4f9d5924bf3996898c62534d7 --- /dev/null +++ b/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/tooltipProcess.js @@ -0,0 +1,4 @@ +import("system.translate"); +import("system.result"); + +result.string(translate.text("Remove recipients with advertising ban")); \ No newline at end of file diff --git a/entity/LetterRecipient_entity/recordcontainers/db/conditionProcess.js b/entity/LetterRecipient_entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..abe4a89cb96cd7238483d6b3fda1c2a4683ed8f7 --- /dev/null +++ b/entity/LetterRecipient_entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string("SERIALLETTER_ID = '" + vars.get("$param.SerialLetterId_param") + "'"); \ No newline at end of file diff --git a/entity/LogHistory_entity/LogHistory_entity.aod b/entity/LogHistory_entity/LogHistory_entity.aod index 4555dc83a29e012c9b00af7463ddbd95ea4150fa..55a1bf21490d283ff2ddebfaab00ccea39dd60ae 100644 --- a/entity/LogHistory_entity/LogHistory_entity.aod +++ b/entity/LogHistory_entity/LogHistory_entity.aod @@ -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> diff --git a/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js b/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js index b01face83ac0d7a5033f663232b1e8c9ff950b03..718629c28ebd0cd9a84247b26c676ff40ac4b099 100644 --- a/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js +++ b/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js @@ -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 diff --git a/entity/SerialLetter_entity/SerialLetter_entity.aod b/entity/SerialLetter_entity/SerialLetter_entity.aod index 4cbbbbd9f47b76043b8a83210aa1946d4ba37d04..4dc3c4b73d86109e95b77d5e571e2a8a7f2abbd3 100644 --- a/entity/SerialLetter_entity/SerialLetter_entity.aod +++ b/entity/SerialLetter_entity/SerialLetter_entity.aod @@ -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> diff --git a/entity/SerialLetter_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js b/entity/SerialLetter_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..550976652bfc458dc34f9e87e39f4cda2c350fc8 --- /dev/null +++ b/entity/SerialLetter_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js @@ -0,0 +1,9 @@ +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 diff --git a/neonView/BulkMailMain_view/BulkMailMain_view.aod b/neonView/BulkMailMain_view/BulkMailMain_view.aod index d4f159843dfe6d19e70ccdb55beb9617ec2ea865..0f6a248d7ebcb16708fb96898fab4572dfd5fcc3 100644 --- a/neonView/BulkMailMain_view/BulkMailMain_view.aod +++ b/neonView/BulkMailMain_view/BulkMailMain_view.aod @@ -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> diff --git a/neonView/SerialLetterMain_view/SerialLetterMain_view.aod b/neonView/SerialLetterMain_view/SerialLetterMain_view.aod index fcf3051cace381f66f0bb8e6cae517d803f34e62..94126a57ef4924dbed94a213990b156e3153784f 100644 --- a/neonView/SerialLetterMain_view/SerialLetterMain_view.aod +++ b/neonView/SerialLetterMain_view/SerialLetterMain_view.aod @@ -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>