From 7000311c91dda7440fed2c8ca3f552caeca032ad Mon Sep 17 00:00:00 2001 From: "S.Listl" <S.Listl@SLISTL.aditosoftware.local> Date: Wed, 21 Aug 2019 11:57:05 +0200 Subject: [PATCH] grantDelete processes optimized --- .../alter_BulkMailRecipient_problem.xml | 9 + .../Data_alias/basic/2019.2.1/changelog.xml | 3 + .../insert_BulkMailProblem_keyword.xml | 22 + aliasDefinition/Data_alias/Data_alias.aod | 569 ++++++++---------- entity/BulkMail_entity/BulkMail_entity.aod | 7 + .../entityfields/bindata/onValidation.js | 26 +- .../downloadtemplate/onActionProcess.js | 7 + .../downloadtemplate/stateProcess.js | 8 + .../CampaignStep_entity/grantDeleteProcess.js | 6 +- entity/Campaign_entity/grantDeleteProcess.js | 8 +- entity/Contract_entity/grantDeleteProcess.js | 8 +- .../KeywordEntry_entity.aod | 6 + entity/Offer_entity/grantDeleteProcess.js | 10 +- .../Organisation_entity.aod | 5 + .../entityfields/opentasks/valueProcess.js | 6 + .../Organisation_entity/grantDeleteProcess.js | 8 +- entity/Person_entity/grantDeleteProcess.js | 8 +- entity/Product_entity/grantDeleteProcess.js | 6 +- .../Salesproject_entity/grantDeleteProcess.js | 8 +- .../SerialLetter_entity.aod | 22 + .../status/displayValueProcess.js | 6 + .../entityfields/status/valueProcess.js | 9 + .../containername_param/valueProcess.js | 4 + .../status.displayvalue/expression.js | 6 + .../BulkMailEdit_view/BulkMailEdit_view.aod | 18 +- .../BulkMailFilter_view.aod | 8 + neonView/LetterEdit_view/LetterEdit_view.aod | 16 +- .../OrganisationPreview_view.aod | 4 +- .../SerialLetterEdit_view.aod | 24 +- .../SerialLetterFilter_view.aod | 4 + .../SerialLetterPreview_view.aod | 5 + process/Context_lib/process.js | 2 +- process/DocumentTemplate_lib/process.js | 2 +- process/KeywordRegistry_basic/process.js | 4 +- process/MimeType_lib/process.js | 11 +- process/Sql_lib/process.js | 17 +- 36 files changed, 532 insertions(+), 360 deletions(-) create mode 100644 .liquibase/Data_alias/basic/2019.2.1/alter_BulkMailRecipient_problem.xml create mode 100644 .liquibase/Data_alias/basic/2019.2.1/insert_BulkMailProblem_keyword.xml create mode 100644 entity/BulkMail_entity/entityfields/downloadtemplate/onActionProcess.js create mode 100644 entity/BulkMail_entity/entityfields/downloadtemplate/stateProcess.js create mode 100644 entity/Organisation_entity/entityfields/opentasks/valueProcess.js create mode 100644 entity/SerialLetter_entity/entityfields/status/displayValueProcess.js create mode 100644 entity/SerialLetter_entity/entityfields/status/valueProcess.js create mode 100644 entity/SerialLetter_entity/entityfields/statuskeyword/children/containername_param/valueProcess.js create mode 100644 entity/SerialLetter_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js diff --git a/.liquibase/Data_alias/basic/2019.2.1/alter_BulkMailRecipient_problem.xml b/.liquibase/Data_alias/basic/2019.2.1/alter_BulkMailRecipient_problem.xml new file mode 100644 index 0000000000..ee05b957ba --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2.1/alter_BulkMailRecipient_problem.xml @@ -0,0 +1,9 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="s.listl" id="b8a37d10-90db-497a-b2a7-69a25eff27ba"> + <addColumn tableName="BULKMAILRECIPIENT"> + <column name="PROBLEM" type="CHAR(36)"/> + </addColumn> + </changeSet> +</databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/2019.2.1/changelog.xml b/.liquibase/Data_alias/basic/2019.2.1/changelog.xml index 5293ca3573..f2b544658c 100644 --- a/.liquibase/Data_alias/basic/2019.2.1/changelog.xml +++ b/.liquibase/Data_alias/basic/2019.2.1/changelog.xml @@ -8,4 +8,7 @@ <include relativeToChangelogFile="true" file="insert_AttributeType_Theme_keyword.xml"/> <include relativeToChangelogFile="true" file="alter_Campaign_currency.xml"/> + + <include relativeToChangelogFile="true" file="alter_BulkMailRecipient_problem.xml"/> + <include relativeToChangelogFile="true" file="insert_BulkMailProblem_keyword.xml"/> </databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/2019.2.1/insert_BulkMailProblem_keyword.xml b/.liquibase/Data_alias/basic/2019.2.1/insert_BulkMailProblem_keyword.xml new file mode 100644 index 0000000000..bce88c20a3 --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2.1/insert_BulkMailProblem_keyword.xml @@ -0,0 +1,22 @@ +<?xml version="1.1" encoding="UTF-8" standalone="no"?> +<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> + <changeSet author="s.listl" id="8f2b7dca-9035-4f0c-a83f-1d16b5e57e81"> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="a18e7a37-c5f6-4f7b-8db6-3018dedbd43f"/> + <column name="KEYID" value="MAILADDRESSDOESNOTEXIST "/> + <column name="TITLE" value="Email address does not exist"/> + <column name="CONTAINER" value="BulkMailProblem"/> + <column name="SORTING" valueNumeric="1"/> + <column name="ISACTIVE" valueNumeric="1"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="9f11c52f-4c79-4027-877a-0f6eb828fa22"/> + <column name="KEYID" value="MAILBLOCKED "/> + <column name="TITLE" value="Email blocked"/> + <column name="CONTAINER" value="BulkMailProblem"/> + <column name="SORTING" valueNumeric="2"/> + <column name="ISACTIVE" valueNumeric="1"/> + </insert> + </changeSet> +</databaseChangeLog> diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index b56cd2af80..fa179fffd9 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -4203,58 +4203,6 @@ </customBooleanProperty> </customProperties> </entityFieldDb> - <entityFieldDb> - <name>SALESPROJECT_ID</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title>Salesproject</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/salesorder/entityfields/salesproject_id/customproperties/translate4log/property.js</property> - </customJDitoProperty> - </customProperties> - </entityFieldDb> - <entityFieldDb> - <name>STATUS</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title>Status</title> - <description></description> - <customProperties> - <customBooleanProperty> - <name>log</name> - <global v="false" /> - <property v="true" /> - </customBooleanProperty> - <customStringProperty> - <name>keyword</name> - <global v="false" /> - <property>SalesorderState</property> - </customStringProperty> - </customProperties> - </entityFieldDb> <entityFieldDb> <name>SALESORDERDATE</name> <dbName></dbName> @@ -4359,17 +4307,17 @@ <description></description> </entityFieldDb> <entityFieldDb> - <name>ADDRESS</name> + <name>OFFER_ID</name> <dbName></dbName> <primaryKey v="false" /> - <columnType v="2005" /> - <size v="2147483647" /> + <columnType v="1" /> + <size v="36" /> <scale v="0" /> <notNull v="false" /> <isUnique v="false" /> <index v="false" /> <documentation></documentation> - <title>Address</title> + <title>Offer</title> <description></description> <customProperties> <customBooleanProperty> @@ -4380,7 +4328,119 @@ </customProperties> </entityFieldDb> <entityFieldDb> - <name>OFFER_ID</name> + <name>ISOLANGUAGE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="3" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OBJECT_TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="63" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>NOTICE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="2005" /> + <size v="2147483647" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>PAYDUEDATE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>CANCELLATION</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="5" /> + <size v="5" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>PAYDATE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DUNNINGTEXT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="2005" /> + <size v="2147483647" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>UNPAID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="4" /> + <size v="10" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DUNNINGLEVEL</name> <dbName></dbName> <primaryKey v="false" /> <columnType v="1" /> @@ -4390,22 +4450,127 @@ <isUnique v="false" /> <index v="false" /> <documentation></documentation> - <title>Offer</title> + <title></title> <description></description> - <customProperties> - <customBooleanProperty> - <name>log</name> - <global v="false" /> - <property v="true" /> - </customBooleanProperty> - </customProperties> </entityFieldDb> <entityFieldDb> - <name>ISOLANGUAGE</name> + <name>DUNNINGDATE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="29" /> + <scale v="9" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>PAYMENTTERMS</name> <dbName></dbName> <primaryKey v="false" /> <columnType v="1" /> - <size v="3" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DELIVERYTERMS</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OBJECT_ROWID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>PAYMENTADDRESS</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="2005" /> + <size v="2147483647" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>ORDERTYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>PAID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="4" /> + <size v="10" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DELIVERYADDRESS</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="2005" /> + <size v="2147483647" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>ORDERSTATUS</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="5" /> + <size v="5" /> <scale v="0" /> <notNull v="false" /> <isUnique v="false" /> @@ -8233,13 +8398,27 @@ <description></description> </entityFieldDb> <entityFieldDb> - <name>STATUS</name> + <name>STATUS</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>CURRENCY</name> <dbName></dbName> <primaryKey v="false" /> <columnType v="1" /> <size v="36" /> <scale v="0" /> - <notNull v="true" /> + <notNull v="false" /> <isUnique v="false" /> <index v="false" /> <documentation></documentation> @@ -9299,230 +9478,6 @@ <isUnique v="false" /> <index v="false" /> <documentation></documentation> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> <title></title> <description></description> </entityFieldDb> @@ -9920,6 +9875,20 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>PROBLEM</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -10284,20 +10253,6 @@ <name>MAIL</name> <dbName></dbName> <primaryKey v="false" /> - <entityFieldDb> - <name>CURRENCY</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> <columnType v="2005" /> <size v="2147483647" /> <scale v="0" /> diff --git a/entity/BulkMail_entity/BulkMail_entity.aod b/entity/BulkMail_entity/BulkMail_entity.aod index fc46b70b76..41ade9877e 100644 --- a/entity/BulkMail_entity/BulkMail_entity.aod +++ b/entity/BulkMail_entity/BulkMail_entity.aod @@ -212,6 +212,13 @@ <iconId>VAADIN:CURLY_BRACKETS</iconId> <stateProcess>%aditoprj%/entity/BulkMail_entity/entityfields/openadminview/stateProcess.js</stateProcess> </entityActionField> + <entityActionField> + <name>downloadTemplate</name> + <title>Download template</title> + <onActionProcess>%aditoprj%/entity/BulkMail_entity/entityfields/downloadtemplate/onActionProcess.js</onActionProcess> + <iconId>VAADIN:FILE_FONT</iconId> + <stateProcess>%aditoprj%/entity/BulkMail_entity/entityfields/downloadtemplate/stateProcess.js</stateProcess> + </entityActionField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/BulkMail_entity/entityfields/bindata/onValidation.js b/entity/BulkMail_entity/entityfields/bindata/onValidation.js index 015947cbe0..3bcd60e91c 100644 --- a/entity/BulkMail_entity/entityfields/bindata/onValidation.js +++ b/entity/BulkMail_entity/entityfields/bindata/onValidation.js @@ -1,13 +1,15 @@ -import("system.translate"); -import("Bulkmail_lib"); -import("system.result"); -import("system.vars"); -import("Document_lib"); +//import("system.translate"); +//import("Bulkmail_lib"); +//import("system.result"); +//import("system.vars"); +//import("Document_lib"); +// +//var bindata = vars.get("$local.value"); +//if (bindata) +//{ +// let mimeType = DocumentUtil.getMimeTypeFromUpload(bindata); +// if (!BulkMailUtils.isValidMimeType(mimeType)) +// result.string(translate.text("Invalid file type")); +//} -var bindata = vars.get("$local.value"); -if (bindata) -{ - let mimeType = DocumentUtil.getMimeTypeFromUpload(bindata); - if (!BulkMailUtils.isValidMimeType(mimeType)) - result.string(translate.text("Invalid file type")); -} \ No newline at end of file +//TODO: this should be validated with the code above, waiting for ticket #1042587 \ No newline at end of file diff --git a/entity/BulkMail_entity/entityfields/downloadtemplate/onActionProcess.js b/entity/BulkMail_entity/entityfields/downloadtemplate/onActionProcess.js new file mode 100644 index 0000000000..9a29cf50ed --- /dev/null +++ b/entity/BulkMail_entity/entityfields/downloadtemplate/onActionProcess.js @@ -0,0 +1,7 @@ +import("system.neon"); +import("system.vars"); +import("DocumentTemplate_lib"); + +var template = DocumentTemplate.loadTemplate(vars.get("$field.DOCUMENTTEMPLATE_ID")); +if (template.type) + neon.download(template.content, template.filename); \ No newline at end of file diff --git a/entity/BulkMail_entity/entityfields/downloadtemplate/stateProcess.js b/entity/BulkMail_entity/entityfields/downloadtemplate/stateProcess.js new file mode 100644 index 0000000000..70de594731 --- /dev/null +++ b/entity/BulkMail_entity/entityfields/downloadtemplate/stateProcess.js @@ -0,0 +1,8 @@ +import("system.neon"); +import("system.vars"); +import("system.result"); + +if (vars.get("$field.DOCUMENTTEMPLATE_ID")) + result.string(neon.COMPONENTSTATE_EDITABLE); +else + result.string(neon.COMPONENTSTATE_DISABLED); \ No newline at end of file diff --git a/entity/CampaignStep_entity/grantDeleteProcess.js b/entity/CampaignStep_entity/grantDeleteProcess.js index 87f22c8c68..c9a9ccc60b 100644 --- a/entity/CampaignStep_entity/grantDeleteProcess.js +++ b/entity/CampaignStep_entity/grantDeleteProcess.js @@ -1,7 +1,9 @@ +import("system.neon"); import("Context_lib"); import("system.vars"); import("ActivityTask_lib"); import("system.result"); -result.string(!TaskUtils.hasTasks(vars.get("$field.CAMPAIGNSTEPID"), ContextUtils.getCurrentContextId()) - && !ActivityUtils.hasActivities(vars.get("$field.CAMPAIGNSTEPID"), ContextUtils.getCurrentContextId())); \ No newline at end of file +if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET) + result.string(!TaskUtils.hasTasks(vars.get("$field.CAMPAIGNSTEPID"), ContextUtils.getCurrentContextId()) + && !ActivityUtils.hasActivities(vars.get("$field.CAMPAIGNSTEPID"), ContextUtils.getCurrentContextId())); \ No newline at end of file diff --git a/entity/Campaign_entity/grantDeleteProcess.js b/entity/Campaign_entity/grantDeleteProcess.js index 8f6dbd3f5f..dce6326056 100644 --- a/entity/Campaign_entity/grantDeleteProcess.js +++ b/entity/Campaign_entity/grantDeleteProcess.js @@ -1,9 +1,11 @@ +import("system.neon"); import("Context_lib"); import("ActivityTask_lib"); import("Document_lib"); import("system.vars"); import("system.result"); -result.string(!DocumentUtil.hasDocuments("CAMPAIGN", null, vars.get("$field.CAMPAIGNID")) - && !TaskUtils.hasTasks(vars.get("$field.CAMPAIGNID"), ContextUtils.getCurrentContextId()) - && !ActivityUtils.hasActivities(vars.get("$field.CAMPAIGNID"), ContextUtils.getCurrentContextId())); \ No newline at end of file +if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET) + result.string(!DocumentUtil.hasDocuments("CAMPAIGN", null, vars.get("$field.CAMPAIGNID")) + && !TaskUtils.hasTasks(vars.get("$field.CAMPAIGNID"), ContextUtils.getCurrentContextId()) + && !ActivityUtils.hasActivities(vars.get("$field.CAMPAIGNID"), ContextUtils.getCurrentContextId())); \ No newline at end of file diff --git a/entity/Contract_entity/grantDeleteProcess.js b/entity/Contract_entity/grantDeleteProcess.js index 36b39de078..7c268463d6 100644 --- a/entity/Contract_entity/grantDeleteProcess.js +++ b/entity/Contract_entity/grantDeleteProcess.js @@ -1,9 +1,11 @@ +import("system.neon"); import("Context_lib"); import("ActivityTask_lib"); import("Document_lib"); import("system.vars"); import("system.result"); -result.string(!DocumentUtil.hasDocuments("CONTRACT", null, vars.get("$field.CONTRACTID")) - && !TaskUtils.hasTasks(vars.get("$field.CONTRACTID"), ContextUtils.getCurrentContextId()) - && !ActivityUtils.hasActivities(vars.get("$field.CONTRACTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file +if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET) + result.string(!DocumentUtil.hasDocuments("CONTRACT", null, vars.get("$field.CONTRACTID")) + && !TaskUtils.hasTasks(vars.get("$field.CONTRACTID"), ContextUtils.getCurrentContextId()) + && !ActivityUtils.hasActivities(vars.get("$field.CONTRACTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod index 609c83dc2e..4afab95d61 100644 --- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod +++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod @@ -505,6 +505,12 @@ <fieldName>KeywordDeliveryTerms</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>b4238087-6333-453a-a501-760732c68f5d</name> + <entityName>SerialLetter_entity</entityName> + <fieldName>StatusKeyword</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/entity/Offer_entity/grantDeleteProcess.js b/entity/Offer_entity/grantDeleteProcess.js index 287fe52612..93fe93b75b 100644 --- a/entity/Offer_entity/grantDeleteProcess.js +++ b/entity/Offer_entity/grantDeleteProcess.js @@ -1,3 +1,4 @@ +import("system.neon"); import("Context_lib"); import("ActivityTask_lib"); import("Document_lib"); @@ -5,7 +6,8 @@ import("system.vars"); import("system.result"); import("Offer_lib"); -result.string(OfferUtils.isDeletable(vars.get("$field.STATUS")) - && !DocumentUtil.hasDocuments("OFFER", null, vars.get("$field.OFFERID")) - && !TaskUtils.hasTasks(vars.get("$field.OFFERID"), ContextUtils.getCurrentContextId()) - && !ActivityUtils.hasActivities(vars.get("$field.OFFERID"), ContextUtils.getCurrentContextId())); \ No newline at end of file +if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET) + result.string(OfferUtils.isDeletable(vars.get("$field.STATUS")) + && !DocumentUtil.hasDocuments("OFFER", null, vars.get("$field.OFFERID")) + && !TaskUtils.hasTasks(vars.get("$field.OFFERID"), ContextUtils.getCurrentContextId()) + && !ActivityUtils.hasActivities(vars.get("$field.OFFERID"), ContextUtils.getCurrentContextId())); \ No newline at end of file diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod index 71d0fc9328..1785ee9b62 100644 --- a/entity/Organisation_entity/Organisation_entity.aod +++ b/entity/Organisation_entity/Organisation_entity.aod @@ -899,6 +899,11 @@ <colorProcess>%aditoprj%/entity/Organisation_entity/entityfields/lastactivity/colorProcess.js</colorProcess> <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/lastactivity/valueProcess.js</valueProcess> </entityField> + <entityField> + <name>OpenTasks</name> + <title>Open tasks</title> + <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/opentasks/valueProcess.js</valueProcess> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Organisation_entity/entityfields/opentasks/valueProcess.js b/entity/Organisation_entity/entityfields/opentasks/valueProcess.js new file mode 100644 index 0000000000..496146a737 --- /dev/null +++ b/entity/Organisation_entity/entityfields/opentasks/valueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("Context_lib"); +import("ActivityTask_lib"); +import("system.result"); + +result.string(TaskUtils.getOpenTaskCount(vars.get("$field.CONTACTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file diff --git a/entity/Organisation_entity/grantDeleteProcess.js b/entity/Organisation_entity/grantDeleteProcess.js index c4ebf40c41..062489e598 100644 --- a/entity/Organisation_entity/grantDeleteProcess.js +++ b/entity/Organisation_entity/grantDeleteProcess.js @@ -1,9 +1,11 @@ +import("system.neon"); import("Context_lib"); import("ActivityTask_lib"); import("Document_lib"); import("system.vars"); import("system.result"); -result.string(!DocumentUtil.hasDocuments("CONTACT", null, vars.get("$field.CONTACTID")) - && !TaskUtils.hasTasks(vars.get("$field.CONTACTID"), ContextUtils.getCurrentContextId()) - && !ActivityUtils.hasActivities(vars.get("$field.CONTACTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file +if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET) + result.string(!DocumentUtil.hasDocuments("CONTACT", null, vars.get("$field.CONTACTID")) + && !TaskUtils.hasTasks(vars.get("$field.CONTACTID"), ContextUtils.getCurrentContextId()) + && !ActivityUtils.hasActivities(vars.get("$field.CONTACTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file diff --git a/entity/Person_entity/grantDeleteProcess.js b/entity/Person_entity/grantDeleteProcess.js index c4ebf40c41..062489e598 100644 --- a/entity/Person_entity/grantDeleteProcess.js +++ b/entity/Person_entity/grantDeleteProcess.js @@ -1,9 +1,11 @@ +import("system.neon"); import("Context_lib"); import("ActivityTask_lib"); import("Document_lib"); import("system.vars"); import("system.result"); -result.string(!DocumentUtil.hasDocuments("CONTACT", null, vars.get("$field.CONTACTID")) - && !TaskUtils.hasTasks(vars.get("$field.CONTACTID"), ContextUtils.getCurrentContextId()) - && !ActivityUtils.hasActivities(vars.get("$field.CONTACTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file +if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET) + result.string(!DocumentUtil.hasDocuments("CONTACT", null, vars.get("$field.CONTACTID")) + && !TaskUtils.hasTasks(vars.get("$field.CONTACTID"), ContextUtils.getCurrentContextId()) + && !ActivityUtils.hasActivities(vars.get("$field.CONTACTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file diff --git a/entity/Product_entity/grantDeleteProcess.js b/entity/Product_entity/grantDeleteProcess.js index e60a76ed2f..2aa4ac0fb0 100644 --- a/entity/Product_entity/grantDeleteProcess.js +++ b/entity/Product_entity/grantDeleteProcess.js @@ -3,6 +3,8 @@ import("ActivityTask_lib"); import("Document_lib"); import("system.vars"); import("system.result"); +import("system.neon"); -result.string(!DocumentUtil.hasDocuments("PRODUCT", null, vars.get("$field.PRODUCTID")) - && !ActivityUtils.hasActivities(vars.get("$field.PRODUCTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file +if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET) + result.string(!DocumentUtil.hasDocuments("PRODUCT", null, vars.get("$field.PRODUCTID")) + && !ActivityUtils.hasActivities(vars.get("$field.PRODUCTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file diff --git a/entity/Salesproject_entity/grantDeleteProcess.js b/entity/Salesproject_entity/grantDeleteProcess.js index 66d8dcc67d..fd4a209f50 100644 --- a/entity/Salesproject_entity/grantDeleteProcess.js +++ b/entity/Salesproject_entity/grantDeleteProcess.js @@ -1,9 +1,11 @@ +import("system.neon"); import("Context_lib"); import("ActivityTask_lib"); import("Document_lib"); import("system.vars"); import("system.result"); -result.string(!DocumentUtil.hasDocuments("SALESPROJECT", null, vars.get("$field.SALESPROJECTID")) - && !TaskUtils.hasTasks(vars.get("$field.SALESPROJECTID"), ContextUtils.getCurrentContextId()) - && !ActivityUtils.hasActivities(vars.get("$field.SALESPROJECTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file +if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET) + result.string(!DocumentUtil.hasDocuments("SALESPROJECT", null, vars.get("$field.SALESPROJECTID")) + && !TaskUtils.hasTasks(vars.get("$field.SALESPROJECTID"), ContextUtils.getCurrentContextId()) + && !ActivityUtils.hasActivities(vars.get("$field.SALESPROJECTID"), ContextUtils.getCurrentContextId())); \ No newline at end of file diff --git a/entity/SerialLetter_entity/SerialLetter_entity.aod b/entity/SerialLetter_entity/SerialLetter_entity.aod index dd4c7fd86f..9eb7eb739c 100644 --- a/entity/SerialLetter_entity/SerialLetter_entity.aod +++ b/entity/SerialLetter_entity/SerialLetter_entity.aod @@ -101,6 +101,9 @@ <entityField> <name>STATUS</name> <title>Status</title> + <consumer>StatusKeyword</consumer> + <valueProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/status/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/status/displayValueProcess.js</displayValueProcess> </entityField> <entityActionField> <name>downloadTemplate</name> @@ -109,6 +112,20 @@ <iconId>VAADIN:FILE_FONT</iconId> <stateProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/downloadtemplate/stateProcess.js</stateProcess> </entityActionField> + <entityConsumer> + <name>StatusKeyword</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/SerialLetter_entity/entityfields/statuskeyword/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> @@ -161,6 +178,11 @@ <dbRecordFieldMapping> <name>STATUS.value</name> <recordfield>SERIALLETTER.STATUS</recordfield> + <isFilterable v="true" /> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATUS.displayValue</name> + <expression>%aditoprj%/entity/SerialLetter_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression> </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> diff --git a/entity/SerialLetter_entity/entityfields/status/displayValueProcess.js b/entity/SerialLetter_entity/entityfields/status/displayValueProcess.js new file mode 100644 index 0000000000..1daf1e1399 --- /dev/null +++ b/entity/SerialLetter_entity/entityfields/status/displayValueProcess.js @@ -0,0 +1,6 @@ +import("system.vars"); +import("KeywordRegistry_basic"); +import("system.result"); +import("Keyword_lib"); + +result.string(KeywordUtils.getViewValue($KeywordRegistry.serialLetterStatus(), vars.get("$field.STATUS"))); \ No newline at end of file diff --git a/entity/SerialLetter_entity/entityfields/status/valueProcess.js b/entity/SerialLetter_entity/entityfields/status/valueProcess.js new file mode 100644 index 0000000000..3df487964a --- /dev/null +++ b/entity/SerialLetter_entity/entityfields/status/valueProcess.js @@ -0,0 +1,9 @@ +import("KeywordRegistry_basic"); +import("system.neon"); +import("system.vars"); +import("system.result"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null) +{ + result.string($KeywordRegistry.serialLetterStatus$notSent()); +} \ No newline at end of file diff --git a/entity/SerialLetter_entity/entityfields/statuskeyword/children/containername_param/valueProcess.js b/entity/SerialLetter_entity/entityfields/statuskeyword/children/containername_param/valueProcess.js new file mode 100644 index 0000000000..d04ca40915 --- /dev/null +++ b/entity/SerialLetter_entity/entityfields/statuskeyword/children/containername_param/valueProcess.js @@ -0,0 +1,4 @@ +import("KeywordRegistry_basic"); +import("system.result"); + +result.string($KeywordRegistry.serialLetterStatus()); \ No newline at end of file diff --git a/entity/SerialLetter_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/SerialLetter_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js new file mode 100644 index 0000000000..a46009f04b --- /dev/null +++ b/entity/SerialLetter_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.serialLetterStatus(), "SERIALLETTER.STATUS"); +result.string(sql); diff --git a/neonView/BulkMailEdit_view/BulkMailEdit_view.aod b/neonView/BulkMailEdit_view/BulkMailEdit_view.aod index 6673a4671b..0e84b40866 100644 --- a/neonView/BulkMailEdit_view/BulkMailEdit_view.aod +++ b/neonView/BulkMailEdit_view/BulkMailEdit_view.aod @@ -9,14 +9,28 @@ </layout> <children> <genericViewTemplate> - <name>BulkMail</name> + <name>Generic</name> <editMode v="true" /> <entityField>#ENTITY</entityField> <fields> <entityFieldLink> - <name>b68c65de-4ecd-4a23-9242-f85e7b708b1e</name> + <name>55842e88-7e2b-41ee-b564-3c2e3fb04125</name> <entityField>DOCUMENTTEMPLATE_ID</entityField> </entityFieldLink> + </fields> + </genericViewTemplate> + <actionsViewTemplate> + <name>Actions</name> + <actions> + <element>downloadTemplate</element> + </actions> + <entityField>#ENTITY</entityField> + </actionsViewTemplate> + <genericViewTemplate> + <name>BulkMail</name> + <editMode v="true" /> + <entityField>#ENTITY</entityField> + <fields> <entityFieldLink> <name>40628318-2c0e-4324-b676-f7bda2740166</name> <entityField>bindata</entityField> diff --git a/neonView/BulkMailFilter_view/BulkMailFilter_view.aod b/neonView/BulkMailFilter_view/BulkMailFilter_view.aod index 619e5a065c..dfcd3692b1 100644 --- a/neonView/BulkMailFilter_view/BulkMailFilter_view.aod +++ b/neonView/BulkMailFilter_view/BulkMailFilter_view.aod @@ -29,6 +29,14 @@ <name>9ad2e3dd-5496-43f4-b6ff-5b2b8c1fb6db</name> <entityField>SUBJECT</entityField> </neonTableColumn> + <neonTableColumn> + <name>735b4d0d-3730-4bd4-bf29-a3651b5e1e3c</name> + <entityField>STATUS</entityField> + </neonTableColumn> + <neonTableColumn> + <name>6bb9e1df-af54-45a5-a9b5-69bfe45e3491</name> + <entityField>DOCUMENTTEMPLATE_ID</entityField> + </neonTableColumn> <neonTableColumn> <name>d8f9dce6-8c10-4235-b3c3-2d15d01586bc</name> <entityField>DESCRIPTION</entityField> diff --git a/neonView/LetterEdit_view/LetterEdit_view.aod b/neonView/LetterEdit_view/LetterEdit_view.aod index 1feaa0b0cd..55ce2aa295 100644 --- a/neonView/LetterEdit_view/LetterEdit_view.aod +++ b/neonView/LetterEdit_view/LetterEdit_view.aod @@ -18,8 +18,22 @@ <name>5919fb0b-13d8-4cd3-8110-89722d97f4e1</name> <entityField>DOCUMENT_TEMPLATE</entityField> </entityFieldLink> + </fields> + </genericViewTemplate> + <actionsViewTemplate> + <name>Actions</name> + <actions> + <element>downloadTemplate</element> + </actions> + <entityField>#ENTITY</entityField> + </actionsViewTemplate> + <genericViewTemplate> + <name>Generic</name> + <editMode v="true" /> + <entityField>#ENTITY</entityField> + <fields> <entityFieldLink> - <name>6513b2f4-d7c8-4bbe-b31a-290cf9bf7ded</name> + <name>352a7304-2308-4eea-8076-72e9d5c02a50</name> <entityField>bindata</entityField> </entityFieldLink> </fields> diff --git a/neonView/OrganisationPreview_view/OrganisationPreview_view.aod b/neonView/OrganisationPreview_view/OrganisationPreview_view.aod index 086e32cace..9781eefd46 100644 --- a/neonView/OrganisationPreview_view/OrganisationPreview_view.aod +++ b/neonView/OrganisationPreview_view/OrganisationPreview_view.aod @@ -82,8 +82,8 @@ <entityField>LastActivity</entityField> </entityFieldLink> <entityFieldLink> - <name>cc143e94-006f-4059-925a-212e91c1ece7</name> - <entityField>CountActivity</entityField> + <name>f367d831-d594-4dc1-8e1e-b7c3bf45e2ad</name> + <entityField>OpenTasks</entityField> </entityFieldLink> </fields> </scoreCardViewTemplate> diff --git a/neonView/SerialLetterEdit_view/SerialLetterEdit_view.aod b/neonView/SerialLetterEdit_view/SerialLetterEdit_view.aod index a7414e5f27..7ec3125b62 100644 --- a/neonView/SerialLetterEdit_view/SerialLetterEdit_view.aod +++ b/neonView/SerialLetterEdit_view/SerialLetterEdit_view.aod @@ -9,22 +9,40 @@ </layout> <children> <genericViewTemplate> - <name>Generic</name> + <name>Generic2</name> <editMode v="true" /> <entityField>#ENTITY</entityField> <fields> <entityFieldLink> - <name>98b1c32e-8f7e-45f9-bbc8-048851133048</name> + <name>9d341919-1306-40d1-bc3d-5cce3c2d5c04</name> <entityField>DOCUMENTTEMPLATE_ID</entityField> </entityFieldLink> + </fields> + </genericViewTemplate> + <actionsViewTemplate> + <name>Actions</name> + <actions> + <element>downloadTemplate</element> + </actions> + <entityField>#ENTITY</entityField> + </actionsViewTemplate> + <genericViewTemplate> + <name>Generic</name> + <editMode v="true" /> + <entityField>#ENTITY</entityField> + <fields> <entityFieldLink> - <name>057f064d-53fd-4d80-a43e-20a4a40d4ffb</name> + <name>a1a56052-1afa-4fa2-8aa9-1bc22148d8eb</name> <entityField>bindata</entityField> </entityFieldLink> <entityFieldLink> <name>b33a8886-75b0-4644-890d-97a8133079ea</name> <entityField>TITLE</entityField> </entityFieldLink> + <entityFieldLink> + <name>8b6a5de0-d1dc-4cdd-9f3b-a38cddce88ef</name> + <entityField>STATUS</entityField> + </entityFieldLink> <entityFieldLink> <name>1845ae78-7132-4efc-aba0-737dc4d7fc9b</name> <entityField>DESCRIPTION</entityField> diff --git a/neonView/SerialLetterFilter_view/SerialLetterFilter_view.aod b/neonView/SerialLetterFilter_view/SerialLetterFilter_view.aod index 3ee26598c9..4d31906c0f 100644 --- a/neonView/SerialLetterFilter_view/SerialLetterFilter_view.aod +++ b/neonView/SerialLetterFilter_view/SerialLetterFilter_view.aod @@ -21,6 +21,10 @@ <name>81088f4a-4ce6-43fc-8dab-7ecf1aec0386</name> <entityField>TITLE</entityField> </neonTableColumn> + <neonTableColumn> + <name>73a5b1ea-913f-4562-aed1-95c6e665cd19</name> + <entityField>STATUS</entityField> + </neonTableColumn> <neonTableColumn> <name>84aedf68-f90e-479c-912d-55cd499523cb</name> <entityField>DOCUMENTTEMPLATE_ID</entityField> diff --git a/neonView/SerialLetterPreview_view/SerialLetterPreview_view.aod b/neonView/SerialLetterPreview_view/SerialLetterPreview_view.aod index f81ecaef08..8b5f0701e9 100644 --- a/neonView/SerialLetterPreview_view/SerialLetterPreview_view.aod +++ b/neonView/SerialLetterPreview_view/SerialLetterPreview_view.aod @@ -12,6 +12,7 @@ <name>Card</name> <iconField>ICON</iconField> <titleField>TITLE</titleField> + <subtitleField>STATUS</subtitleField> <favoriteAction1>downloadLetter</favoriteAction1> <entityField>#ENTITY</entityField> </cardViewTemplate> @@ -24,6 +25,10 @@ <name>b66a9401-6218-4b64-b233-06c878d86b21</name> <entityField>DOCUMENTTEMPLATE_ID</entityField> </entityFieldLink> + <entityFieldLink> + <name>272dc0ad-c6c1-434b-82c2-4bbcd4b4b088</name> + <entityField>STATUS</entityField> + </entityFieldLink> <entityFieldLink> <name>c8702eb8-3638-47a6-acf7-402c88c529cd</name> <entityField>DESCRIPTION</entityField> diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js index 91628d6ace..c0ad201f69 100644 --- a/process/Context_lib/process.js +++ b/process/Context_lib/process.js @@ -440,7 +440,7 @@ ContextUtils.getSelectMap = function() ], "", false)) .setContactIdField("CONTACT_ID") .setCreationDateField("SALESORDERDATE") - .setStateField("STATUS") + .setStateField("ORDERSTATUS") .setActiveStates([$KeywordRegistry.salesorderState$checked, $KeywordRegistry.salesorderState$sent]) ,"Product": ContextSelector.create("PRODUCT", "PRODUCTID") .setTitleExpression(maskingUtils.concat([ diff --git a/process/DocumentTemplate_lib/process.js b/process/DocumentTemplate_lib/process.js index 7d7e3f1492..ae480c4932 100644 --- a/process/DocumentTemplate_lib/process.js +++ b/process/DocumentTemplate_lib/process.js @@ -154,7 +154,7 @@ DocumentTemplate.fromUpload = function (pUploadValue) var type; //if the mimetype couldn't be determined, check the file extension - if (mimeType == "application/octet-stream") + if (mimeType == MimeTypes.BIN()) type = DocumentTemplate.types.fromFileExtension(DocumentUtil.getFileExtensionFromUpload(filename)); else type = DocumentTemplate.types.fromMimeType(mimeType); diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index dc11d8a098..948d4fe8aa 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -212,4 +212,6 @@ $KeywordRegistry.orderType$deliverynote = function(){return $KeywordRegistry._au $KeywordRegistry.orderType$invoice = function(){return $KeywordRegistry._autoPad("ORDTYPEINVO");}; $KeywordRegistry.orderType$credit = function(){return $KeywordRegistry._autoPad("ORDTYPECRED");}; $KeywordRegistry.orderType$cancellation = function(){return $KeywordRegistry._autoPad("ORDTYPECANC");}; -$KeywordRegistry.dunningLevel = function(){return "DunningLevel";}; \ No newline at end of file +$KeywordRegistry.dunningLevel = function(){return "DunningLevel";}; + +$KeywordRegistry.bulkMailProblem = function(){return "BulkMailProblem";}; \ No newline at end of file diff --git a/process/MimeType_lib/process.js b/process/MimeType_lib/process.js index 91d2403cd3..6f075f2fe3 100644 --- a/process/MimeType_lib/process.js +++ b/process/MimeType_lib/process.js @@ -1,15 +1,17 @@ /** * Object for the enumeration of mime types. - * This includes commonly used ones, if something is missing, feel free to add it. + * This is an incomplete list and includes commonly used types, if something is missing, feel free to add it. */ function MimeTypes () {} /* application */ +MimeTypes.BIN = function () {return "application/octet-stream";}; MimeTypes.ODT = function () {return "application/vnd.oasis.opendocument.text";}; MimeTypes.PDF = function () {return "application/pdf";}; MimeTypes.DOC = function () {return "application/msword";}; MimeTypes.DOCX = function() {return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";}; MimeTypes.XLS = function () {return "application/vnd.ms-excel";}; +MimeTypes.XLSX = function() {return "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";}; MimeTypes.PPT = function () {return "application/vnd.ms-powerpoint";}; MimeTypes.MDB = function () {return "application/x-msaccess";}; MimeTypes.RTF = function () {return "application/rtf";}; @@ -17,6 +19,8 @@ MimeTypes.JS = function () {return "application/javascript";}; MimeTypes.JSON = function() {return "application/json";}; MimeTypes.ZIP = function () {return "application/zip";}; MimeTypes.MSG = function () {return "application/vnd.ms-outlook";}; +MimeTypes.TAR = function () {return "application/x-tar";}; +MimeTypes.XHTML = function() {return "application/xhtml+xml";}; /* text */ MimeTypes.TXT = function () {return "text/plain";}; @@ -37,13 +41,18 @@ MimeTypes.JPEG = function() {return "image/jpeg";}; MimeTypes.TIFF = function() {return "image/tiff";}; MimeTypes.PNG = function () {return "image/png";}; MimeTypes.SVG = function () {return "image/svg+xml";}; +MimeTypes.WEBP = function() {return "image/webp";}; /* audio */ MimeTypes.MP3 = function () {return "audio/mpeg";}; +MimeTypes.AAC = function () {return "audio/aac";}; MimeTypes.OGG = function () {return "audio/ogg";}; MimeTypes.WAV = function () {return "audio/x-wav";}; +MimeTypes.WEBA = function() {return "audio/webm";}; /* video */ MimeTypes.MPEG = function() {return "video/mpeg";}; MimeTypes.MP4 = function () {return "video/mp4";}; MimeTypes.AVI = function () {return "video/x-msvideo";}; +MimeTypes.OGV = function () {return "video/ogg";}; +MimeTypes.WEBM = function() {return "video/webm";}; diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js index 12b84dc591..7d70bd0408 100644 --- a/process/Sql_lib/process.js +++ b/process/Sql_lib/process.js @@ -625,7 +625,7 @@ SqlCondition.equalsNot = function(pField, pValue, pAlternativeCond, pAlias) { * Object for building sqls. The main purpose of this is to make it * possible to use SqlCondition objects inside join conditions or sub sqls. * This can also be useful to build complex sqls where parts should be added - * dynamically while keeping the code clear. + * dynamically while keeping the code clean. * * @class */ @@ -658,13 +658,18 @@ function SqlBuilder () * .leftJoin("ORGANISATION", SqlCondition.begin() * .and("CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID") * .andPrepare("ORGANISATION.NAME", "S%", "# like ?") - * .build("1=2)) + * .build("1=2")) * .where(SqlCondition.begin() * .andPrepare("CONTACT.STATUS", $KeywordRegistry.contactStatus$active()) - * .build("1=2)) - * .build(); - * - * var data = db.table(query); + * .build("1=2")); + * + * if (getCountry) //changing and adding parts + * { + * query.select("ORGANISATION.NAME, FIRSTNAME, LASTNAME, COUNTRY"); + * query.leftJoin("ADDRESS", "CONTACT.ADDRESS_ID = ADDRESS.ADDRESSID"); + * } + * + * var data = db.table(query.build()); */ SqlBuilder.begin = function () { -- GitLab