diff --git a/.aditoprj/blueprints/CreateExportAction.xml b/.aditoprj/blueprints/CreateExportAction.xml new file mode 100644 index 0000000000000000000000000000000000000000..c6df83894e53e19d6001d4d84337e48b622108aa --- /dev/null +++ b/.aditoprj/blueprints/CreateExportAction.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<blueprint name="Create Export Action"> + <type>entityActionField</type> + <parameters> + </parameters> + <data> + <document name="context"><![CDATA[ + <entity VERSION="1.3.17"> + <entityFields> + <entityActionField> + <name>export</name> + <title>Export</title> + <onActionProcess>import("ExportTemplate_lib"); +import("system.vars"); + +var selection = vars.get("$sys.selection"); + +if(selection.length == 0) //no selection -> use Filtercondition; +{ + selection = vars.get("$sys.filter"); +} + +ExportTemplateUtils.addParticipants(JSON.stringify(selection), vars.get("$sys.currentcontextname"));</onActionProcess> + <isMenuAction v="true" /> + <isObjectAction v="false" /> + <iconId>NEON:EXPORT</iconId> + <stateProcess>import("system.result"); +import("FilterViewAction_lib"); +import("system.vars"); + +var contactCount = vars.get("$sys.datarowcount"); + +result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount));</stateProcess> + <tooltip>Export fields of this table</tooltip> + <tooltipProcess>import("system.translate"); +import("system.result"); + +result.string(translate.text("Export columns using a exporttemplate"));</tooltipProcess> + </entityActionField> + </entityFields> + </entity> + ]]></document> + </data> +</blueprint> diff --git a/.liquibase/Data_alias/basic/2021.2.0/Export/add_ExportTemplateFields_Dependency_ID.xml b/.liquibase/Data_alias/basic/2021.2.0/Export/add_ExportTemplateFields_Dependency_ID.xml new file mode 100644 index 0000000000000000000000000000000000000000..f32a31b9b21c986a24ed06c0aa65f37bf83dfe11 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.0/Export/add_ExportTemplateFields_Dependency_ID.xml @@ -0,0 +1,19 @@ +<?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.pongratz" id="bcf10957-f79e-48b7-8a7b-013cfebe23bc"> + <addColumn tableName="EXPORTTEMPLATEFIELD"> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" type="CHAR(36)" /> + + <column name="USER_NEW" type="NVARCHAR(50)" /> + <column name="DATE_NEW" type="DATETIME" /> + <column name="USER_EDIT" type="NVARCHAR(50)" /> + <column name="DATE_EDIT" type="DATETIME" /> + </addColumn> + </changeSet> + + <changeSet author="s.pongratz" id="a573c6b0-41ba-4bf1-99f5-b9c2c184dcc2"> + <createIndex indexName="IDX_EXPORTTEMPLATEPOU_ID" tableName="EXPORTTEMPLATEFIELD"> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID"/> + </createIndex> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.0/Export/add_ExportTemplatePlaceOfUse.xml b/.liquibase/Data_alias/basic/2021.2.0/Export/add_ExportTemplatePlaceOfUse.xml new file mode 100644 index 0000000000000000000000000000000000000000..e5d45f305e725e82ede22b39669c89b331f3f1e0 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.0/Export/add_ExportTemplatePlaceOfUse.xml @@ -0,0 +1,23 @@ +<?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.pongratz" id="8cd938e0-bffc-46ab-8009-b2e2c099c4e3"> + <addColumn tableName="EXPORTTEMPLATEPLACEOFUSE"> + <column name="TITLE" type="NVARCHAR(150)"/> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" type="CHAR(36)" /> + + <column name="OBJECT_FILTER" type="NCLOB" /> + + <column name="USER_NEW" type="NVARCHAR(50)" /> + <column name="DATE_NEW" type="DATETIME" /> + <column name="USER_EDIT" type="NVARCHAR(50)" /> + <column name="DATE_EDIT" type="DATETIME" /> + </addColumn> + </changeSet> + <changeSet author="s.pongratz" id="b8121ece-f3ee-4899-a7d9-c61762cdf1a1"> + <createIndex indexName="IDX_ETPOU_ID" tableName="EXPORTTEMPLATEPLACEOFUSE"> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID"/> + </createIndex> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.0/Export/changelog.xml b/.liquibase/Data_alias/basic/2021.2.0/Export/changelog.xml new file mode 100644 index 0000000000000000000000000000000000000000..44a347e06d1ea9d4664f4d2ee98b1be874402a82 --- /dev/null +++ b/.liquibase/Data_alias/basic/2021.2.0/Export/changelog.xml @@ -0,0 +1,7 @@ +<?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"> + <include relativeToChangelogFile="true" file="add_ExportTemplatePlaceOfUse.xml"/> + <include relativeToChangelogFile="true" file="add_ExportTemplateFields_Dependency_ID.xml"/> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2021.2.0/changelog.xml b/.liquibase/Data_alias/basic/2021.2.0/changelog.xml index ffd5d9e8477dfe7efdfcd6c59b8cab503ddba871..822f717495e2e7b04ab38705816c23e05a9f90e9 100644 --- a/.liquibase/Data_alias/basic/2021.2.0/changelog.xml +++ b/.liquibase/Data_alias/basic/2021.2.0/changelog.xml @@ -9,4 +9,5 @@ <include relativeToChangelogFile="true" file="xRM-Service/changelog.xml"/> <include relativeToChangelogFile="true" file="Mosaico/changelog.xml"/> <include relativeToChangelogFile="true" file="EwsContactSync/changelog.xml"/> + <include relativeToChangelogFile="true" file="Export/changelog.xml"/> </databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplate.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplate.xml index 873fb1848500de115bc983a22e347ef455296060..143a6c1549e4c07dbc7feeef1a4d4961898c34da 100644 --- a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplate.xml +++ b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplate.xml @@ -1,54 +1,83 @@ -<?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="autogenerated" id="61e54a43-888e-4762-a188-45046738a877"> - <delete tableName="exporttemplate"/> +<?xml version="1.0" encoding="UTF-8"?> +<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-4.1.xsd"> + <changeSet author="s.pongratz" id="b0d902bd-317a-4a61-a0c3-c88d4697fe34"> <insert tableName="exporttemplate"> - <column name="FIELDDELIMITER" value="quotation mark"/> - <column name="ISOLANGUAGE" value="deu"/> - <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24"/> - <column name="DESCRIPTION" value="Anrede, Vor und Nachname sowie Email und Telefonnummer"/> - <column name="USER_EDIT" value="Admin"/> - <column name="TITLE" value="Personen und Kontaktmöglichkeiten"/> - <column name="EXPORTTEMPLATEID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/> - <column name="FIELDSEPARATOR" value="tabulator"/> - <column name="SENTENCESEPARATOR" value="carriage return and line feed"/> - <column name="USER_NEW" value="Admin"/> + <column name="EXPORTTEMPLATEID" value="3acf26f9-4807-4661-8084-c0c21c593c81" /> + <column name="TITLE" value="Personen und Kontaktmöglichkeiten" /> + <column name="FIELDSEPARATOR" value="tabulator" /> + <column name="SENTENCESEPARATOR" value="carriage return and line feed" /> + <column name="FIELDDELIMITER" value="quotation mark" /> + <column name="ISOLANGUAGE" value="deu" /> + <column name="DESCRIPTION" value="Anrede, Vor und Nachname sowie Email und Telefonnummer" /> + <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" value="Admin" /> + <column name="USER_NEW" value="Admin" /> </insert> <insert tableName="exporttemplate"> - <column name="FIELDDELIMITER" value="quotation mark"/> - <column name="ISOLANGUAGE" value="eng"/> - <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24"/> - <column name="DESCRIPTION" value="Anrede, Vor und Nachname sowie Email und Telefonnummer"/> - <column name="USER_EDIT" value="Admin"/> - <column name="TITLE" value="Personen und Kontaktmöglichkeiten (Englisch)"/> - <column name="EXPORTTEMPLATEID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/> - <column name="FIELDSEPARATOR" value="tabulator"/> - <column name="SENTENCESEPARATOR" value="carriage return and line feed"/> - <column name="USER_NEW" value="Admin"/> + <column name="EXPORTTEMPLATEID" value="5aaa7d13-3b12-45b5-a794-1f702e31051a" /> + <column name="TITLE" value="Empfänger der Serienmail" /> + <column name="FIELDSEPARATOR" value="semicolon" /> + <column name="SENTENCESEPARATOR" value="carriage return and line feed" /> + <column name="FIELDDELIMITER" value="quotation mark" /> + <column name="ISOLANGUAGE" /> + <column name="DESCRIPTION" value="Liste der Empfänger der ausgewählten Serienmails mit Status usw" /> + <column name="DATE_EDIT" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="USER_NEW" /> </insert> <insert tableName="exporttemplate"> - <column name="FIELDDELIMITER" value="quotation mark"/> - <column name="ISOLANGUAGE" value="deu"/> - <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24"/> - <column name="DESCRIPTION" value="Name mit Anrede, Titel und vollständiger Addresse"/> - <column name="USER_EDIT" value="Admin"/> - <column name="TITLE" value="Personen mit Anschriften"/> - <column name="EXPORTTEMPLATEID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/> - <column name="FIELDSEPARATOR" value="semicolon"/> - <column name="SENTENCESEPARATOR" value="carriage return and line feed"/> - <column name="USER_NEW" value="Admin"/> + <column name="EXPORTTEMPLATEID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="TITLE" value="Übersicht Vertriebsprojekte" /> + <column name="FIELDSEPARATOR" value="semicolon" /> + <column name="SENTENCESEPARATOR" value="carriage return and line feed" /> + <column name="FIELDDELIMITER" value="quotation mark" /> + <column name="ISOLANGUAGE" /> + <column name="DESCRIPTION" value="Übersicht von Vertriebsprojekten" /> + <column name="DATE_EDIT" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="USER_NEW" /> </insert> <insert tableName="exporttemplate"> - <column name="FIELDDELIMITER" value="quotation mark"/> - <column name="ISOLANGUAGE" value="deu"/> - <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24"/> - <column name="DESCRIPTION" value="Firmen und deren Addressen"/> - <column name="USER_EDIT" value="Admin"/> - <column name="TITLE" value="Firmen mit Addressen"/> - <column name="EXPORTTEMPLATEID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/> - <column name="FIELDSEPARATOR" value="comma"/> - <column name="SENTENCESEPARATOR" value="carriage return and line feed"/> - <column name="USER_NEW" value="Admin"/> + <column name="EXPORTTEMPLATEID" value="86b48d2c-3850-4778-9240-45cf79396a0a" /> + <column name="TITLE" value="Personen mit Anschriften" /> + <column name="FIELDSEPARATOR" value="semicolon" /> + <column name="SENTENCESEPARATOR" value="carriage return and line feed" /> + <column name="FIELDDELIMITER" value="quotation mark" /> + <column name="ISOLANGUAGE" value="deu" /> + <column name="DESCRIPTION" value="Name mit Anrede, Titel und vollständiger Adresse" /> + <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" value="Admin" /> + <column name="USER_NEW" value="Admin" /> + </insert> + <insert tableName="exporttemplate"> + <column name="EXPORTTEMPLATEID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="TITLE" value="Teilnehmerliste" /> + <column name="FIELDSEPARATOR" value="semicolon" /> + <column name="SENTENCESEPARATOR" value="carriage return and line feed" /> + <column name="FIELDDELIMITER" value="quotation mark" /> + <column name="ISOLANGUAGE" /> + <column name="DESCRIPTION" value="Teilnehmerliste mit allen relevanten Daten, Vorname, Name, Firma usw." /> + <column name="DATE_EDIT" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="USER_NEW" /> + </insert> + <insert tableName="exporttemplate"> + <column name="EXPORTTEMPLATEID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3" /> + <column name="TITLE" value="Firmen mit Adressen" /> + <column name="FIELDSEPARATOR" value="comma" /> + <column name="SENTENCESEPARATOR" value="carriage return and line feed" /> + <column name="FIELDDELIMITER" value="quotation mark" /> + <column name="ISOLANGUAGE" value="deu" /> + <column name="DESCRIPTION" value="Firmen und deren Adressen" /> + <column name="DATE_EDIT" valueDate="2020-03-02T10:43:24" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" value="Admin" /> + <column name="USER_NEW" value="Admin" /> </insert> </changeSet> -</databaseChangeLog> \ No newline at end of file +</databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplatefield.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplatefield.xml index b0c7acf8736af48ff2321381a6630cad79a6d1c9..9fd2ca3f7ea57fc3bcd8214f43491719c828c484 100644 --- a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplatefield.xml +++ b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplatefield.xml @@ -1,144 +1,489 @@ -<?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="autogenerated" id="69fd0952-c01c-4b65-960a-4bb53d11ba31"> - <delete tableName="exporttemplatefield"/> +<?xml version="1.0" encoding="UTF-8"?> +<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-4.1.xsd"> + <changeSet author="s.pongratz" id="cb95f3fd-b07a-4a10-9c97-f1a990abc164"> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/> - <column name="FIELD" value="{@lastname@}"/> - <column name="SORTING" valueNumeric="3"/> - <column name="EXPORTTEMPLATEFIELDID" value="0804cb9a-0cfb-43d6-bd37-2680e24604b0"/> + <column name="EXPORTTEMPLATEFIELDID" value="06087ff5-a22c-4f35-94fc-d738aaec6eb6" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="FIELD" value="RESPONSIBLE_CONTACT_ID" /> + <column name="SORTING" valueNumeric="6" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="dbcc278e-bcc3-45d2-8315-502efbec6714" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/> - <column name="FIELD" value="{@firstname@}"/> - <column name="SORTING" valueNumeric="2"/> - <column name="EXPORTTEMPLATEFIELDID" value="10194e81-65d8-4a12-acd3-123d6a692fba"/> + <column name="EXPORTTEMPLATEFIELDID" value="064fcc0b-2a26-4dc4-9d90-4289022b5638" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="PROJECTCODE" /> + <column name="SORTING" valueNumeric="1" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/> - <column name="FIELD" value="{@country@}"/> - <column name="SORTING" valueNumeric="5"/> - <column name="EXPORTTEMPLATEFIELDID" value="224cf307-fe26-4a6b-aae8-61190a2bff19"/> + <column name="EXPORTTEMPLATEFIELDID" value="07ff173f-23db-4b04-9cde-d3c278ab999f" /> + <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3" /> + <column name="FIELD" value="STANDARD_COUNTRY" /> + <column name="SORTING" valueNumeric="2" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="86865c59-aa8b-4511-bf3d-b069395c684d" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/> - <column name="FIELD" value="{@salutation@}"/> - <column name="SORTING" valueNumeric="1"/> - <column name="EXPORTTEMPLATEFIELDID" value="300aeca0-0de8-4225-99ce-bcbb850016aa"/> + <column name="EXPORTTEMPLATEFIELDID" value="0d50e14b-4447-488c-b1ca-ec093bc5440a" /> + <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3" /> + <column name="FIELD" value="ADDRESS_ID" /> + <column name="SORTING" valueNumeric="5" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="86865c59-aa8b-4511-bf3d-b069395c684d" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/> - <column name="FIELD" value="{@lastname@}"/> - <column name="SORTING" valueNumeric="4"/> - <column name="EXPORTTEMPLATEFIELDID" value="330bc05f-501e-4774-85bc-046347829dda"/> + <column name="EXPORTTEMPLATEFIELDID" value="1428942a-f595-4d9a-8e30-8506b360eb9b" /> + <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a" /> + <column name="FIELD" value="STANDARD_ZIP" /> + <column name="SORTING" valueNumeric="6" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/> - <column name="FIELD" value="{@phone@}"/> - <column name="SORTING" valueNumeric="4"/> - <column name="EXPORTTEMPLATEFIELDID" value="334146d9-7950-4c59-9b07-d89eb57a0da2"/> + <column name="EXPORTTEMPLATEFIELDID" value="252abd36-6dbd-49cd-a7f4-e8d99a061d88" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="STARTDATE" /> + <column name="SORTING" valueNumeric="7" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/> - <column name="FIELD" value="{@firstname@}"/> - <column name="SORTING" valueNumeric="3"/> - <column name="EXPORTTEMPLATEFIELDID" value="34c65722-937f-4741-9c08-48a841e19527"/> + <column name="EXPORTTEMPLATEFIELDID" value="2a270e64-55c2-4521-a509-77a7c4f024cb" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="volumeWeighted" /> + <column name="SORTING" valueNumeric="13" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/> - <column name="FIELD" value="{@address@}"/> - <column name="SORTING" valueNumeric="5"/> - <column name="EXPORTTEMPLATEFIELDID" value="5ebc3ae4-80dd-497e-a26e-f275769f81e4"/> + <column name="EXPORTTEMPLATEFIELDID" value="2e686a67-ac5c-407b-9b38-2f40168efdb1" /> + <column name="EXPORTTEMPLATE_ID" value="5aaa7d13-3b12-45b5-a794-1f702e31051a" /> + <column name="FIELD" value="CONTACT_ID" /> + <column name="SORTING" valueNumeric="2" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="9dd3dadf-4a98-42b2-8ed3-534791b5dc9c" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/> - <column name="FIELD" value="{@zipCode@}"/> - <column name="SORTING" valueNumeric="7"/> - <column name="EXPORTTEMPLATEFIELDID" value="779f6222-d1e8-4ec3-953a-31cb27115b9a"/> + <column name="EXPORTTEMPLATEFIELDID" value="31be21ec-f403-42a3-a600-558b2e0133f3" /> + <column name="EXPORTTEMPLATE_ID" value="5aaa7d13-3b12-45b5-a794-1f702e31051a" /> + <column name="FIELD" value="EMAIL_ADDRESS" /> + <column name="SORTING" valueNumeric="3" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="9dd3dadf-4a98-42b2-8ed3-534791b5dc9c" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/> - <column name="FIELD" value="{@email@}"/> - <column name="SORTING" valueNumeric="5"/> - <column name="EXPORTTEMPLATEFIELDID" value="8fd83e1e-e2ef-499c-9425-0da511fdb6fb"/> + <column name="EXPORTTEMPLATEFIELDID" value="32872d18-d88d-40db-afee-3d5e8d1317ab" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="FIELD" value="CAMPAIGNSTEP_ID" /> + <column name="SORTING" valueNumeric="5" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="dbcc278e-bcc3-45d2-8315-502efbec6714" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/> - <column name="FIELD" value="{@salutation@}"/> - <column name="SORTING" valueNumeric="1"/> - <column name="EXPORTTEMPLATEFIELDID" value="a9fae3fa-e2c1-4c34-a264-e74bc93e6ac9"/> + <column name="EXPORTTEMPLATEFIELDID" value="34afc9f5-633d-4504-a04b-0e99b8b159a9" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="PHASE" /> + <column name="SORTING" valueNumeric="9" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/> - <column name="FIELD" value="{@salutation@}"/> - <column name="SORTING" valueNumeric="1"/> - <column name="EXPORTTEMPLATEFIELDID" value="acb36d07-089e-4a25-a0c2-694b06e74ae5"/> + <column name="EXPORTTEMPLATEFIELDID" value="3bac8770-f493-4500-b61c-ba8c8430eb6b" /> + <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a" /> + <column name="FIELD" value="STANDARD_COUNTRY" /> + <column name="SORTING" valueNumeric="5" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/> - <column name="FIELD" value="{@lastname@}"/> - <column name="SORTING" valueNumeric="3"/> - <column name="EXPORTTEMPLATEFIELDID" value="ba303e1b-40c9-4fef-bbdf-6d16ab0dbeb0"/> + <column name="EXPORTTEMPLATEFIELDID" value="43d1c9fa-bfb1-4d29-b03d-d7bda33e38f0" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="DATE_NEW" /> + <column name="SORTING" valueNumeric="6" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/> - <column name="FIELD" value="{@country@}"/> - <column name="SORTING" valueNumeric="2"/> - <column name="EXPORTTEMPLATEFIELDID" value="bfeb9284-6db4-4d15-a07b-9b3f21fe9c22"/> + <column name="EXPORTTEMPLATEFIELDID" value="4aa7c73e-4fae-4453-ba1f-740d291b0210" /> + <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81" /> + <column name="FIELD" value="LASTNAME" /> + <column name="SORTING" valueNumeric="3" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="408eba99-bcc3-4308-9b2c-1a4495e01a0f" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/> - <column name="FIELD" value="{@address@}"/> - <column name="SORTING" valueNumeric="8"/> - <column name="EXPORTTEMPLATEFIELDID" value="bffb3d69-7774-438e-85b2-81fc0629462a"/> + <column name="EXPORTTEMPLATEFIELDID" value="58a0832a-05bd-4fc6-b190-7224caf01ba8" /> + <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81" /> + <column name="FIELD" value="SALUTATION" /> + <column name="SORTING" valueNumeric="1" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="408eba99-bcc3-4308-9b2c-1a4495e01a0f" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/> - <column name="FIELD" value="{@region@}"/> - <column name="SORTING" valueNumeric="3"/> - <column name="EXPORTTEMPLATEFIELDID" value="c245bf8e-1d99-4d85-834c-64613bad5042"/> + <column name="EXPORTTEMPLATEFIELDID" value="58a2a677-8459-4292-a8c7-5818f3568cac" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="ENDDATE" /> + <column name="SORTING" valueNumeric="8" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/> - <column name="FIELD" value="{@zipCode@}"/> - <column name="SORTING" valueNumeric="4"/> - <column name="EXPORTTEMPLATEFIELDID" value="c39bb945-ecd2-4836-9cee-002178ae9709"/> + <column name="EXPORTTEMPLATEFIELDID" value="5c86ea95-be1f-4eb2-9b12-02bb35f5a532" /> + <column name="EXPORTTEMPLATE_ID" value="5aaa7d13-3b12-45b5-a794-1f702e31051a" /> + <column name="FIELD" value="NAME" /> + <column name="SORTING" valueNumeric="1" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="4fba481d-310a-45aa-b1ff-d1667dab141f" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/> - <column name="FIELD" value="{@phone@}"/> - <column name="SORTING" valueNumeric="4"/> - <column name="EXPORTTEMPLATEFIELDID" value="cacce4e9-c9ad-4dd3-ac43-79684ef57008"/> + <column name="EXPORTTEMPLATEFIELDID" value="7d36b12a-db74-4d21-908d-56902caaee86" /> + <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81" /> + <column name="FIELD" value="FIRSTNAME" /> + <column name="SORTING" valueNumeric="2" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="408eba99-bcc3-4308-9b2c-1a4495e01a0f" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/> - <column name="FIELD" value="{@email@}"/> - <column name="SORTING" valueNumeric="5"/> - <column name="EXPORTTEMPLATEFIELDID" value="d01169d3-aab0-4233-b5ec-02ede86995cf"/> + <column name="EXPORTTEMPLATEFIELDID" value="7db7cf51-5da9-41f4-911d-87f322c1bc68" /> + <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a" /> + <column name="FIELD" value="ADDRESS_ID" /> + <column name="SORTING" valueNumeric="7" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/> - <column name="FIELD" value="{@orgname@}"/> - <column name="SORTING" valueNumeric="1"/> - <column name="EXPORTTEMPLATEFIELDID" value="e153ea76-5e68-497a-8a3e-9bb40ce734b3"/> + <column name="EXPORTTEMPLATEFIELDID" value="896ec040-5b57-4ca6-b4e5-42cadd18682a" /> + <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a" /> + <column name="FIELD" value="SALUTATION" /> + <column name="SORTING" valueNumeric="1" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/> - <column name="FIELD" value="{@title@}"/> - <column name="SORTING" valueNumeric="2"/> - <column name="EXPORTTEMPLATEFIELDID" value="e1b5c9c8-846a-4195-af5c-09e923c1c1c6"/> + <column name="EXPORTTEMPLATEFIELDID" value="8e0f578f-43dc-43d3-8c48-ec174f466c23" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="FIELD" value="STANDARD_EMAIL_COMMUNICATION" /> + <column name="SORTING" valueNumeric="7" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="dbcc278e-bcc3-45d2-8315-502efbec6714" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/> - <column name="FIELD" value="{@firstname@}"/> - <column name="SORTING" valueNumeric="2"/> - <column name="EXPORTTEMPLATEFIELDID" value="e319ac75-3468-4167-8f0d-568a0dfaef7d"/> + <column name="EXPORTTEMPLATEFIELDID" value="97607099-0219-4245-a5e7-a340973e74ea" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="FIELD" value="STANDARD_PHONE_COMMUNICATION" /> + <column name="SORTING" valueNumeric="8" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="dbcc278e-bcc3-45d2-8315-502efbec6714" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> <insert tableName="exporttemplatefield"> - <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/> - <column name="FIELD" value="{@region@}"/> - <column name="SORTING" valueNumeric="6"/> - <column name="EXPORTTEMPLATEFIELDID" value="e9f1cd83-5652-4f5b-913b-40dea9eda1c8"/> + <column name="EXPORTTEMPLATEFIELDID" value="98ab5af0-f780-4723-b64f-9dc186eb4fc5" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="VOLUME" /> + <column name="SORTING" valueNumeric="12" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="98deeade-09b5-46b3-b0d8-b8ecc3950f90" /> + <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81" /> + <column name="FIELD" value="STANDARD_EMAIL_COMMUNICATION" /> + <column name="SORTING" valueNumeric="5" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="408eba99-bcc3-4308-9b2c-1a4495e01a0f" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="999b389f-2e64-433d-8acc-f1a62f49942c" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="PROBABILITY" /> + <column name="SORTING" valueNumeric="11" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="9bd8c67a-2a07-4998-b47e-b6eccfc28a9b" /> + <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a" /> + <column name="FIELD" value="TITLE" /> + <column name="SORTING" valueNumeric="2" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="9e6cc3fa-dbb1-49bd-839b-6999f289194c" /> + <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a" /> + <column name="FIELD" value="FIRSTNAME" /> + <column name="SORTING" valueNumeric="3" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="a2f51b99-0add-424c-ba85-8ad690b4d33d" /> + <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3" /> + <column name="FIELD" value="STANDARD_ZIP" /> + <column name="SORTING" valueNumeric="4" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="86865c59-aa8b-4511-bf3d-b069395c684d" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="a3fd3c48-9b00-4de6-9fed-044b89266508" /> + <column name="EXPORTTEMPLATE_ID" value="5aaa7d13-3b12-45b5-a794-1f702e31051a" /> + <column name="FIELD" value="STATUS" /> + <column name="SORTING" valueNumeric="5" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="9dd3dadf-4a98-42b2-8ed3-534791b5dc9c" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="aa33fc39-ca51-4cd9-a11a-e9fbdb2e2d2d" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="PROJECTTITLE" /> + <column name="SORTING" valueNumeric="2" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="ab0190b1-fbb5-485f-ade7-e1953f14bc27" /> + <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81" /> + <column name="FIELD" value="STANDARD_PHONE_COMMUNICATION" /> + <column name="SORTING" valueNumeric="4" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="408eba99-bcc3-4308-9b2c-1a4495e01a0f" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="ada14af6-4daf-4448-bbbf-baa70c3b69ac" /> + <column name="EXPORTTEMPLATE_ID" value="5aaa7d13-3b12-45b5-a794-1f702e31051a" /> + <column name="FIELD" value="IS_TEST_RECIPIENT" /> + <column name="SORTING" valueNumeric="4" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="9dd3dadf-4a98-42b2-8ed3-534791b5dc9c" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="adf9b254-aece-4a52-a48b-ddd559507810" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="STATUS" /> + <column name="SORTING" valueNumeric="10" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="ae2c4074-c8b2-458e-8afc-e395b7d0b033" /> + <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3" /> + <column name="FIELD" value="NAME" /> + <column name="SORTING" valueNumeric="1" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="86865c59-aa8b-4511-bf3d-b069395c684d" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="c1fc93ee-93c0-46c5-a5f8-50ee48730fff" /> + <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a" /> + <column name="FIELD" value="LASTNAME" /> + <column name="SORTING" valueNumeric="4" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="c245bf8e-1d99-4d85-834c-64613bad5042" /> + <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3" /> + <column name="FIELD" value="{@region@}" /> + <column name="SORTING" valueNumeric="3" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="c6958ee7-0043-40c5-9e4d-36e0539a7108" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="InactiveTime" /> + <column name="SORTING" valueNumeric="5" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="c6c5b3f4-463a-46d4-a41d-e626d0779ffe" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="CONTACT_ID" /> + <column name="SORTING" valueNumeric="3" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="cef3af15-0882-4d9b-998e-33c1a8a3bb16" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="FIELD" value="FIRSTNAME" /> + <column name="SORTING" valueNumeric="2" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e0a19680-fd01-49a3-9993-ac57fc37d403" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="d32d0a6b-c315-47e8-bedf-ff49b529d232" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="FIELD" value="LASTNAME" /> + <column name="SORTING" valueNumeric="3" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e0a19680-fd01-49a3-9993-ac57fc37d403" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="db86c14a-3eef-4910-aa06-ff2d1a19d92d" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="FIELD" value="NAME" /> + <column name="SORTING" valueNumeric="1" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="a148ad53-b921-45f0-81d4-e573a5c05661" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="dbb557ad-00eb-402f-b4e7-e90a86d228d4" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="FIELD" value="CLASSIFICATIONVALUE" /> + <column name="SORTING" valueNumeric="4" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="e296802a-04a5-4860-8f8c-63be42dd932b" /> + <column name="EXPORTTEMPLATE_ID" value="5aaa7d13-3b12-45b5-a794-1f702e31051a" /> + <column name="FIELD" value="SENTDATE" /> + <column name="SORTING" valueNumeric="6" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="9dd3dadf-4a98-42b2-8ed3-534791b5dc9c" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplatefield"> + <column name="EXPORTTEMPLATEFIELDID" value="f0311199-5555-4eda-8964-752857d0bbb9" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="FIELD" value="CONTACT_ORGANISATION_ID" /> + <column name="SORTING" valueNumeric="4" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="dbcc278e-bcc3-45d2-8315-502efbec6714" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> </changeSet> -</databaseChangeLog> \ No newline at end of file +</databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplateplaceofuse.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplateplaceofuse.xml index a48b54def84be4bde31a284e85a5d5dc0c82855e..40a5c48680df6d7a3f727f01428cddaa26224117 100644 --- a/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplateplaceofuse.xml +++ b/.liquibase/Data_alias/basic/_demoData/generatedData/exporttemplateplaceofuse.xml @@ -1,26 +1,161 @@ -<?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="autogenerated" id="fb7d1b86-3a39-4fe4-b963-0c61abebca52"> - <delete tableName="exporttemplateplaceofuse"/> +<?xml version="1.0" encoding="UTF-8"?> +<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-4.1.xsd"> + <changeSet author="s.pongratz" id="2ab02746-44f6-414e-922c-0b43ea0f3ab3"> <insert tableName="exporttemplateplaceofuse"> - <column name="EXPORTTEMPLATE_ID" value="84eb1373-3745-4455-a0a7-32cf62c8d4dc"/> - <column name="EXPORTTEMPLATEPLACEOFUSEID" value="135975c6-6c7a-408b-93e3-f04239503ff0"/> - <column name="PLACEOFUSE" value="Person"/> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="408eba99-bcc3-4308-9b2c-1a4495e01a0f" /> + <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81" /> + <column name="PLACEOFUSE" value="Person" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" /> + <column name="OBJECT_FILTER" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" value="Admin" /> + <column name="DATE_EDIT" valueDate="2021-09-29T08:05:30" /> </insert> <insert tableName="exporttemplateplaceofuse"> - <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81"/> - <column name="EXPORTTEMPLATEPLACEOFUSEID" value="408eba99-bcc3-4308-9b2c-1a4495e01a0f"/> - <column name="PLACEOFUSE" value="Person"/> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819" /> + <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a" /> + <column name="PLACEOFUSE" value="Person" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" /> + <column name="OBJECT_FILTER" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" value="Admin" /> + <column name="DATE_EDIT" valueDate="2021-09-29T08:40:37" /> </insert> <insert tableName="exporttemplateplaceofuse"> - <column name="EXPORTTEMPLATE_ID" value="86b48d2c-3850-4778-9240-45cf79396a0a"/> - <column name="EXPORTTEMPLATEPLACEOFUSEID" value="4f036ac7-b1bf-4667-9177-7c0d444b1819"/> - <column name="PLACEOFUSE" value="Person"/> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="4fba481d-310a-45aa-b1ff-d1667dab141f" /> + <column name="EXPORTTEMPLATE_ID" value="5aaa7d13-3b12-45b5-a794-1f702e31051a" /> + <column name="PLACEOFUSE" value="BulkMail" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" /> + <column name="OBJECT_FILTER" /> + <column name="USER_NEW" value="Admin" /> + <column name="DATE_NEW" valueDate="2021-09-30T11:19:47" /> + <column name="USER_EDIT" value="Admin" /> + <column name="DATE_EDIT" valueDate="2021-09-30T11:40:16" /> </insert> <insert tableName="exporttemplateplaceofuse"> - <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3"/> - <column name="EXPORTTEMPLATEPLACEOFUSEID" value="86865c59-aa8b-4511-bf3d-b069395c684d"/> - <column name="PLACEOFUSE" value="Organisation"/> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="510ce9f1-9903-4978-9457-7bb85e85c71c" /> + <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3" /> + <column name="PLACEOFUSE" value="Offeritem" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="94b03949-623a-4898-91cf-32ff21befaac" /> + <column name="OBJECT_FILTER" value="{"entity":"Offeritem_entity","filter":{"type":"group","operator":"AND","childs":[]}}" /> + <column name="USER_NEW" value="Admin" /> + <column name="DATE_NEW" valueDate="2021-09-29T09:30:33" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplateplaceofuse"> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="58390700-4308-45c2-865f-ea86cb38e7f5" /> + <column name="EXPORTTEMPLATE_ID" value="3acf26f9-4807-4661-8084-c0c21c593c81" /> + <column name="PLACEOFUSE" value="Address" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="408eba99-bcc3-4308-9b2c-1a4495e01a0f" /> + <column name="OBJECT_FILTER" value="{"entity":"Address_entity","filter":{"type":"group","operator":"AND","childs":[]}}" /> + <column name="USER_NEW" value="Admin" /> + <column name="DATE_NEW" valueDate="2021-09-29T08:26:27" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplateplaceofuse"> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="58c8768c-0d1b-4a68-a7c1-4d2d35fe3431" /> + <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3" /> + <column name="PLACEOFUSE" value="Address" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="86865c59-aa8b-4511-bf3d-b069395c684d" /> + <column name="OBJECT_FILTER" value="{"entity":"Address_entity","filter":{"type":"group","operator":"AND","childs":[]}}" /> + <column name="USER_NEW" value="Admin" /> + <column name="DATE_NEW" valueDate="2021-09-29T09:32:08" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplateplaceofuse"> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="86865c59-aa8b-4511-bf3d-b069395c684d" /> + <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3" /> + <column name="PLACEOFUSE" value="Organisation" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" /> + <column name="OBJECT_FILTER" /> + <column name="USER_NEW" /> + <column name="DATE_NEW" /> + <column name="USER_EDIT" value="Admin" /> + <column name="DATE_EDIT" valueDate="2021-09-29T08:49:04" /> + </insert> + <insert tableName="exporttemplateplaceofuse"> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="94b03949-623a-4898-91cf-32ff21befaac" /> + <column name="EXPORTTEMPLATE_ID" value="f399dc64-11b8-4490-ad24-53c9c3fc6df3" /> + <column name="PLACEOFUSE" value="Offer" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="86865c59-aa8b-4511-bf3d-b069395c684d" /> + <column name="OBJECT_FILTER" value="{"entity":"Offer_entity","filter":{"type":"group","operator":"AND","childs":[]}}" /> + <column name="USER_NEW" value="Admin" /> + <column name="DATE_NEW" valueDate="2021-09-29T09:30:23" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplateplaceofuse"> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="9dd3dadf-4a98-42b2-8ed3-534791b5dc9c" /> + <column name="EXPORTTEMPLATE_ID" value="5aaa7d13-3b12-45b5-a794-1f702e31051a" /> + <column name="PLACEOFUSE" value="BulkMailRecipient" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="4fba481d-310a-45aa-b1ff-d1667dab141f" /> + <column name="OBJECT_FILTER" value="{"entity":"BulkMailRecipient_entity","filter":{"type":"group","operator":"AND","childs":[]}}" /> + <column name="USER_NEW" value="Admin" /> + <column name="DATE_NEW" valueDate="2021-09-30T11:20:24" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplateplaceofuse"> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="a148ad53-b921-45f0-81d4-e573a5c05661" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="PLACEOFUSE" value="Campaign" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" /> + <column name="OBJECT_FILTER" /> + <column name="USER_NEW" value="Admin" /> + <column name="DATE_NEW" valueDate="2021-09-30T11:04:56" /> + <column name="USER_EDIT" value="Admin" /> + <column name="DATE_EDIT" valueDate="2021-09-30T11:07:11" /> + </insert> + <insert tableName="exporttemplateplaceofuse"> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="dbcc278e-bcc3-45d2-8315-502efbec6714" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="PLACEOFUSE" value="CampaignParticipant" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="a148ad53-b921-45f0-81d4-e573a5c05661" /> + <column name="OBJECT_FILTER" value="{"entity":"CampaignParticipant_entity","filter":{"type":"group","operator":"AND","childs":[]}}" /> + <column name="USER_NEW" value="Admin" /> + <column name="DATE_NEW" valueDate="2021-09-30T11:07:59" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplateplaceofuse"> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="e0a19680-fd01-49a3-9993-ac57fc37d403" /> + <column name="EXPORTTEMPLATE_ID" value="8a7fefcd-3e35-4bbf-8ad2-f10d4ed1d66b" /> + <column name="PLACEOFUSE" value="Person" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" value="dbcc278e-bcc3-45d2-8315-502efbec6714" /> + <column name="OBJECT_FILTER" value="{"entity":"Person_entity","filter":{"type":"group","operator":"AND","childs":[]}}" /> + <column name="USER_NEW" value="Admin" /> + <column name="DATE_NEW" valueDate="2021-09-30T11:25:58" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> + </insert> + <insert tableName="exporttemplateplaceofuse"> + <column name="EXPORTTEMPLATEPLACEOFUSEID" value="e6f81233-685f-434c-99e4-4ab2c4adbeff" /> + <column name="EXPORTTEMPLATE_ID" value="726f7fa4-510f-407b-b42c-53f70df3f529" /> + <column name="PLACEOFUSE" value="Salesproject" /> + <column name="TITLE" /> + <column name="EXPORTTEMPLATEPLACEOFUSE_ID" /> + <column name="OBJECT_FILTER" /> + <column name="USER_NEW" value="Admin" /> + <column name="DATE_NEW" valueDate="2021-09-30T11:42:32" /> + <column name="USER_EDIT" /> + <column name="DATE_EDIT" /> </insert> </changeSet> -</databaseChangeLog> \ No newline at end of file +</databaseChangeLog> diff --git a/.liquibase/Data_alias/changelog.xml b/.liquibase/Data_alias/changelog.xml index e211a0f400b6d71748232707325c22af7fbf936c..b55ed31802b0171eb979ba27c488a46982645380 100644 --- a/.liquibase/Data_alias/changelog.xml +++ b/.liquibase/Data_alias/changelog.xml @@ -28,7 +28,7 @@ <include relativeToChangelogFile="true" file="basic/2021.1.2/changelog.xml"/> <include relativeToChangelogFile="true" file="basic/2021.1.3/changelog.xml"/> <include relativeToChangelogFile="true" file="basic/2021.2.0/changelog.xml"/> - + <include relativeToChangelogFile="true" file="basic/workflows/changelog.xml" context="workflow"/> <include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/> </databaseChangeLog> \ No newline at end of file diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index d6205b14448e2c879d925663c600583bc3781067..ba8a6cf1629d22cd4c2bcaae90d4f114303ecb31 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -14332,6 +14332,104 @@ </entityDependency> </dependencies> </entityFieldDb> + <entityFieldDb> + <name>EXPORTTEMPLATEPLACEOFUSE_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OBJECT_FILTER</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="-1" /> + <size v="2147483647" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>TITLE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="150" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -14658,6 +14756,76 @@ </entityDependency> </dependencies> </entityFieldDb> + <entityFieldDb> + <name>DATE_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>EXPORTTEMPLATEPLACEOFUSE_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> diff --git a/aliasDefinition/Data_alias_noAudit/Data_alias_noAudit.aod b/aliasDefinition/Data_alias_noAudit/Data_alias_noAudit.aod index b3519c357f472cb7e6708fa5e34c80e7d237ab3a..8ba25ef273b8803d603907d914676fe6b3ce1178 100644 --- a/aliasDefinition/Data_alias_noAudit/Data_alias_noAudit.aod +++ b/aliasDefinition/Data_alias_noAudit/Data_alias_noAudit.aod @@ -375,6 +375,104 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>EXPORTTEMPLATEPLACEOFUSE_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OBJECT_FILTER</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="-1" /> + <size v="2147483647" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>TITLE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="150" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> @@ -14589,6 +14687,76 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>DATE_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DATE_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="93" /> + <size v="19" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_NEW</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>USER_EDIT</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="50" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>EXPORTTEMPLATEPLACEOFUSE_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="true" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> diff --git a/entity/BulkMail_entity/BulkMail_entity.aod b/entity/BulkMail_entity/BulkMail_entity.aod index 19f43ebcb586a085f8f43e823fd2d4dace177c97..5a95e209f60d6d026a2f8406f132dc440eaa1b37 100644 --- a/entity/BulkMail_entity/BulkMail_entity.aod +++ b/entity/BulkMail_entity/BulkMail_entity.aod @@ -550,6 +550,17 @@ <stateProcess>%aditoprj%/entity/BulkMail_entity/entityfields/observeactionogroup/children/cancelobservation/stateProcess.js</stateProcess> <titleProcess>%aditoprj%/entity/BulkMail_entity/entityfields/observeactionogroup/children/cancelobservation/titleProcess.js</titleProcess> </entityActionField> + <entityActionField> + <name>export</name> + <title>Export</title> + <onActionProcess>%aditoprj%/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/onActionProcess.js</onActionProcess> + <isMenuAction v="true" /> + <isObjectAction v="false" /> + <iconId>NEON:EXPORT</iconId> + <stateProcess>%aditoprj%/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/stateProcess.js</stateProcess> + <tooltip>Export fields of this table</tooltip> + <tooltipProcess>%aditoprj%/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/tooltipProcess.js</tooltipProcess> + </entityActionField> </children> </entityActionGroup> <entityActionField> diff --git a/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/onActionProcess.js b/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..6c68dcef71d0a7db12fd4d25819640764899dbad --- /dev/null +++ b/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/onActionProcess.js @@ -0,0 +1,11 @@ +import("ExportTemplate_lib"); +import("system.vars"); + +var selection = vars.get("$sys.selection"); + +if(selection.length == 0) //no selection -> use Filtercondition; +{ + selection = vars.get("$sys.filter"); +} + +ExportTemplateUtils.addParticipants(JSON.stringify(selection), vars.get("$sys.currentcontextname")); \ No newline at end of file diff --git a/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/stateProcess.js b/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7fc578ee7942eeb948f08d3dd86f5950d3fa1c41 --- /dev/null +++ b/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/stateProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("FilterViewAction_lib"); +import("system.vars"); + +var contactCount = vars.get("$sys.datarowcount"); + +result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount)); \ No newline at end of file diff --git a/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/tooltipProcess.js b/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/tooltipProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4aaaed5c074ef854441aa45e3e7993b2f77c04c4 --- /dev/null +++ b/entity/BulkMail_entity/entityfields/observeactionogroup/children/export/tooltipProcess.js @@ -0,0 +1,4 @@ +import("system.translate"); +import("system.result"); + +result.string(translate.text("Export columns using a exporttemplate")); \ No newline at end of file diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod index 15fab50f35ce1f2913fcb8acb86e88c0b67304c8..f2379d3a6494932a6dd60629f32c45c4a53c33f3 100644 --- a/entity/Campaign_entity/Campaign_entity.aod +++ b/entity/Campaign_entity/Campaign_entity.aod @@ -42,6 +42,17 @@ <stateProcess>%aditoprj%/entity/Campaign_entity/entityfields/observeactiongroup/children/cancelobservation/stateProcess.js</stateProcess> <titleProcess>%aditoprj%/entity/Campaign_entity/entityfields/observeactiongroup/children/cancelobservation/titleProcess.js</titleProcess> </entityActionField> + <entityActionField> + <name>export</name> + <title>Export</title> + <onActionProcess>%aditoprj%/entity/Campaign_entity/entityfields/observeactiongroup/children/export/onActionProcess.js</onActionProcess> + <isMenuAction v="true" /> + <isObjectAction v="false" /> + <iconId>NEON:EXPORT</iconId> + <stateProcess>%aditoprj%/entity/Campaign_entity/entityfields/observeactiongroup/children/export/stateProcess.js</stateProcess> + <tooltip>Export fields of this table</tooltip> + <tooltipProcess>%aditoprj%/entity/Campaign_entity/entityfields/observeactiongroup/children/export/tooltipProcess.js</tooltipProcess> + </entityActionField> </children> </entityActionGroup> <entityProvider> diff --git a/entity/Campaign_entity/entityfields/observeactiongroup/children/export/onActionProcess.js b/entity/Campaign_entity/entityfields/observeactiongroup/children/export/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..6c68dcef71d0a7db12fd4d25819640764899dbad --- /dev/null +++ b/entity/Campaign_entity/entityfields/observeactiongroup/children/export/onActionProcess.js @@ -0,0 +1,11 @@ +import("ExportTemplate_lib"); +import("system.vars"); + +var selection = vars.get("$sys.selection"); + +if(selection.length == 0) //no selection -> use Filtercondition; +{ + selection = vars.get("$sys.filter"); +} + +ExportTemplateUtils.addParticipants(JSON.stringify(selection), vars.get("$sys.currentcontextname")); \ No newline at end of file diff --git a/entity/Campaign_entity/entityfields/observeactiongroup/children/export/stateProcess.js b/entity/Campaign_entity/entityfields/observeactiongroup/children/export/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7fc578ee7942eeb948f08d3dd86f5950d3fa1c41 --- /dev/null +++ b/entity/Campaign_entity/entityfields/observeactiongroup/children/export/stateProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("FilterViewAction_lib"); +import("system.vars"); + +var contactCount = vars.get("$sys.datarowcount"); + +result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount)); \ No newline at end of file diff --git a/entity/Campaign_entity/entityfields/observeactiongroup/children/export/tooltipProcess.js b/entity/Campaign_entity/entityfields/observeactiongroup/children/export/tooltipProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4aaaed5c074ef854441aa45e3e7993b2f77c04c4 --- /dev/null +++ b/entity/Campaign_entity/entityfields/observeactiongroup/children/export/tooltipProcess.js @@ -0,0 +1,4 @@ +import("system.translate"); +import("system.result"); + +result.string(translate.text("Export columns using a exporttemplate")); \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/ExportTemplateField_entity.aod b/entity/ExportTemplateField_entity/ExportTemplateField_entity.aod index 971d3efbf5b977a3fb4487665096b021cc0616fe..657050d20ec94a04c0eff6c74a61d1c7e04bb17e 100644 --- a/entity/ExportTemplateField_entity/ExportTemplateField_entity.aod +++ b/entity/ExportTemplateField_entity/ExportTemplateField_entity.aod @@ -4,6 +4,11 @@ <title>Export Template Field</title> <majorModelMode>DISTRIBUTED</majorModelMode> <documentation>%aditoprj%/entity/ExportTemplateField_entity/documentation.adoc</documentation> + <siblings> + <element>ExportTemplatePlaceOfUse_entity</element> + </siblings> + <grantUpdate v="false" /> + <contentTitleProcess>%aditoprj%/entity/ExportTemplateField_entity/contentTitleProcess.js</contentTitleProcess> <titlePlural>Export Template Fields</titlePlural> <recordContainer>db</recordContainer> <entityFields> @@ -29,13 +34,20 @@ <title>Field</title> <mandatory v="true" /> <dropDownProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/field/dropDownProcess.js</dropDownProcess> + <stateProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/field/stateProcess.js</stateProcess> + <displayValueProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/field/displayValueProcess.js</displayValueProcess> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> </entityField> <entityProvider> <name>ExportTemplateFields</name> <documentation>%aditoprj%/entity/ExportTemplateField_entity/entityfields/exporttemplatefields/documentation.adoc</documentation> </entityProvider> <entityParameter> - <name>ExportTemplateField_param</name> + <name>ExportTemplateId_param</name> <expose v="true" /> </entityParameter> <entityField> @@ -44,12 +56,75 @@ <contentType>NUMBER</contentType> <outputFormat>###</outputFormat> <inputFormat>###</inputFormat> - <mandatory v="true" /> + <mandatory v="false" /> </entityField> <entityProvider> <name>#PROVIDER_AGGREGATES</name> <useAggregates v="true" /> </entityProvider> + <entityField> + <name>DATE_NEW</name> + <valueProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <valueProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/date_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_NEW</name> + <valueProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <valueProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>ExportTemplatePlacesOfUse</name> + <dependency> + <name>dependency</name> + <entityName>ExportTemplatePlaceOfUse_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + <children> + <entityParameter> + <name>ExportTemplateId_param</name> + <valueProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>EXPORTTEMPLATEPLACEOFUSE_ID</name> + <title>Place of Use</title> + <consumer>ExportTemplatePlacesOfUse</consumer> + <mandatory v="true" /> + <onValueChange>%aditoprj%/entity/ExportTemplateField_entity/entityfields/exporttemplateplaceofuse_id/onValueChange.js</onValueChange> + </entityField> + <entityField> + <name>placeOfUse</name> + <title>Place of Use</title> + <valueProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/placeofuse/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/placeofuse/displayValueProcess.js</displayValueProcess> + </entityField> + <entityActionGroup> + <name>MoveActions</name> + <title>Move</title> + <children> + <entityActionField> + <name>Down</name> + <title></title> + <onActionProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/moveactions/children/down/onActionProcess.js</onActionProcess> + <iconId>VAADIN:ANGLE_DOWN</iconId> + <stateProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/moveactions/children/down/stateProcess.js</stateProcess> + </entityActionField> + <entityActionField> + <name>Up</name> + <title></title> + <onActionProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/moveactions/children/up/onActionProcess.js</onActionProcess> + <iconId>VAADIN:ANGLE_UP</iconId> + <stateProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/moveactions/children/up/stateProcess.js</stateProcess> + </entityActionField> + </children> + </entityActionGroup> </entityFields> <recordContainers> <dbRecordContainer> @@ -58,6 +133,8 @@ <isReadOnly v="false" /> <conditionProcess>%aditoprj%/entity/ExportTemplateField_entity/recordcontainers/db/conditionProcess.js</conditionProcess> <orderClauseProcess>%aditoprj%/entity/ExportTemplateField_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> + <onDBInsert>%aditoprj%/entity/ExportTemplateField_entity/recordcontainers/db/onDBInsert.js</onDBInsert> + <onDBDelete>%aditoprj%/entity/ExportTemplateField_entity/recordcontainers/db/onDBDelete.js</onDBDelete> <alias>Data_alias</alias> <recordFieldMappings> <dbRecordFieldMapping> @@ -76,10 +153,30 @@ <name>SORTING.value</name> <recordfield>EXPORTTEMPLATEFIELD.SORTING</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>EXPORTTEMPLATEFIELD.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>EXPORTTEMPLATEFIELD.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>EXPORTTEMPLATEFIELD.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>EXPORTTEMPLATEFIELD.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>EXPORTTEMPLATEPLACEOFUSE_ID.value</name> + <recordfield>EXPORTTEMPLATEFIELD.EXPORTTEMPLATEPLACEOFUSE_ID</recordfield> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> - <name>7236de85-f623-4f6a-9ff5-d9014a2f7a4c</name> + <name>4cec9829-254f-4588-9abf-a224a390a172</name> <tableName>EXPORTTEMPLATEFIELD</tableName> <primaryKey>EXPORTTEMPLATEFIELDID</primaryKey> <isUIDTable v="true" /> diff --git a/entity/ExportTemplateField_entity/contentTitleProcess.js b/entity/ExportTemplateField_entity/contentTitleProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..52bd0deb2169ccfd1f5d531869b4e2fe4304d298 --- /dev/null +++ b/entity/ExportTemplateField_entity/contentTitleProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.FIELD")); \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/date_edit/valueProcess.js b/entity/ExportTemplateField_entity/entityfields/date_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2af46a8e46789056c6c341a8e4e087f8e1edc0c4 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/date_edit/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.date")); +} \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/date_new/valueProcess.js b/entity/ExportTemplateField_entity/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d5cf2ff4f91546bf853125bec438493692a5e048 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/date_new/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.date")); +} \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/exporttemplate_id/valueProcess.js b/entity/ExportTemplateField_entity/entityfields/exporttemplate_id/valueProcess.js index 76dc5ef71d45ba4b444c21383abcbd8281f1e26f..fe71bb2cb95ec8ed9488118ac627cf17d082bc69 100644 --- a/entity/ExportTemplateField_entity/entityfields/exporttemplate_id/valueProcess.js +++ b/entity/ExportTemplateField_entity/entityfields/exporttemplate_id/valueProcess.js @@ -1,9 +1,10 @@ import("system.result"); import("system.neon"); import("system.vars"); +import("Util_lib"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +if(Utils.isNotNullOrEmptyString(vars.getString("$param.ExportTemplateId_param")) && Utils.isNullOrEmptyString(vars.getString("$this.value"))) { - if(vars.exists("$param.ExportTemplateField_param") && vars.get("$param.ExportTemplateField_param") != null) - result.string(vars.getString("$param.ExportTemplateField_param")); -} \ No newline at end of file + result.string(vars.getString("$param.ExportTemplateId_param")); +} + \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/exporttemplateplaceofuses/children/exporttemplateid_param/valueProcess.js b/entity/ExportTemplateField_entity/entityfields/exporttemplateplaceofuses/children/exporttemplateid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..be49d03de451c24366fc615db9b981efb4e15661 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/exporttemplateplaceofuses/children/exporttemplateid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$param.ExportTemplateId_param")) \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js b/entity/ExportTemplateField_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..be49d03de451c24366fc615db9b981efb4e15661 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$param.ExportTemplateId_param")) \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/field/displayValueProcess.js b/entity/ExportTemplateField_entity/entityfields/field/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..173f0d3ec44861d0b1c3e5c3da2a8ae9559e72ad --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/field/displayValueProcess.js @@ -0,0 +1,18 @@ +import("system.result"); +import("system.project"); +import("Util_lib"); +import("system.vars"); +import("system.entities"); +import("Context_lib"); + +if (Utils.isNotNullOrEmptyString(vars.getString("$this.value"))) +{ + let type = vars.getString("$field.placeOfUse"); + + if (Utils.isNotNullOrEmptyString(type)) + { + var fields = project.getEntityStructure(ContextUtils.getEntity(type)).fields; + + result.string(fields[vars.getString("$this.value")].title); + } +} \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/field/dropDownProcess.js b/entity/ExportTemplateField_entity/entityfields/field/dropDownProcess.js index 3c830477d519292b231f502d1caa9cffc392f984..671728966e3d1b25b66fd779e4aad824133e89ab 100644 --- a/entity/ExportTemplateField_entity/entityfields/field/dropDownProcess.js +++ b/entity/ExportTemplateField_entity/entityfields/field/dropDownProcess.js @@ -1,15 +1,31 @@ +import("ExportTemplate_lib"); +import("Util_lib"); +import("system.vars"); +import("system.entities"); +import("Context_lib"); +import("system.project"); import("system.result"); import("Placeholder_lib"); -import("system.text") +import("system.text"); +let type = vars.getString("$field.placeOfUse"); -//The current selection of Exportfields is created by using the Placeholder function "PlaceholderUtils.getPlaceholders()". -//if you want to add more fields, you just have to add the function "CustomPlaceholderUtils.getPlaceholders()" to the dropDownProcess -//and add the desired Fields as placeholders in the CustomPlaceholder_lib. +if (!Utils.isNullOrEmpty(type)) +{ + var resultFields = []; + var entity = ContextUtils.getEntity(type); + var fields = project.getEntityStructure(entity).fields; + var excludeFields = ExportTemplateUtils.excludedFields()[entity] || []; + + for (var field in fields) + { + if (fields[field].fieldType == project.ENTITYFIELDTYPE_FIELD && excludeFields.indexOf(field) == -1) + { + let title = fields[field].title ? fields[field].title : fields[field].name; + resultFields.push([fields[field].name, title]); + } + + } - -var placeholders = PlaceholderUtils.getPlaceholders(null, true).map(function (placeholder){ - return [placeholder.getFormattedName(), placeholder.title || placeholder.getFormattedName()]; -}) - -result.object(placeholders); \ No newline at end of file + result.object(resultFields); +} diff --git a/entity/ExportTemplateField_entity/entityfields/field/stateProcess.js b/entity/ExportTemplateField_entity/entityfields/field/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..871d7d670a1603b16fc0a86ad3ad344a87eecba1 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/field/stateProcess.js @@ -0,0 +1,14 @@ +import("Util_lib"); +import("system.vars"); +import("system.result"); +import("system.neon"); + +if (Utils.isNullOrEmptyString(vars.get("$field.EXPORTTEMPLATEPLACEOFUSE_ID")) + && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} +else +{ + result.string(neon.COMPONENTSTATE_EDITABLE); +} diff --git a/entity/ExportTemplateField_entity/entityfields/moveactions/children/down/onActionProcess.js b/entity/ExportTemplateField_entity/entityfields/moveactions/children/down/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c06102416278aac37343d7c70a2151f57debd9f2 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/moveactions/children/down/onActionProcess.js @@ -0,0 +1,15 @@ +import("system.vars"); +import("Sql_lib"); +import("system.neon"); + +// The sorting value of the following field is set to the current sorting value +newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID")) +.and("EXPORTTEMPLATEFIELD.SORTING", parseInt(vars.get("$field.SORTING")) + 1) +.updateFields({"SORTING":vars.get("$field.SORTING")}, "EXPORTTEMPLATEFIELD"); + +// The sorting is increased by one for the current field +newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID")) +.and("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID", vars.get("$field.EXPORTTEMPLATEFIELDID")) +.updateFields({"SORTING":(parseInt(vars.get("$field.SORTING")) + 1)}, "EXPORTTEMPLATEFIELD"); + +neon.refreshAll(); \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/moveactions/children/down/stateProcess.js b/entity/ExportTemplateField_entity/entityfields/moveactions/children/down/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..aeb2fdc86a54722b08df6d06a7e6e99c691e8689 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/moveactions/children/down/stateProcess.js @@ -0,0 +1,14 @@ +import("Sql_lib"); +import("system.result"); +import("system.vars"); +import("system.neon"); + +let maxSorting = newSelect(new SqlMaskingUtils().max("SORTING")) +.from("EXPORTTEMPLATEFIELD") +.where("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID")) +.cell(); + +if (vars.get("$field.SORTING") == maxSorting) +{ + result.string(neon.COMPONENTSTATE_DISABLED); +} \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/moveactions/children/up/onActionProcess.js b/entity/ExportTemplateField_entity/entityfields/moveactions/children/up/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2835e61598f7386c73ac100e57f1ade18bc4d47e --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/moveactions/children/up/onActionProcess.js @@ -0,0 +1,13 @@ +import("system.vars"); +import("Sql_lib"); +import("system.neon"); + +newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID")) +.and("EXPORTTEMPLATEFIELD.SORTING", parseInt(vars.get("$field.SORTING")) - 1) +.updateFields({"SORTING":vars.get("$field.SORTING")}, "EXPORTTEMPLATEFIELD"); + +newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID")) +.and("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID", vars.get("$field.EXPORTTEMPLATEFIELDID")) +.updateFields({"SORTING":(parseInt(vars.get("$field.SORTING")) - 1)}, "EXPORTTEMPLATEFIELD"); + +neon.refreshAll(); \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/moveactions/children/up/stateProcess.js b/entity/ExportTemplateField_entity/entityfields/moveactions/children/up/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ff98b8b28e4578c4468b50ecef18acb36e628797 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/moveactions/children/up/stateProcess.js @@ -0,0 +1,9 @@ +import("Util_lib"); +import("system.result"); +import("system.vars"); +import("system.neon"); + +if (vars.get("$field.SORTING") == 1 || Utils.isNullOrEmpty(vars.get("$field.SORTING"))) +{ + result.string(neon.COMPONENTSTATE_DISABLED); +} \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/placeofuse/displayValueProcess.js b/entity/ExportTemplateField_entity/entityfields/placeofuse/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..1634464ae492abc975dd02449be0d684362faa23 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/placeofuse/displayValueProcess.js @@ -0,0 +1,11 @@ +import("Util_lib"); +import("system.vars"); +import("Context_lib"); +import("system.project"); +import("system.result"); + +if (Utils.isNotNullOrEmptyString(vars.getString("$this.value"))) +{ + let title = ContextUtils.getTranslatedTitle(vars.getString("$this.value")) || vars.getString("$this.value"); + result.string(title); +} \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/placeofuse/valueProcess.js b/entity/ExportTemplateField_entity/entityfields/placeofuse/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..6ff5f51c28d2599e9a73ee18b02d4d20a4bab195 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/placeofuse/valueProcess.js @@ -0,0 +1,22 @@ +import("Util_lib"); +import("system.result"); +import("system.entities"); +import("system.vars"); + +let loadConfig = entities.createConfigForLoadingConsumerRows() +.consumer("ExportTemplatePlacesOfUse") +.fields(["PLACEOFUSE", "#UID"]); + +let filtertConsumerRows = entities.getRows(loadConfig).find(_findUIDRow, { + UID: vars.get("$field.EXPORTTEMPLATEPLACEOFUSE_ID") +}); + +if (!Utils.isNullOrEmpty(filtertConsumerRows)) +{ + result.string(filtertConsumerRows["PLACEOFUSE"]); +} + +function _findUIDRow (pRow) +{ + return pRow["#UID"] === this.UID; +} \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/user_edit/valueProcess.js b/entity/ExportTemplateField_entity/entityfields/user_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..b874a7ac426b8e99383ac949299b9753e4951f2b --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/user_edit/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/entityfields/user_new/valueProcess.js b/entity/ExportTemplateField_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3f8db68b950a0505d6179cb67c14dde624c45070 --- /dev/null +++ b/entity/ExportTemplateField_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/recordcontainers/db/conditionProcess.js b/entity/ExportTemplateField_entity/recordcontainers/db/conditionProcess.js index 0a8fd4155c358a1f28eecdeba07050276ed58e5b..5195254f656b5dfbc0ad70e280064dcc56dc4458 100644 --- a/entity/ExportTemplateField_entity/recordcontainers/db/conditionProcess.js +++ b/entity/ExportTemplateField_entity/recordcontainers/db/conditionProcess.js @@ -2,6 +2,6 @@ import("system.vars"); import("system.result"); import("Sql_lib"); -var cond = newWhereIfSet("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", "$param.ExportTemplateField_param"); +var cond = newWhereIfSet("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", "$param.ExportTemplateId_param"); result.string(cond); diff --git a/entity/ExportTemplateField_entity/recordcontainers/db/onDBDelete.js b/entity/ExportTemplateField_entity/recordcontainers/db/onDBDelete.js new file mode 100644 index 0000000000000000000000000000000000000000..0ad3890b048495757cfe3eb70ac5d85356d19df0 --- /dev/null +++ b/entity/ExportTemplateField_entity/recordcontainers/db/onDBDelete.js @@ -0,0 +1,18 @@ +import("system.vars"); +import("Sql_lib"); +import("system.db"); + +let updateStatements = []; +let sorting = vars.get("$field.SORTING"); +let fields = newSelect("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID") +.from("EXPORTTEMPLATEFIELD") +.where("EXPORTTEMPLATEFIELD.SORTING",sorting, SqlBuilder.GREATER()) +.and("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID")) +.orderBy("EXPORTTEMPLATEFIELD.SORTING").arrayColumn(); + +fields.forEach(function (pFieldId, pIndex){ + updateStatements.push(newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID", pFieldId) + .buildUpdateStatement({"SORTING" : parseInt(sorting) + pIndex }, "EXPORTTEMPLATEFIELD")); +}); + +db.updates(updateStatements); \ No newline at end of file diff --git a/entity/ExportTemplateField_entity/recordcontainers/db/onDBInsert.js b/entity/ExportTemplateField_entity/recordcontainers/db/onDBInsert.js new file mode 100644 index 0000000000000000000000000000000000000000..f6607d593faf825e45e834c3bd225fc980dc5eca --- /dev/null +++ b/entity/ExportTemplateField_entity/recordcontainers/db/onDBInsert.js @@ -0,0 +1,13 @@ +import("system.vars"); +import("Sql_lib"); + +let sorting = newSelect([new SqlMaskingUtils().max("EXPORTTEMPLATEFIELD.SORTING")]) +.from("EXPORTTEMPLATEFIELD") +.where("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID")) +.cell(); + +sorting = parseInt(sorting); + +// The field is only sorted in the onInsert, so I can make sure that it is very likely that there are not two identical numbers. +newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID", vars.get("$local.uid")) + .updateFields({"SORTING" : ((sorting ? sorting : 0) +1) }, "EXPORTTEMPLATEFIELD") \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/ExportTemplatePlaceOfUse_entity.aod b/entity/ExportTemplatePlaceOfUse_entity/ExportTemplatePlaceOfUse_entity.aod index 5ef84de7e6b853b11d7cf013ed96e5f854cb3ef9..c641aa1da42c27646c590d0659e150ec4a1a24f8 100644 --- a/entity/ExportTemplatePlaceOfUse_entity/ExportTemplatePlaceOfUse_entity.aod +++ b/entity/ExportTemplatePlaceOfUse_entity/ExportTemplatePlaceOfUse_entity.aod @@ -4,18 +4,68 @@ <title>Place of Use</title> <majorModelMode>DISTRIBUTED</majorModelMode> <documentation>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/documentation.adoc</documentation> - <titlePlural>Places of Usage</titlePlural> + <siblings> + <element>ExportTemplateField_entity</element> + </siblings> + <grantUpdate v="false" /> + <contentTitleProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/contentTitleProcess.js</contentTitleProcess> + <titlePlural>Dependencies</titlePlural> <recordContainer>db</recordContainer> <entityFields> <entityProvider> <name>#PROVIDER</name> </entityProvider> + <entityActionField> + <name>openAdminView</name> + <title>Open admin view</title> + <onActionProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/openadminview/onActionProcess.js</onActionProcess> + <isMenuAction v="true" /> + <isObjectAction v="true" /> + <iconId>VAADIN:CURLY_BRACKETS</iconId> + <stateProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/openadminview/stateProcess.js</stateProcess> + </entityActionField> + <entityField> + <name>DATE_NEW</name> + <contentType>DATE</contentType> + <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <contentType>DATE</contentType> + <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/date_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_NEW</name> + <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityProvider> + <name>#PROVIDER_AGGREGATES</name> + <useAggregates v="true" /> + </entityProvider> <entityField> <name>EXPORTTEMPLATEPLACEOFUSEID</name> <title>EXPORTTEMPLATEPLACEOFUSEID</title> <mandatory v="true" /> <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuseid/valueProcess.js</valueProcess> </entityField> + <entityField> + <name>EXPORTTEMPLATEPLACEOFUSE_ID</name> + <title>Predecessor</title> + <consumer>ExportTemplatePlacesOfUse</consumer> + <mandatory v="true" /> + <mandatoryProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/mandatoryProcess.js</mandatoryProcess> + <stateProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/stateProcess.js</stateProcess> + <onValueChange>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> + </entityField> <entityField> <name>EXPORTTEMPLATE_ID</name> <title>Exporttemplate</title> @@ -26,69 +76,124 @@ <name>PLACEOFUSE</name> <documentation>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/documentation.adoc</documentation> <title>Place of use</title> - <consumer>ContextExportTemplatePlaceOfUse</consumer> + <consumer>Contexts</consumer> <mandatory v="true" /> + <stateProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/stateProcess.js</stateProcess> + <titleProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/titleProcess.js</titleProcess> <displayValueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/onValueChange.js</onValueChange> + </entityField> + <entityField> + <name>OBJECT_FILTER</name> + <title>Filter</title> + <contentType>FILTER_TREE</contentType> + <stateProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/object_filter/stateProcess.js</stateProcess> + <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/object_filter/valueProcess.js</valueProcess> </entityField> + <entityParameter> + <name>ExportTemplateId_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> <entityConsumer> - <name>ContextExportTemplatePlaceOfUse</name> + <name>Contexts</name> <dependency> <name>dependency</name> <entityName>Context_entity</entityName> - <fieldName>ContextTemplatePlaceOfUse</fieldName> + <fieldName>Exclusive</fieldName> </dependency> <children> <entityParameter> <name>InvertBlacklist_param</name> - <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/contextexporttemplateplaceofuse/children/invertblacklist_param/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/contexts/children/invertblacklist_param/valueProcess.js</valueProcess> </entityParameter> <entityParameter> <name>Blacklist_param</name> - <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/contextexporttemplateplaceofuse/children/blacklist_param/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/contexts/children/blacklist_param/valueProcess.js</valueProcess> </entityParameter> </children> </entityConsumer> <entityParameter> - <name>ExportTemplatePlaceOfUse_param</name> + <name>ExportTemplatePlaceOfUseID_param</name> <expose v="true" /> </entityParameter> - <entityProvider> - <name>ExportTemplatePlaceOfUser</name> - <documentation>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuser/documentation.adoc</documentation> + <entityParameter> + <name>IsMainPlaceOfUse_param</name> + <expose v="true" /> + </entityParameter> + <entityConsumer> + <name>ExportTemplatePlacesOfUse</name> + <dependency> + <name>dependency</name> + <entityName>#ENTITY</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> <children> <entityParameter> - <name>ExportTemplatePlaceOfUse_param</name> - <expose v="true" /> + <name>ExportTemplatePlaceOfUseID_param</name> + </entityParameter> + <entityParameter> + <name>ExportTemplateId_param</name> + <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js</valueProcess> </entityParameter> </children> - </entityProvider> - <entityProvider> - <name>#PROVIDER_AGGREGATES</name> - <useAggregates v="true" /> - </entityProvider> + </entityConsumer> + <entityField> + <name>TITLE</name> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> <name>db</name> + <isPageable v="false" /> + <hasDependentRecords v="true" /> <conditionProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <onDBDelete>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/recordcontainers/db/onDBDelete.js</onDBDelete> <alias>Data_alias</alias> <recordFieldMappings> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>EXPORTTEMPLATEPLACEOFUSE.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>EXPORTTEMPLATEPLACEOFUSE.DATE_NEW</recordfield> + </dbRecordFieldMapping> <dbRecordFieldMapping> <name>EXPORTTEMPLATE_ID.value</name> <recordfield>EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATE_ID</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>EXPORTTEMPLATEPLACEOFUSE_ID.value</name> + <recordfield>EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATEPLACEOFUSE_ID</recordfield> + </dbRecordFieldMapping> <dbRecordFieldMapping> <name>EXPORTTEMPLATEPLACEOFUSEID.value</name> <recordfield>EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATEPLACEOFUSEID</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_FILTER.value</name> + <recordfield>EXPORTTEMPLATEPLACEOFUSE.OBJECT_FILTER</recordfield> + </dbRecordFieldMapping> <dbRecordFieldMapping> <name>PLACEOFUSE.value</name> <recordfield>EXPORTTEMPLATEPLACEOFUSE.PLACEOFUSE</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>EXPORTTEMPLATEPLACEOFUSE.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>EXPORTTEMPLATEPLACEOFUSE.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TITLE.value</name> + </dbRecordFieldMapping> </recordFieldMappings> <linkInformation> <linkInformation> - <name>5e6f806e-c845-49ab-bfee-31b12e4c41f3</name> + <name>06fe6e4f-5ab7-404a-b820-7c23fc4a520b</name> <tableName>EXPORTTEMPLATEPLACEOFUSE</tableName> <primaryKey>EXPORTTEMPLATEPLACEOFUSEID</primaryKey> <isUIDTable v="true" /> diff --git a/entity/ExportTemplatePlaceOfUse_entity/contentTitleProcess.js b/entity/ExportTemplatePlaceOfUse_entity/contentTitleProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a974c8c7914cd2c8cd3d56dbfd54a91f186dacfa --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/contentTitleProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.PLACEOFUSE")); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/documentation.adoc b/entity/ExportTemplatePlaceOfUse_entity/documentation.adoc deleted file mode 100644 index a61ae5a651de0f753557aa094ba139dc5c3957a5..0000000000000000000000000000000000000000 --- a/entity/ExportTemplatePlaceOfUse_entity/documentation.adoc +++ /dev/null @@ -1,9 +0,0 @@ -= ExportTemplatePlaceOfUse_entity - -Entity to select all Modules where the created template should be useable (to limit the availability in the modules). - -The selection of Places Of usage is created via the link to the context_entity and limiting it -by the Blacklist_param (which is being inverted to an whitelist thanks to the invertBlacklist_param). - -Linked via the ExportTemplateID to ExportTemplates. -Own dbTable and Entity are to make it possible to store multiple fields for one template. diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/contextexporttemplateplaceofuse/children/blacklist_param/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/contextexporttemplateplaceofuse/children/blacklist_param/valueProcess.js deleted file mode 100644 index 9e45ce3b6cda9f9cffa1f8c6046d4267f2eb0a61..0000000000000000000000000000000000000000 --- a/entity/ExportTemplatePlaceOfUse_entity/entityfields/contextexporttemplateplaceofuse/children/blacklist_param/valueProcess.js +++ /dev/null @@ -1,3 +0,0 @@ -import("system.result"); - -result.object(["Person", "Organisation"]); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/contexts/children/blacklist_param/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/contexts/children/blacklist_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..289f1a413d80a3add469ae4915172a6776a54546 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/contexts/children/blacklist_param/valueProcess.js @@ -0,0 +1,41 @@ +import("ExportTemplate_lib"); +import("Context_lib"); +import("Dependency_lib"); +import("Observation_lib"); +import("system.vars"); +import("system.result"); +import("Sql_lib") + +let placeOfUse; +let contexts = []; +let entityNames; + +if (vars.get("$field.EXPORTTEMPLATEPLACEOFUSE_ID")) +{ + placeOfUse = newSelect("EXPORTTEMPLATEPLACEOFUSE.PLACEOFUSE") + .from("EXPORTTEMPLATEPLACEOFUSE") + .where("EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATEPLACEOFUSEID", vars.get("$field.EXPORTTEMPLATEPLACEOFUSE_ID")) + .cell(); +} + +if (placeOfUse) +{ + entityNames = Dependency.getDependency(ContextUtils.getEntity(placeOfUse), { + "isExportable" : true + }); +} +else +{ + entityNames = ExportTemplateUtils.exportableEntities(); +} + +for (let i = 0; i < entityNames.length; i++) +{ + let context = ContextUtils.getContextId(entityNames[i]); + if (context) + { + contexts.push(context); + } +} + +result.string(JSON.stringify(contexts)); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/contexts/children/invertblacklist_param/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/contexts/children/invertblacklist_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..40effa0178464da0c7850912345f19c7fa95975a --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/contexts/children/invertblacklist_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string(true); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/date_edit/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/date_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2af46a8e46789056c6c341a8e4e087f8e1edc0c4 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/date_edit/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.date")); +} \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/date_new/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/date_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d5cf2ff4f91546bf853125bec438493692a5e048 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/date_new/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.date")); +} \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplate_id/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplate_id/valueProcess.js index 7c84123ee891ea1b5d0719e8b77ae5cc7a0ca33b..d375ac965253d49ab53cd40c380df1e4bd9d8a88 100644 --- a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplate_id/valueProcess.js +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplate_id/valueProcess.js @@ -1,10 +1,9 @@ +import("Util_lib"); import("system.result"); import("system.neon"); import("system.vars"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +if(!Utils.isNullOrEmpty(vars.getString("$param.ExportTemplateId_param")) && Utils.isNullOrEmpty(vars.get("$this.value"))) { - if(vars.exists("$param.ExportTemplatePlaceOfUse_param") && vars.get("$param.ExportTemplatePlaceOfUse_param") != null - && vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null) - result.string(vars.getString("$param.ExportTemplatePlaceOfUse_param")); + result.string(vars.getString("$param.ExportTemplateId_param")); } \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/mandatoryProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/mandatoryProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..fb63b4864fee1cabf68f849cdab01fe7a9ba8b0a --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/mandatoryProcess.js @@ -0,0 +1,5 @@ +import("Util_lib"); +import("system.vars"); +import("system.result"); + +result.string(!Utils.toBoolean(vars.get("$param.IsMainPlaceOfUse_param"))); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/onValueChange.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..c570d33c4d73c61ecfacfa6a5b089dcfa4d96374 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/onValueChange.js @@ -0,0 +1,5 @@ +import("Context_lib"); +import("system.vars"); + +// If the place of use of the export template is changed, the selected place of use no longer matches the parent. +vars.set("$field.PLACEOFUSE", null); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/stateProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..924fa6c76f892bf6f5c14e1f10f6a4bf53b08547 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_id/stateProcess.js @@ -0,0 +1,10 @@ +import("system.vars"); +import("Util_lib"); +import("system.result"); +import("system.neon"); + +// If this is the Main PlaceOfUse, there the parent One is null +if (Utils.toBoolean(vars.get("$param.IsMainPlaceOfUse_param"))) +{ + result.string(neon.COMPONENTSTATE_INVISIBLE); +} \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuseid/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuseid/valueProcess.js index d81b1c1049eb25c998728bf5e0b90bada3a24e8d..067717d36961db97edf8c1e05f4b43ead60a4b52 100644 --- a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuseid/valueProcess.js +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuseid/valueProcess.js @@ -4,4 +4,7 @@ import("system.util"); import("system.vars"); if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null) -result.string(util.getNewUUID()); \ No newline at end of file +{ + result.string(util.getNewUUID()); +} + diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuser/documentation.adoc b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuser/documentation.adoc deleted file mode 100644 index 9713220ef692ca2f93ca9047460db28270795e3c..0000000000000000000000000000000000000000 --- a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuser/documentation.adoc +++ /dev/null @@ -1,3 +0,0 @@ -= ExportTemplatePlaceOfUse_entity - ExportTemplatePlaceOfUser - -needed instead of the #PROVIDER so the ExportTemplatePlaceOfUse_param can be used \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuses/children/exporttemplateid_param/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuses/children/exporttemplateid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..001cc890f029455658cd08a1d8ad7ce8259f24d7 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuses/children/exporttemplateid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$param.ExportTemplateId_param")); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..001cc890f029455658cd08a1d8ad7ce8259f24d7 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$param.ExportTemplateId_param")); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/object_filter/stateProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/object_filter/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..679e8717260d56278206209c3dc3b517dfe526b6 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/object_filter/stateProcess.js @@ -0,0 +1,17 @@ +import("Util_lib"); +import("system.neon"); +import("system.vars"); +import("system.result"); + +let state; + +if (!Utils.isNullOrEmpty(vars.get("$field.PLACEOFUSE")) && !Utils.isNullOrEmpty(vars.get("$field.EXPORTTEMPLATEPLACEOFUSE_ID"))) +{ + state = neon.COMPONENTSTATE_EDITABLE; +} +else +{ + state = neon.COMPONENTSTATE_INVISIBLE; +} + +result.string(state); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/object_filter/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/object_filter/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..077a69be63354948d7599480c4bf234cfd9a72c6 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/object_filter/valueProcess.js @@ -0,0 +1,18 @@ +import("JditoFilter_lib"); +import("Util_lib"); +import("Observation_lib"); +import("system.vars"); +import("system.result"); + +let resFilter; + +if (!Utils.isNullOrEmpty(vars.get("$this.value")) && !Utils.isNullOrEmpty(vars.get("$field.PLACEOFUSE"))) +{ + resFilter = JditoFilterUtils.getContextFilter(vars.get("$field.PLACEOFUSE"), null); +} + +if (resFilter) +{ + result.string(resFilter); +} + \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/openadminview/onActionProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/openadminview/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..be9984d0b0f68cabba9d60cd3404b7063374b4e3 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/openadminview/onActionProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("Context_lib"); + +AdminViewUtils.open("", []); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/openadminview/stateProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/openadminview/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..38f2298db7304b4d44a15fbad7f720558c02da99 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/openadminview/stateProcess.js @@ -0,0 +1,4 @@ +import("Context_lib"); +import("system.result"); + +result.string(AdminViewUtils.getActionState()); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/displayValueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/displayValueProcess.js index dd3384b9ec0af65bca467795cd70e356e2e08fe4..dda429b59d3dc879f6d66653ed762fddfc26722e 100644 --- a/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/displayValueProcess.js +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/displayValueProcess.js @@ -1,8 +1,12 @@ +import("system.translate"); +import("Util_lib"); import("system.vars"); -import("system.result"); import("Context_lib"); +import("system.project"); +import("system.result"); -var placeOfUse = vars.get("$field.PLACEOFUSE"); - -if(placeOfUse) -result.string(ContextUtils.getTitle(placeOfUse, true)); \ No newline at end of file +if (Utils.isNotNullOrEmptyString(vars.getString("$this.value"))) +{ + let title = ContextUtils.getTranslatedTitle(vars.getString("$this.value")) || translate.text(vars.getString("$this.value")); + result.string(title); +} \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/documentation.adoc b/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/documentation.adoc deleted file mode 100644 index 38a9ff1a0f6494d732d9d7fe50d771885f7496fa..0000000000000000000000000000000000000000 --- a/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/documentation.adoc +++ /dev/null @@ -1,4 +0,0 @@ -= PlaceOfuse - -The selection of Places Of usage is created via the link to the context_entity and limiting it -by the Blacklist_param (which is being inverted to an whitelist thanks to the invertBlacklist_param). \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/onValueChange.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..e96809eae5c79ded9a2456c13793f208f5f6faf6 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/onValueChange.js @@ -0,0 +1,8 @@ +import("JditoFilter_lib"); +import("Util_lib"); +import("system.vars"); + +if (!Utils.isNullOrEmpty(vars.get("$field.EXPORTTEMPLATEPLACEOFUSE_ID"))) +{ + vars.set("$field.OBJECT_FILTER", JditoFilterUtils.getContextFilter(vars.get("$this.value"), null)); +} \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/stateProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..20fc8dccf50778351e6ffde02caa9518556780ea --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/stateProcess.js @@ -0,0 +1,21 @@ +import("Util_lib"); +import("system.neon"); +import("system.vars"); +import("system.result"); + +let state; + +if (!Utils.isNullOrEmpty(vars.get("$field.EXPORTTEMPLATEPLACEOFUSE_ID")) || Utils.toBoolean(vars.get("$param.IsMainPlaceOfUse_param"))) +{ + state = neon.COMPONENTSTATE_EDITABLE; +} +else if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + state = neon.COMPONENTSTATE_INVISIBLE; +} +else +{ + state = neon.COMPONENTSTATE_READONLY; +} + +result.string(state); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/titleProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/titleProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3ecda2e88772989f3e48f3ff3e482cfd6ac38b24 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/placeofuse/titleProcess.js @@ -0,0 +1,9 @@ +import("system.translate"); +import("system.vars"); +import("Util_lib"); +import("system.result"); + +if (!Utils.toBoolean(vars.get("$param.IsMainPlaceOfUse_param"))) +{ + result.string(translate.text("Dependency")); +} \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/user_edit/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/user_edit/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..b874a7ac426b8e99383ac949299b9753e4951f2b --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/user_edit/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/user_new/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/user_new/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3f8db68b950a0505d6179cb67c14dde624c45070 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/entityfields/user_new/valueProcess.js @@ -0,0 +1,8 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + result.string(vars.get("$sys.user")); +} \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/recordcontainers/db/conditionProcess.js b/entity/ExportTemplatePlaceOfUse_entity/recordcontainers/db/conditionProcess.js index 30942689497eb2091398b6c15fb77fa8267a5806..a3490df303d908344ba798f904a69a6076de4627 100644 --- a/entity/ExportTemplatePlaceOfUse_entity/recordcontainers/db/conditionProcess.js +++ b/entity/ExportTemplatePlaceOfUse_entity/recordcontainers/db/conditionProcess.js @@ -1,6 +1,21 @@ import("system.vars"); import("system.result"); import("Sql_lib"); +import("Util_lib"); -var cond = newWhereIfSet("EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATE_ID", "$param.ExportTemplatePlaceOfUse_param"); -result.string(cond); \ No newline at end of file +let isMainPlaceOfUse = Utils.toBoolean(vars.get("$param.IsMainPlaceOfUse_param")); +let isParentPlaceOfUseIdFilled = Utils.toBoolean(vars.get("$param.ExportTemplatePlaceOfUseID_param")); +let exportTemplateId = vars.get("$param.ExportTemplateId_param"); + +let cond = newWhereIfSet("EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATE_ID", exportTemplateId); + +if (isMainPlaceOfUse) +{ + cond.and("EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATEPLACEOFUSE_ID IS NULL"); +} +else if (isParentPlaceOfUseIdFilled) +{ + cond.and("EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATEPLACEOFUSE_ID IS NOT NULL"); +} + +result.string(cond.toString()); \ No newline at end of file diff --git a/entity/ExportTemplatePlaceOfUse_entity/recordcontainers/db/onDBDelete.js b/entity/ExportTemplatePlaceOfUse_entity/recordcontainers/db/onDBDelete.js new file mode 100644 index 0000000000000000000000000000000000000000..2bb03e6ffba889fd320be5ad65ae54bf965aa3a0 --- /dev/null +++ b/entity/ExportTemplatePlaceOfUse_entity/recordcontainers/db/onDBDelete.js @@ -0,0 +1,28 @@ +import("system.translate"); +import("system.question"); +import("system.db"); +import("system.vars"); +import("Sql_lib"); + +let countDeletedRows = newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEPLACEOFUSE_ID", vars.get("$field.EXPORTTEMPLATEPLACEOFUSEID")) +.and("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID")) +.deleteData(true, "EXPORTTEMPLATEFIELD"); + +if (countDeletedRows > 0) +{ + question.showMessage(translate.text("Deleting the dependency also deletes its fields."), question.INFORMATION, translate.text("Fields of Dependency")); + let updateStatements = []; + let fields = newSelect("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID") + .from("EXPORTTEMPLATEFIELD") + .where("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", vars.get("$field.EXPORTTEMPLATE_ID")) + .orderBy("EXPORTTEMPLATEFIELD.SORTING").arrayColumn(); + + fields.forEach(function (pFieldId, pIndex){ + updateStatements.push(newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATEFIELDID", pFieldId) + .buildUpdateStatement({ + "SORTING" : pIndex + 1 + }, "EXPORTTEMPLATEFIELD")); + }); + //The gaps created by deleting the dependent fields are closed. + db.updates(updateStatements); +} diff --git a/entity/ExportTemplateSelection_entity/ExportTemplateSelection_entity.aod b/entity/ExportTemplateSelection_entity/ExportTemplateSelection_entity.aod index 5c5e00cfcb49e5cb3ae07a120b0e467b89041a00..7f406a333783ddf4fbdcdec44e903ae4d16f6345 100644 --- a/entity/ExportTemplateSelection_entity/ExportTemplateSelection_entity.aod +++ b/entity/ExportTemplateSelection_entity/ExportTemplateSelection_entity.aod @@ -45,6 +45,14 @@ </entityParameter> </children> </entityConsumer> + <entityConsumer> + <name>Languages</name> + <dependency> + <name>dependency</name> + <entityName>Language_entity</entityName> + <fieldName>ISO3Name</fieldName> + </dependency> + </entityConsumer> <entityField> <name>UID</name> <state>EDITABLE</state> @@ -87,6 +95,19 @@ <name>#PROVIDER_AGGREGATES</name> <useAggregates v="true" /> </entityProvider> + <entityField> + <name>ISOLANGUAGE</name> + <consumer>Languages</consumer> + <state>INVISIBLE</state> + <valueProcess>%aditoprj%/entity/ExportTemplateSelection_entity/entityfields/isolanguage/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/ExportTemplateSelection_entity/entityfields/isolanguage/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>charset</name> + <title>Charset</title> + <dropDownProcess>%aditoprj%/entity/ExportTemplateSelection_entity/entityfields/charset/dropDownProcess.js</dropDownProcess> + <state>EDITABLE</state> + </entityField> </entityFields> <recordContainers> <datalessRecordContainer> diff --git a/entity/ExportTemplateSelection_entity/entityfields/charset/dropDownProcess.js b/entity/ExportTemplateSelection_entity/entityfields/charset/dropDownProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3e47786c24e9684a064259923ad38c356aafaac2 --- /dev/null +++ b/entity/ExportTemplateSelection_entity/entityfields/charset/dropDownProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.object([["UTF-8", "UTF-8"]]); \ No newline at end of file diff --git a/entity/ExportTemplate_entity/entityfields/isolanguage/displayValueProcess.js b/entity/ExportTemplateSelection_entity/entityfields/isolanguage/displayValueProcess.js similarity index 100% rename from entity/ExportTemplate_entity/entityfields/isolanguage/displayValueProcess.js rename to entity/ExportTemplateSelection_entity/entityfields/isolanguage/displayValueProcess.js diff --git a/entity/ExportTemplate_entity/entityfields/isolanguage/valueProcess.js b/entity/ExportTemplateSelection_entity/entityfields/isolanguage/valueProcess.js similarity index 83% rename from entity/ExportTemplate_entity/entityfields/isolanguage/valueProcess.js rename to entity/ExportTemplateSelection_entity/entityfields/isolanguage/valueProcess.js index 2bb039c219ee635fbd789a66704d4f5dd483dbfb..574a9ebe136046ed2bccfcde532d19ee19ce53b7 100644 --- a/entity/ExportTemplate_entity/entityfields/isolanguage/valueProcess.js +++ b/entity/ExportTemplateSelection_entity/entityfields/isolanguage/valueProcess.js @@ -3,4 +3,7 @@ import("system.neon"); import("system.vars"); if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.getString("$this.value") == null) - result.string("deu"); \ No newline at end of file +{ + result.string("deu"); +} + \ No newline at end of file diff --git a/entity/ExportTemplateSelection_entity/entityfields/safeandexport/onActionProcess.js b/entity/ExportTemplateSelection_entity/entityfields/safeandexport/onActionProcess.js index 66ee0547575d06eeb39f33b7ede5258e639295dc..0f971c77dd629f6479980c7f816214ec4ca6dbd6 100644 --- a/entity/ExportTemplateSelection_entity/entityfields/safeandexport/onActionProcess.js +++ b/entity/ExportTemplateSelection_entity/entityfields/safeandexport/onActionProcess.js @@ -1,16 +1,30 @@ +import("system.process"); +import("Employee_lib"); import("system.neon"); import("system.vars"); import("ExportTemplate_lib"); var filename = vars.get("$field.FILENAME"); var templateId = vars.get("$field.EXPORTTEMPLATE_ID"); -var selection = vars.get("$field.selection"); +var selection = JSON.stringify(vars.get("$field.selection")); var comingFrom = vars.get("$field.comingfrom"); +var charset = vars.get("$field.charset"); if(templateId) { - var document = ExportTemplateUtils.buildExport(templateId, selection, comingFrom, filename); - neon.download(document.content, document.filename); + var user = EmployeeUtils.getCurrentUserId(); + var processConfig = process.createStartAsyncConfig() + .setName("buildExport_serverProcess") + .setLocalVariables({ + "selection" : selection, + "exportTemplateId" : templateId, + "charset" : charset, + "filename" : filename, + "user" : user + }) + .setUser(vars.get("$sys.user")); + process.startAsync(processConfig); //since we do not open something after the download we need to close the window where the action is placed neon.closeImage(vars.get("$sys.currentimage"), true); + } \ No newline at end of file diff --git a/entity/ExportTemplate_entity/ExportTemplate_entity.aod b/entity/ExportTemplate_entity/ExportTemplate_entity.aod index 48a62cdd0966b6bbe80a745fb17b579bcc982de5..4cea3664caaf81a16515e7a4967cde5cc2270001 100644 --- a/entity/ExportTemplate_entity/ExportTemplate_entity.aod +++ b/entity/ExportTemplate_entity/ExportTemplate_entity.aod @@ -36,14 +36,6 @@ <dropDownProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/fieldseparator/dropDownProcess.js</dropDownProcess> <textInputAllowed v="true" /> </entityField> - <entityField> - <name>ISOLANGUAGE</name> - <title>Language</title> - <consumer>Languages</consumer> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/isolanguage/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/isolanguage/displayValueProcess.js</displayValueProcess> - </entityField> <entityField> <name>DATE_EDIT</name> <contentType>DATE</contentType> @@ -63,17 +55,9 @@ <title>Description</title> <contentType>LONG_TEXT</contentType> </entityField> - <entityConsumer> - <name>Languages</name> - <dependency> - <name>dependency</name> - <entityName>Language_entity</entityName> - <fieldName>ISO3Name</fieldName> - </dependency> - </entityConsumer> <entityConsumer> <name>ExportTemplateFields</name> - <state>EDITABLE</state> + <refreshParent v="true" /> <dependency> <name>dependency</name> <entityName>ExportTemplateField_entity</entityName> @@ -81,7 +65,7 @@ </dependency> <children> <entityParameter> - <name>ExportTemplateField_param</name> + <name>ExportTemplateId_param</name> <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplatefields/children/exporttemplatefield_param/valueProcess.js</valueProcess> <expose v="true" /> <documentation>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplatefields/children/exporttemplatefield_param/documentation.adoc</documentation> @@ -93,21 +77,6 @@ <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplateids_param/valueProcess.js</valueProcess> <expose v="true" /> </entityParameter> - <entityConsumer> - <name>ExportTemplateplaceOfUseCon</name> - <dependency> - <name>dependency</name> - <entityName>ExportTemplatePlaceOfUse_entity</entityName> - <fieldName>ExportTemplatePlaceOfUser</fieldName> - </dependency> - <children> - <entityParameter> - <name>ExportTemplatePlaceOfUse_param</name> - <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplateplaceofusecon/children/exporttemplateplaceofuse_param/valueProcess.js</valueProcess> - <expose v="true" /> - </entityParameter> - </children> - </entityConsumer> <entityProvider> <name>ExportTemplateIDs</name> <documentation>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplateids/documentation.adoc</documentation> @@ -139,8 +108,8 @@ <textInputAllowed v="true" /> </entityField> <entityField> - <name>EXPORTTEMPLATE_OBJECTTYPE</name> - <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplate_objecttype/valueProcess.js</valueProcess> + <name>exportTemplateObjectType</name> + <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplateobjecttype/valueProcess.js</valueProcess> </entityField> <entityProvider> <name>#PROVIDER_AGGREGATES</name> @@ -153,6 +122,60 @@ <iconId>VAADIN:CURLY_BRACKETS</iconId> <stateProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/openadminview/stateProcess.js</stateProcess> </entityActionField> + <entityConsumer> + <name>ExportTemplatePlacesOfUse</name> + <refreshParent v="true" /> + <dependency> + <name>dependency</name> + <entityName>ExportTemplatePlaceOfUse_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + <children> + <entityParameter> + <name>ExportTemplateId_param</name> + <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ExportTemplatePlaceOfUseID_param</name> + <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateplaceofuseid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>ExportTemplateMainPlaceOfUse</name> + <isOneToOneRelationship v="true" /> + <dependency> + <name>dependency</name> + <entityName>ExportTemplatePlaceOfUse_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + <children> + <entityParameter> + <name>ExportTemplateId_param</name> + <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplatemainplaceofuse/children/exporttemplateid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>IsMainPlaceOfUse_param</name> + <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplatemainplaceofuse/children/ismainplaceofuse_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>ExportTemplateFieldsPreview</name> + <documentation>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplatefieldspreview/documentation.adoc</documentation> + <state>READONLY</state> + <dependency> + <name>dependency</name> + <entityName>ExportTemplateField_entity</entityName> + <fieldName>ExportTemplateFields</fieldName> + </dependency> + <children> + <entityParameter> + <name>ExportTemplateId_param</name> + <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplatefieldspreview/children/exporttemplateid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> </entityFields> <recordContainers> <dbRecordContainer> @@ -170,12 +193,6 @@ <name>DATE_NEW.value</name> <recordfield>EXPORTTEMPLATE.DATE_NEW</recordfield> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ISOLANGUAGE.value</name> - <recordfield>EXPORTTEMPLATE.ISOLANGUAGE</recordfield> - <isFilterable v="true" /> - <isLookupFilter v="true" /> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>EXPORTTEMPLATEID.value</name> <recordfield>EXPORTTEMPLATE.EXPORTTEMPLATEID</recordfield> @@ -198,11 +215,6 @@ <name>DESCRIPTION.value</name> <recordfield>EXPORTTEMPLATE.DESCRIPTION</recordfield> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ISOLANGUAGE.displayValue</name> - <isFilterable v="true" /> - <isLookupFilter v="true" /> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>TITLE.displayValue</name> <isFilterable v="true" /> @@ -223,7 +235,7 @@ </recordFieldMappings> <linkInformation> <linkInformation> - <name>ce410f40-846b-43e6-9c30-150393cee43d</name> + <name>3b838097-7531-42c2-abee-db95cce7c729</name> <tableName>EXPORTTEMPLATE</tableName> <primaryKey>EXPORTTEMPLATEID</primaryKey> <isUIDTable v="true" /> diff --git a/entity/ExportTemplate_entity/entityfields/exporttemplatefieldspreview/children/exporttemplateid_param/valueProcess.js b/entity/ExportTemplate_entity/entityfields/exporttemplatefieldspreview/children/exporttemplateid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3cbc49005642cf289c724b7b2de89a5db926e630 --- /dev/null +++ b/entity/ExportTemplate_entity/entityfields/exporttemplatefieldspreview/children/exporttemplateid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.EXPORTTEMPLATEID")); \ No newline at end of file diff --git a/entity/ExportTemplate_entity/entityfields/exporttemplatefieldspreview/documentation.adoc b/entity/ExportTemplate_entity/entityfields/exporttemplatefieldspreview/documentation.adoc new file mode 100644 index 0000000000000000000000000000000000000000..87813a66bc64775d1518863cda388c18721e1607 --- /dev/null +++ b/entity/ExportTemplate_entity/entityfields/exporttemplatefieldspreview/documentation.adoc @@ -0,0 +1 @@ +This Consumer is a Workaround for the fields in the preview so that they cannot be edited. \ No newline at end of file diff --git a/entity/ExportTemplate_entity/entityfields/exporttemplateplaceofusecon/children/exporttemplateplaceofuse_param/valueProcess.js b/entity/ExportTemplate_entity/entityfields/exporttemplatemainplaceofuse/children/exporttemplateid_param/valueProcess.js similarity index 100% rename from entity/ExportTemplate_entity/entityfields/exporttemplateplaceofusecon/children/exporttemplateplaceofuse_param/valueProcess.js rename to entity/ExportTemplate_entity/entityfields/exporttemplatemainplaceofuse/children/exporttemplateid_param/valueProcess.js diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/contextexporttemplateplaceofuse/children/invertblacklist_param/valueProcess.js b/entity/ExportTemplate_entity/entityfields/exporttemplatemainplaceofuse/children/ismainplaceofuse_param/valueProcess.js similarity index 100% rename from entity/ExportTemplatePlaceOfUse_entity/entityfields/contextexporttemplateplaceofuse/children/invertblacklist_param/valueProcess.js rename to entity/ExportTemplate_entity/entityfields/exporttemplatemainplaceofuse/children/ismainplaceofuse_param/valueProcess.js diff --git a/entity/ExportTemplate_entity/entityfields/exporttemplate_objecttype/valueProcess.js b/entity/ExportTemplate_entity/entityfields/exporttemplateobjecttype/valueProcess.js similarity index 100% rename from entity/ExportTemplate_entity/entityfields/exporttemplate_objecttype/valueProcess.js rename to entity/ExportTemplate_entity/entityfields/exporttemplateobjecttype/valueProcess.js diff --git a/entity/ExportTemplate_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js b/entity/ExportTemplate_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..d8e00008de741ec03a1997e0bd169d0acd7f4cc7 --- /dev/null +++ b/entity/ExportTemplate_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.result"); +import("system.vars"); + +result.string(vars.get("$field.EXPORTTEMPLATEID")); \ No newline at end of file diff --git a/entity/ExportTemplate_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateplaceofuseid_param/valueProcess.js b/entity/ExportTemplate_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateplaceofuseid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9bdc0c36bbda23a5a14dc48d29423e1979f0ee01 --- /dev/null +++ b/entity/ExportTemplate_entity/entityfields/exporttemplateplacesofuse/children/exporttemplateplaceofuseid_param/valueProcess.js @@ -0,0 +1,9 @@ +import("Entity_lib"); +import("system.result"); + +// Transfer of the UID of the main place of use with the help of the consumer. +result.string(new EntityConsumerRowsHelper() + .consumer("ExportTemplateMainPlaceOfUse") + .fetchRowsFromConsumer() + .getRows()[0]["#UID"]); + \ No newline at end of file diff --git a/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js index 57784ebda7e75d58197542d071b5afb2a61cc74e..3832b22bd97d302fcdf45333a3240016072281d2 100644 --- a/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js +++ b/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js @@ -6,7 +6,7 @@ import("Sql_lib"); var operator = vars.get("$local.operator"); var rawvalue = vars.get("$local.rawvalue"); -var objecttype = vars.get("$field.EXPORTTEMPLATE_OBJECTTYPE"); +var objecttype = vars.get("$field.exportTemplateObjectType"); var idcolumn = "EXPORTTEMPLATE.EXPORTTEMPLATEID"; result.string(FavoritesUtil.getFilterDisplayCondition(objecttype, operator, rawvalue, idcolumn)); \ No newline at end of file diff --git a/entity/Observation_entity/entityfields/contexts/children/blacklist_param/valueProcess.js b/entity/Observation_entity/entityfields/contexts/children/blacklist_param/valueProcess.js index ce4ed3a334253f41bc34a9e5751e2e316485f481..37a3f5dbb180129c0cac6bf9f33e23c5ba05cc0f 100644 --- a/entity/Observation_entity/entityfields/contexts/children/blacklist_param/valueProcess.js +++ b/entity/Observation_entity/entityfields/contexts/children/blacklist_param/valueProcess.js @@ -13,4 +13,4 @@ if (vars.get("$field.OBSERVATION_ID")) .cell(); } -result.object(Observation.getAllContextValue(type)); \ No newline at end of file + result.object(Observation.getAllContextValue(type)); \ No newline at end of file diff --git a/entity/Observation_entity/entityfields/object_filter/valueProcess.js b/entity/Observation_entity/entityfields/object_filter/valueProcess.js index df026f7192e7752d7364fa8739aad1c0973d3acc..5df8f1ef2df62ce0338c8c20c8521e697d088342 100644 --- a/entity/Observation_entity/entityfields/object_filter/valueProcess.js +++ b/entity/Observation_entity/entityfields/object_filter/valueProcess.js @@ -1,5 +1,5 @@ +import("JditoFilter_lib"); import("Observation_lib"); -import("Context_lib"); import("system.vars"); import("system.result"); @@ -8,7 +8,7 @@ let resFilter; if ((vars.get("$this.value") == null || vars.get("$this.value") == "") && vars.get("$field.OBJECT_TYPE") && !vars.get("$field.OBJECT_ID") && !filterParam) { - resFilter = Observation.getContextFilter(vars.get("$field.OBJECT_TYPE"), null); + resFilter = JditoFilterUtils.getContextFilter(vars.get("$field.OBJECT_TYPE"), null); } else if (!vars.get("$this.value") && filterParam) { diff --git a/entity/Observation_entity/recordcontainers/db/onDBInsert.js b/entity/Observation_entity/recordcontainers/db/onDBInsert.js index aa3b524a0b205afb4d6793903fc229447669fc89..18326447c59744ab1733c0474408dc6969ccbbcd 100644 --- a/entity/Observation_entity/recordcontainers/db/onDBInsert.js +++ b/entity/Observation_entity/recordcontainers/db/onDBInsert.js @@ -1,3 +1,4 @@ +import("JditoFilter_lib"); import("system.vars"); import("Observation_lib"); import("system.entities"); @@ -14,7 +15,7 @@ if (vars.get("$field.includeDependencies") == "1") "OBJECT_FIELD" : Observation.getAllFieldValue(contextID).toString(), "includeDependencies" : false, "OBSERVATION_ID" : observation_id, - "OBJECT_FILTER" : Observation.getContextFilter(contextID, null) + "OBJECT_FILTER" : JditoFilterUtils.getContextFilter(contextID, null) } let createRowConfig = entities.createConfigForAddingRows() diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index 3eeea68776f6dfddf0736b8794cfeb338f7eefcd..3a3141a0516d08027b51893b5a2f7622a427cf85 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -18,6 +18,17 @@ <titlePlural>Offers</titlePlural> <recordContainer>db</recordContainer> <entityFields> + <entityActionField> + <name>export</name> + <title>Export</title> + <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/export/onActionProcess.js</onActionProcess> + <isMenuAction v="true" /> + <isObjectAction v="false" /> + <iconId>NEON:EXPORT</iconId> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/export/stateProcess.js</stateProcess> + <tooltip>Export fields of this table</tooltip> + <tooltipProcess>%aditoprj%/entity/Offer_entity/entityfields/export/tooltipProcess.js</tooltipProcess> + </entityActionField> <entityProvider> <name>#PROVIDER</name> </entityProvider> diff --git a/entity/Offer_entity/entityfields/export/onActionProcess.js b/entity/Offer_entity/entityfields/export/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..6c68dcef71d0a7db12fd4d25819640764899dbad --- /dev/null +++ b/entity/Offer_entity/entityfields/export/onActionProcess.js @@ -0,0 +1,11 @@ +import("ExportTemplate_lib"); +import("system.vars"); + +var selection = vars.get("$sys.selection"); + +if(selection.length == 0) //no selection -> use Filtercondition; +{ + selection = vars.get("$sys.filter"); +} + +ExportTemplateUtils.addParticipants(JSON.stringify(selection), vars.get("$sys.currentcontextname")); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/export/stateProcess.js b/entity/Offer_entity/entityfields/export/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7fc578ee7942eeb948f08d3dd86f5950d3fa1c41 --- /dev/null +++ b/entity/Offer_entity/entityfields/export/stateProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("FilterViewAction_lib"); +import("system.vars"); + +var contactCount = vars.get("$sys.datarowcount"); + +result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount)); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/export/tooltipProcess.js b/entity/Offer_entity/entityfields/export/tooltipProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4aaaed5c074ef854441aa45e3e7993b2f77c04c4 --- /dev/null +++ b/entity/Offer_entity/entityfields/export/tooltipProcess.js @@ -0,0 +1,4 @@ +import("system.translate"); +import("system.result"); + +result.string(translate.text("Export columns using a exporttemplate")); \ No newline at end of file diff --git a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/export/onActionProcess.js b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/export/onActionProcess.js index ecad88623a921908ff07c1929560d806ff8c440d..6c68dcef71d0a7db12fd4d25819640764899dbad 100644 --- a/entity/Organisation_entity/entityfields/filterviewactiongroup/children/export/onActionProcess.js +++ b/entity/Organisation_entity/entityfields/filterviewactiongroup/children/export/onActionProcess.js @@ -1,14 +1,11 @@ import("ExportTemplate_lib"); import("system.vars"); -var sysSelection = vars.get("$sys.selection"); +var selection = vars.get("$sys.selection"); -if(sysSelection.length > 0) //if data selected -> use selected data +if(selection.length == 0) //no selection -> use Filtercondition; { - ExportTemplateUtils.addParticipantsByRowIds(JSON.stringify(sysSelection), vars.get("$sys.currentcontextname")); + selection = vars.get("$sys.filter"); } -else //else -> use Filtercondition -{ - let sysFilter = vars.get("$sys.filter"); - ExportTemplateUtils.addParticipantsByCondition(JSON.stringify(sysFilter), vars.get("$sys.currentcontextname")); -} \ No newline at end of file + +ExportTemplateUtils.addParticipants(JSON.stringify(selection), vars.get("$sys.currentcontextname")); \ No newline at end of file diff --git a/entity/Person_entity/entityfields/filterviewactiongroup/children/export/onActionProcess.js b/entity/Person_entity/entityfields/filterviewactiongroup/children/export/onActionProcess.js index ecad88623a921908ff07c1929560d806ff8c440d..6c68dcef71d0a7db12fd4d25819640764899dbad 100644 --- a/entity/Person_entity/entityfields/filterviewactiongroup/children/export/onActionProcess.js +++ b/entity/Person_entity/entityfields/filterviewactiongroup/children/export/onActionProcess.js @@ -1,14 +1,11 @@ import("ExportTemplate_lib"); import("system.vars"); -var sysSelection = vars.get("$sys.selection"); +var selection = vars.get("$sys.selection"); -if(sysSelection.length > 0) //if data selected -> use selected data +if(selection.length == 0) //no selection -> use Filtercondition; { - ExportTemplateUtils.addParticipantsByRowIds(JSON.stringify(sysSelection), vars.get("$sys.currentcontextname")); + selection = vars.get("$sys.filter"); } -else //else -> use Filtercondition -{ - let sysFilter = vars.get("$sys.filter"); - ExportTemplateUtils.addParticipantsByCondition(JSON.stringify(sysFilter), vars.get("$sys.currentcontextname")); -} \ No newline at end of file + +ExportTemplateUtils.addParticipants(JSON.stringify(selection), vars.get("$sys.currentcontextname")); \ No newline at end of file diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index 970e68b2e4fb6c103a3c33196f4186c9006c6617..a869641a5b7dce9cb61e167c092bf8a0e6e88c7a 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -769,6 +769,17 @@ <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/cancelobservation/stateProcess.js</stateProcess> <titleProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/cancelobservation/titleProcess.js</titleProcess> </entityActionField> + <entityActionField> + <name>export</name> + <title>Export</title> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/onActionProcess.js</onActionProcess> + <isMenuAction v="true" /> + <isObjectAction v="false" /> + <iconId>NEON:EXPORT</iconId> + <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/stateProcess.js</stateProcess> + <tooltip>Export fields of this table</tooltip> + <tooltipProcess>%aditoprj%/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/tooltipProcess.js</tooltipProcess> + </entityActionField> </children> </entityActionGroup> <entityActionField> diff --git a/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/onActionProcess.js b/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..6c68dcef71d0a7db12fd4d25819640764899dbad --- /dev/null +++ b/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/onActionProcess.js @@ -0,0 +1,11 @@ +import("ExportTemplate_lib"); +import("system.vars"); + +var selection = vars.get("$sys.selection"); + +if(selection.length == 0) //no selection -> use Filtercondition; +{ + selection = vars.get("$sys.filter"); +} + +ExportTemplateUtils.addParticipants(JSON.stringify(selection), vars.get("$sys.currentcontextname")); \ No newline at end of file diff --git a/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/stateProcess.js b/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7fc578ee7942eeb948f08d3dd86f5950d3fa1c41 --- /dev/null +++ b/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/stateProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("FilterViewAction_lib"); +import("system.vars"); + +var contactCount = vars.get("$sys.datarowcount"); + +result.string(FilterViewActionUtils.getComponentStateByRowCount(contactCount)); \ No newline at end of file diff --git a/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/tooltipProcess.js b/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/tooltipProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4aaaed5c074ef854441aa45e3e7993b2f77c04c4 --- /dev/null +++ b/entity/Salesproject_entity/entityfields/observeactiongroup/children/export/tooltipProcess.js @@ -0,0 +1,4 @@ +import("system.translate"); +import("system.result"); + +result.string(translate.text("Export columns using a exporttemplate")); \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index 89355045b13d089a1be2c3b5124b426beba37cac..c0dec5cc101010be254693ba27a95db96b9ec379 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -11003,6 +11003,75 @@ <entry> <key>Inbox \"%0\" has been deleted.</key> </entry> + <entry> + <key>Move</key> + </entry> + <entry> + <key>Dependencies</key> + </entry> + <entry> + <key>ExportTemplateDependency</key> + </entry> + <entry> + <key>Employee for Employee groups</key> + </entry> + <entry> + <key>testfilter</key> + </entry> + <entry> + <key>Adito Versafix</key> + </entry> + <entry> + <key>Charset</key> + </entry> + <entry> + <key>Unique click rate (in %)</key> + </entry> + <entry> + <key>Employees for Employee groups</key> + </entry> + <entry> + <key>Last Click</key> + </entry> + <entry> + <key>Opener rate (in %)</key> + </entry> + <entry> + <key>Evaluation type</key> + </entry> + <entry> + <key>remove hashtags from favorite titles</key> + </entry> + <entry> + <key>Valid district contacts</key> + </entry> + <entry> + <key>default</key> + </entry> + <entry> + <key>Verknuepfungen</key> + </entry> + <entry> + <key>Action mail</key> + </entry> + <entry> + <key>unsubscribe</key> + </entry> + <entry> + <key>Copy Participants</key> + </entry> + <entry> + <key>Technical email</key> + </entry> + <entry> + <key>ignore</key> + </entry> + <entry> + <key>Click rate (in %)</key> + </entry> + <entry> + <key>Dependency</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 7334db9832223bf1ce445304804324c43fcd63db..e87c99efc3226b85b833b9cc34a2eb00945b80af 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -11228,11 +11228,11 @@ Bitte Datumseingabe prüfen</value> </entry> <entry> <key>Standard Country</key> - <value>Standartland</value> + <value>Standardland</value> </entry> <entry> <key>Standard Zip</key> - <value>Standart Plz</value> + <value>Standard Plz</value> </entry> <entry> <key>Outstanding Amount</key> @@ -13154,6 +13154,7 @@ Bitte Datumseingabe prüfen</value> </entry> <entry> <key>Open Admin View</key> + <value>Admin-Ansicht öffnen</value> </entry> <entry> <key>Attendees</key> @@ -14337,6 +14338,78 @@ Bitte Datumseingabe prüfen</value> <entry> <key>We save your data until</key> </entry> + <entry> + <key>Dependencies</key> + <value>Abhängigkeiten</value> + </entry> + <entry> + <key>Dependency</key> + <value>Abhängigkeit</value> + </entry> + <entry> + <key>ExportTemplateDependency</key> + <value>Export Vorlage Abhängigkeit</value> + </entry> + <entry> + <key>Employee for Employee groups</key> + </entry> + <entry> + <key>testfilter</key> + </entry> + <entry> + <key>Adito Versafix</key> + </entry> + <entry> + <key>Charset</key> + </entry> + <entry> + <key>Unique click rate (in %)</key> + </entry> + <entry> + <key>Employees for Employee groups</key> + </entry> + <entry> + <key>Last Click</key> + </entry> + <entry> + <key>Opener rate (in %)</key> + </entry> + <entry> + <key>Evaluation type</key> + </entry> + <entry> + <key>remove hashtags from favorite titles</key> + </entry> + <entry> + <key>Valid district contacts</key> + </entry> + <entry> + <key>default</key> + </entry> + <entry> + <key>Verknuepfungen</key> + </entry> + <entry> + <key>Action mail</key> + </entry> + <entry> + <key>unsubscribe</key> + </entry> + <entry> + <key>Move</key> + </entry> + <entry> + <key>Copy Participants</key> + </entry> + <entry> + <key>Technical email</key> + </entry> + <entry> + <key>ignore</key> + </entry> + <entry> + <key>Click rate (in %)</key> + </entry> <entry> <key>Ticket return</key> </entry> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index c0e0fffdb529de4b8afcb3b5e95ce633e8a203b6..ec3bdcc2ffb7a9d70102288e28736633c99ac921 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -11093,6 +11093,76 @@ <entry> <key>Inbox \"%0\" has been deleted.</key> </entry> + <entry> + <key>Move</key> + </entry> + <entry> + <key>Dependencies</key> + </entry> + <entry> + <key>ExportTemplateDependency</key> + <value>Export Template Dependency</value> + </entry> + <entry> + <key>Employee for Employee groups</key> + </entry> + <entry> + <key>testfilter</key> + </entry> + <entry> + <key>Adito Versafix</key> + </entry> + <entry> + <key>Charset</key> + </entry> + <entry> + <key>Unique click rate (in %)</key> + </entry> + <entry> + <key>Employees for Employee groups</key> + </entry> + <entry> + <key>Last Click</key> + </entry> + <entry> + <key>Opener rate (in %)</key> + </entry> + <entry> + <key>Evaluation type</key> + </entry> + <entry> + <key>remove hashtags from favorite titles</key> + </entry> + <entry> + <key>Valid district contacts</key> + </entry> + <entry> + <key>default</key> + </entry> + <entry> + <key>Verknuepfungen</key> + </entry> + <entry> + <key>Action mail</key> + </entry> + <entry> + <key>unsubscribe</key> + </entry> + <entry> + <key>Copy Participants</key> + </entry> + <entry> + <key>Technical email</key> + </entry> + <entry> + <key>ignore</key> + </entry> + <entry> + <key>Click rate (in %)</key> + </entry> + <entry> + <key>Dependency</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonContext/Address/Address.aod b/neonContext/Address/Address.aod index d52b486fe764514b9aca06652f49d2b8ab1751e9..b42dae903069a6ad26e584a866ac7feb06484ba4 100644 --- a/neonContext/Address/Address.aod +++ b/neonContext/Address/Address.aod @@ -4,6 +4,7 @@ <title>Addresses</title> <majorModelMode>DISTRIBUTED</majorModelMode> <documentation>%aditoprj%/neonContext/Address/documentation.adoc</documentation> + <filterView>AdressFilter_view</filterView> <lookupView>AddressLookup_view</lookupView> <entity>Address_entity</entity> <references> @@ -23,5 +24,9 @@ <name>fffe7dd0-6f32-4b4f-865b-501f48813c6d</name> <view>AddressOrgMultiEdit_view</view> </neonViewReference> + <neonViewReference> + <name>ffbf7b96-30bb-497a-95bf-b2d1c53ef711</name> + <view>AdressFilter_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonContext/ExportTemplate/ExportTemplate.aod b/neonContext/ExportTemplate/ExportTemplate.aod index 40c9ea289209b23bad28b2eb33ebc1c65fd1273e..103e413ba1e0de90e5317354838d43b82ebc325e 100644 --- a/neonContext/ExportTemplate/ExportTemplate.aod +++ b/neonContext/ExportTemplate/ExportTemplate.aod @@ -4,10 +4,11 @@ <title>Export Template</title> <majorModelMode>DISTRIBUTED</majorModelMode> <icon>NEON:EXPORT</icon> + <mainView>ExportTemplateMain_view</mainView> <filterView>ExportTemplateFilter_view</filterView> <editView>ExportTemplateEdit_view</editView> <previewView>ExportTemplatePreview_view</previewView> - <lookupView>ExportTemplateFilter_view</lookupView> + <lookupView>ExportTemplateLookup_view</lookupView> <entity>ExportTemplate_entity</entity> <references> <neonViewReference> @@ -22,5 +23,17 @@ <name>6986af0d-95a1-4e6c-8687-da99296b9c7d</name> <view>ExportTemplateEdit_view</view> </neonViewReference> + <neonViewReference> + <name>611cd4fc-5403-49c6-bf96-c0784e7efdcd</name> + <view>ExportTemplateMain_view</view> + </neonViewReference> + <neonViewReference> + <name>56f482d6-db40-4558-a9d9-71760b511d72</name> + <view>ExportTemplateDetail_view</view> + </neonViewReference> + <neonViewReference> + <name>6e3d459f-b15f-4f2a-8266-8e43a6e4b965</name> + <view>ExportTemplateLookup_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonContext/ExportTemplateField/ExportTemplateField.aod b/neonContext/ExportTemplateField/ExportTemplateField.aod index 155383faabb6c58f1d4a3f0356aad7965ee7cc46..9168b0ab2c5166fbd10fb3514a6a7e8b4854faf5 100644 --- a/neonContext/ExportTemplateField/ExportTemplateField.aod +++ b/neonContext/ExportTemplateField/ExportTemplateField.aod @@ -3,7 +3,7 @@ <name>ExportTemplateField</name> <title>Export Template Field</title> <majorModelMode>DISTRIBUTED</majorModelMode> - <editView>ExportTemplateFieldMultiEdit_view</editView> + <editView>ExportTemplateFieldEdit_view</editView> <entity>ExportTemplateField_entity</entity> <references> <neonViewReference> @@ -14,5 +14,13 @@ <name>f015edb3-3dd0-431f-ac6f-3f23a350e36c</name> <view>ExportTemplateFieldList_view</view> </neonViewReference> + <neonViewReference> + <name>cc2174d0-cb70-461d-b1f6-8862f3233440</name> + <view>ExportTemplateFieldFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>c93b35f9-ede0-4b32-8852-cd3131fc87bb</name> + <view>ExportTemplateFieldEdit_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonContext/ExportTemplatePlaceOfUse/ExportTemplatePlaceOfUse.aod b/neonContext/ExportTemplatePlaceOfUse/ExportTemplatePlaceOfUse.aod new file mode 100644 index 0000000000000000000000000000000000000000..c146ccbfcc22d5bffbdd6e9e0c412494e618ebc4 --- /dev/null +++ b/neonContext/ExportTemplatePlaceOfUse/ExportTemplatePlaceOfUse.aod @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1"> + <name>ExportTemplatePlaceOfUse</name> + <title>ExportTemplateDependency</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <editView>ExportTemplatePlaceOfUseEdit_view</editView> + <previewView>ExportTemplatePlaceOfUsePreview_view</previewView> + <lookupView>ExportTemplatePlaceOfUseFilter_view</lookupView> + <entity>ExportTemplatePlaceOfUse_entity</entity> + <references> + <neonViewReference> + <name>ebd784ea-ffb3-4502-9ebb-3bb6f056c923</name> + <view>ExportTemplatePlaceOfUseEdit_view</view> + </neonViewReference> + <neonViewReference> + <name>3439407e-24dc-414a-9035-c6ef2aae32c1</name> + <view>ExportTemplatePlaceOfUseFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>ed73d79d-c3ef-4c8e-8257-49e94c9a7392</name> + <view>ExportTemplatePlaceOfUsePreview_view</view> + </neonViewReference> + <neonViewReference> + <name>f8b7db8a-d6c1-49f9-9734-d455254b811a</name> + <view>ExportTemplatePlaceOfUseGeneric_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonContext/ExportTemplatePlaceofUse/ExportTemplatePlaceofUse.aod b/neonContext/ExportTemplatePlaceofUse/ExportTemplatePlaceofUse.aod deleted file mode 100644 index 3b3b7eeb6424a266cff34a2711b89e67d1cb17f4..0000000000000000000000000000000000000000 --- a/neonContext/ExportTemplatePlaceofUse/ExportTemplatePlaceofUse.aod +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.1"> - <name>ExportTemplatePlaceofUse</name> - <title>Export Template PlaceOfUse</title> - <majorModelMode>DISTRIBUTED</majorModelMode> - <entity>ExportTemplatePlaceOfUse_entity</entity> - <references> - <neonViewReference> - <name>99e2e84f-a46a-4dd4-a312-254eb2d4c935</name> - <view>ExportTemplatePlaceOfUseList_view</view> - </neonViewReference> - <neonViewReference> - <name>5b1a0851-93c8-451e-b10e-ef3defa1e9f4</name> - <view>ExportTemplatePlaceOfUseMultiEdit_view</view> - </neonViewReference> - </references> -</neonContext> diff --git a/neonView/ExportTemplatePlaceOfUseList_view/ExportTemplatePlaceOfUseList_view.aod b/neonView/AdressFilter_view/AdressFilter_view.aod similarity index 57% rename from neonView/ExportTemplatePlaceOfUseList_view/ExportTemplatePlaceOfUseList_view.aod rename to neonView/AdressFilter_view/AdressFilter_view.aod index 9b4d6a978b1032e991dbc8cc4fbc4b483a6b76d7..7243a0108c3886d3a276f80feafd84363756550d 100644 --- a/neonView/ExportTemplatePlaceOfUseList_view/ExportTemplatePlaceOfUseList_view.aod +++ b/neonView/AdressFilter_view/AdressFilter_view.aod @@ -1,18 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> - <name>ExportTemplatePlaceOfUseList_view</name> + <name>AdressFilter_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> + <documentation>%aditoprj%/neonView/AdressFilter_view/documentation.adoc</documentation> <layout> <noneLayout> <name>layout</name> </noneLayout> </layout> - <children> - <titledListViewTemplate> - <name>titledList</name> - <titleField>PLACEOFUSE</titleField> - <titleFieldFullWidth v="true" /> - <entityField>#ENTITY</entityField> - </titledListViewTemplate> - </children> </neonView> diff --git a/neonView/AdressFilter_view/documentation.adoc b/neonView/AdressFilter_view/documentation.adoc new file mode 100644 index 0000000000000000000000000000000000000000..c8cdf10d9697de841ff9219318e1b83008637b6f --- /dev/null +++ b/neonView/AdressFilter_view/documentation.adoc @@ -0,0 +1 @@ +This View is only need for selecting the filter for export and observations \ No newline at end of file diff --git a/neonView/ExportTemplateDetail_view/ExportTemplateDetail_view.aod b/neonView/ExportTemplateDetail_view/ExportTemplateDetail_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..4398139911202280c568d7307193faafd21d9aee --- /dev/null +++ b/neonView/ExportTemplateDetail_view/ExportTemplateDetail_view.aod @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>ExportTemplateDetail_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <drawerLayout> + <name>layout</name> + <layoutCaption>Details</layoutCaption> + <fixedDrawer v="false" /> + </drawerLayout> + </layout> + <children> + <genericViewTemplate> + <name>generic</name> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>7666c443-e85c-43ce-bfc0-0541c2855f93</name> + <entityField>DESCRIPTION</entityField> + </entityFieldLink> + <entityFieldLink> + <name>50d494c5-268a-4991-a399-36ccd2083b37</name> + <entityField>SENTENCESEPARATOR</entityField> + </entityFieldLink> + <entityFieldLink> + <name>4894f791-3a6a-494c-a765-10cf4341035d</name> + <entityField>FIELDSEPARATOR</entityField> + </entityFieldLink> + <entityFieldLink> + <name>63ba6855-4109-424a-87a7-215921d9d794</name> + <entityField>FIELDDELIMITER</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + <neonViewReference> + <name>1c205be8-ecf4-4a12-93d7-d9edbf03fe3c</name> + <entityField>ExportTemplateMainPlaceOfUse</entityField> + <view>ExportTemplatePlaceOfUseGeneric_view</view> + </neonViewReference> + </children> +</neonView> diff --git a/neonView/ExportTemplateEdit_view/ExportTemplateEdit_view.aod b/neonView/ExportTemplateEdit_view/ExportTemplateEdit_view.aod index a821121f1aeb066c44b02cc36a7428411d46f07b..4d28a36f9339d95416a511f218743ced58ad5c72 100644 --- a/neonView/ExportTemplateEdit_view/ExportTemplateEdit_view.aod +++ b/neonView/ExportTemplateEdit_view/ExportTemplateEdit_view.aod @@ -24,17 +24,13 @@ <entityField>DESCRIPTION</entityField> </entityFieldLink> <entityFieldLink> - <name>dcca079e-66b5-4b12-b7f7-60b53966bb43</name> - <entityField>ISOLANGUAGE</entityField> + <name>805a801e-d030-4ad9-9a9b-26e279c1d0fc</name> + <entityField>SENTENCESEPARATOR</entityField> </entityFieldLink> <entityFieldLink> <name>2d720c5a-f5a6-4689-8bc7-45e3f5e979ca</name> <entityField>FIELDSEPARATOR</entityField> </entityFieldLink> - <entityFieldLink> - <name>805a801e-d030-4ad9-9a9b-26e279c1d0fc</name> - <entityField>SENTENCESEPARATOR</entityField> - </entityFieldLink> <entityFieldLink> <name>a9041865-cadf-4ebf-8e14-ca1ae445a0cf</name> <entityField>FIELDDELIMITER</entityField> @@ -42,14 +38,9 @@ </fields> </genericViewTemplate> <neonViewReference> - <name>d4fc40d7-96c2-4260-b749-dd0fee481b52</name> - <entityField>ExportTemplateFields</entityField> - <view>ExportTemplateFieldMultiEdit_view</view> - </neonViewReference> - <neonViewReference> - <name>115345f0-5b8a-4a94-ad7d-bf5bf986da7a</name> - <entityField>ExportTemplateplaceOfUseCon</entityField> - <view>ExportTemplatePlaceOfUseMultiEdit_view</view> + <name>7e29d4e4-86a0-4a39-9a80-24d2b4a657a9</name> + <entityField>ExportTemplateMainPlaceOfUse</entityField> + <view>ExportTemplatePlaceOfUseEdit_view</view> </neonViewReference> </children> </neonView> diff --git a/neonView/ExportTemplateFieldEdit_view/ExportTemplateFieldEdit_view.aod b/neonView/ExportTemplateFieldEdit_view/ExportTemplateFieldEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..51a62980047cd59cd591cad2e430988b364df757 --- /dev/null +++ b/neonView/ExportTemplateFieldEdit_view/ExportTemplateFieldEdit_view.aod @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>ExportTemplateFieldEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <genericViewTemplate> + <name>ExportTemplateFieldEditGeneric</name> + <editMode v="true" /> + <hideEmptyFields v="false" /> + <fields> + <entityFieldLink> + <name>9377c104-4a58-4739-9582-9827b0097729</name> + <entityField>EXPORTTEMPLATEPLACEOFUSE_ID</entityField> + </entityFieldLink> + <entityFieldLink> + <name>bd6b4681-d616-4b02-a8d0-35f386640588</name> + <entityField>FIELD</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/ExportTemplateFieldFilter_view/ExportTemplateFieldFilter_view.aod b/neonView/ExportTemplateFieldFilter_view/ExportTemplateFieldFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..8a1b6a7188932352a6810269920a7271eaad8d51 --- /dev/null +++ b/neonView/ExportTemplateFieldFilter_view/ExportTemplateFieldFilter_view.aod @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>ExportTemplateFieldFilter_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <groupLayout> + <name>layout</name> + </groupLayout> + </layout> + <children> + <treeTableViewTemplate> + <name>ExportTemplateFieldTreeTable</name> + <entityField>#ENTITY</entityField> + <favoriteActionGroup1>MoveActions</favoriteActionGroup1> + <isEditable v="false" /> + <columns> + <neonTreeTableColumn> + <name>5fa75992-8d07-4f59-8780-defbe0472910</name> + <entityField>SORTING</entityField> + </neonTreeTableColumn> + <neonTreeTableColumn> + <name>5b943bef-e70a-4110-a6be-dc7bba96b4eb</name> + <entityField>FIELD</entityField> + </neonTreeTableColumn> + <neonTreeTableColumn> + <name>8dc1f2c1-6351-4b66-aafa-fa8149690e6c</name> + <entityField>placeOfUse</entityField> + </neonTreeTableColumn> + </columns> + </treeTableViewTemplate> + </children> +</neonView> diff --git a/neonView/ExportTemplateFieldList_view/ExportTemplateFieldList_view.aod b/neonView/ExportTemplateFieldList_view/ExportTemplateFieldList_view.aod index 28f8da32d3a8828c0f658129fdf81ae91e298b01..29c0373073449768c1d1582751f40a335445d7b5 100644 --- a/neonView/ExportTemplateFieldList_view/ExportTemplateFieldList_view.aod +++ b/neonView/ExportTemplateFieldList_view/ExportTemplateFieldList_view.aod @@ -12,13 +12,14 @@ <children> <titledListViewTemplate> <name>titledList</name> - <titleField>FIELD</titleField> + <titleField>SORTING</titleField> <entityField>#ENTITY</entityField> <title>Field and Position</title> + <isEditable v="true" /> <columns> <neonTitledListTableColumn> <name>a0e7e2ce-b8fc-417c-bf7e-9907b75fec59</name> - <entityField>SORTING</entityField> + <entityField>FIELD</entityField> <fullWidth v="false" /> </neonTitledListTableColumn> </columns> diff --git a/neonView/ExportTemplateFieldMultiEdit_view/ExportTemplateFieldMultiEdit_view.aod b/neonView/ExportTemplateFieldMultiEdit_view/ExportTemplateFieldMultiEdit_view.aod index d568ca27848e106958e132471cd1b85b44f96f48..e7ef3b7160487c6924d3094bd2a3e29a5eb76237 100644 --- a/neonView/ExportTemplateFieldMultiEdit_view/ExportTemplateFieldMultiEdit_view.aod +++ b/neonView/ExportTemplateFieldMultiEdit_view/ExportTemplateFieldMultiEdit_view.aod @@ -11,6 +11,9 @@ <genericMultipleViewTemplate> <name>genericMultiple</name> <entityField>#ENTITY</entityField> + <isCreatable v="false" /> + <isDeletable v="false" /> + <isEditable v="false" /> <columns> <neonGenericMultipleTableColumn> <name>6e30e825-4fd4-4503-b81c-ac1a9971275d</name> diff --git a/neonView/ExportTemplateFilter_view/ExportTemplateFilter_view.aod b/neonView/ExportTemplateFilter_view/ExportTemplateFilter_view.aod index ecfe1548157a26a029eb9d6ca3dabd552485cadc..a33b96878aa90a70f95fb5a6146d2dcb6df3e6cf 100644 --- a/neonView/ExportTemplateFilter_view/ExportTemplateFilter_view.aod +++ b/neonView/ExportTemplateFilter_view/ExportTemplateFilter_view.aod @@ -18,10 +18,6 @@ <name>76bc9ab0-8294-4df1-bdcb-6a86daef2170</name> <entityField>TITLE</entityField> </neonTableColumn> - <neonTableColumn> - <name>29cd8f19-a002-40be-b91b-9c0eab447129</name> - <entityField>ISOLANGUAGE</entityField> - </neonTableColumn> <neonTableColumn> <name>e598db0e-f2d9-43d4-97c4-f1122edf6751</name> <entityField>DESCRIPTION</entityField> @@ -48,10 +44,6 @@ <name>bf2f11c2-8cf0-40da-9692-d09bf8391679</name> <entityField>TITLE</entityField> </neonTreeTableColumn> - <neonTreeTableColumn> - <name>53869967-de33-4f9e-aa36-a11475892322</name> - <entityField>ISOLANGUAGE</entityField> - </neonTreeTableColumn> <neonTreeTableColumn> <name>6c25b35a-c655-4840-a9a7-37a7ac309e1b</name> <entityField>DESCRIPTION</entityField> diff --git a/neonView/ExportTemplateLookup_view/ExportTemplateLookup_view.aod b/neonView/ExportTemplateLookup_view/ExportTemplateLookup_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..a1f2c8f4f1accd5137cb8c02a04df2b35f25a179 --- /dev/null +++ b/neonView/ExportTemplateLookup_view/ExportTemplateLookup_view.aod @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>ExportTemplateLookup_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterable v="true" /> + <layout> + <groupLayout> + <name>layout</name> + </groupLayout> + </layout> + <children> + <tableViewTemplate> + <name>table</name> + <entityField>#ENTITY</entityField> + <isEditable v="true" /> + <columns> + <neonTableColumn> + <name>76bc9ab0-8294-4df1-bdcb-6a86daef2170</name> + <entityField>TITLE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>e598db0e-f2d9-43d4-97c4-f1122edf6751</name> + <entityField>DESCRIPTION</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/ExportTemplateMain_view/ExportTemplateMain_view.aod b/neonView/ExportTemplateMain_view/ExportTemplateMain_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..62d38aa680dc82d8656d31cb66cc138a8510daac --- /dev/null +++ b/neonView/ExportTemplateMain_view/ExportTemplateMain_view.aod @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>ExportTemplateMain_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <masterSlaveLayout> + <name>layout</name> + <master>36db0218-9ae4-4ddd-8405-8ce9e874a31c</master> + </masterSlaveLayout> + </layout> + <children> + <neonViewReference> + <name>36db0218-9ae4-4ddd-8405-8ce9e874a31c</name> + <entityField>#ENTITY</entityField> + <view>ExportTemplatePreview_view</view> + </neonViewReference> + <neonViewReference> + <name>34d357ec-7421-4fc6-9f66-eed0e95bc2f7</name> + <entityField>ExportTemplatePlacesOfUse</entityField> + <view>ExportTemplatePlaceOfUseFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>4a77b26f-e83c-4988-b925-ecc227a1fd09</name> + <entityField>ExportTemplateFields</entityField> + <view>ExportTemplateFieldFilter_view</view> + </neonViewReference> + </children> +</neonView> diff --git a/neonView/ExportTemplatePlaceOfUseEdit_view/ExportTemplatePlaceOfUseEdit_view.aod b/neonView/ExportTemplatePlaceOfUseEdit_view/ExportTemplatePlaceOfUseEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..54c54551b68d108d2428ded56de3574e53026086 --- /dev/null +++ b/neonView/ExportTemplatePlaceOfUseEdit_view/ExportTemplatePlaceOfUseEdit_view.aod @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>ExportTemplatePlaceOfUseEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <size>SMALL</size> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <genericViewTemplate> + <name>ExportTemplateDependencyEditGeneric</name> + <editMode v="true" /> + <hideEmptyFields v="false" /> + <fields> + <entityFieldLink> + <name>41964c70-2475-4989-a717-caae3c470674</name> + <entityField>EXPORTTEMPLATEPLACEOFUSE_ID</entityField> + </entityFieldLink> + <entityFieldLink> + <name>ee620cbf-5c85-4d1a-9a81-b14a55247afc</name> + <entityField>PLACEOFUSE</entityField> + </entityFieldLink> + <entityFieldLink> + <name>a47f76e7-8860-414b-b78c-ea2f4d0b65d4</name> + <entityField>OBJECT_FILTER</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/ExportTemplatePlaceOfUseFilter_view/ExportTemplatePlaceOfUseFilter_view.aod b/neonView/ExportTemplatePlaceOfUseFilter_view/ExportTemplatePlaceOfUseFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..1c4a06528e1798184325f53eb3e925f7eee43604 --- /dev/null +++ b/neonView/ExportTemplatePlaceOfUseFilter_view/ExportTemplatePlaceOfUseFilter_view.aod @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>ExportTemplatePlaceOfUseFilter_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterable v="true" /> + <layout> + <groupLayout> + <name>layout</name> + </groupLayout> + </layout> + <children> + <treeTableViewTemplate> + <name>ExportTemplateDependencyFilterTreeTable</name> + <parentField>EXPORTTEMPLATEPLACEOFUSE_ID</parentField> + <showChildrenCount v="false" /> + <isEditable v="false" /> + <columns> + <neonTreeTableColumn> + <name>d261955e-81db-41dd-9dd3-57f07f92cfc2</name> + <entityField>PLACEOFUSE</entityField> + </neonTreeTableColumn> + </columns> + </treeTableViewTemplate> + </children> +</neonView> diff --git a/neonView/ExportTemplatePlaceOfUseMultiEdit_view/ExportTemplatePlaceOfUseMultiEdit_view.aod b/neonView/ExportTemplatePlaceOfUseGeneric_view/ExportTemplatePlaceOfUseGeneric_view.aod similarity index 53% rename from neonView/ExportTemplatePlaceOfUseMultiEdit_view/ExportTemplatePlaceOfUseMultiEdit_view.aod rename to neonView/ExportTemplatePlaceOfUseGeneric_view/ExportTemplatePlaceOfUseGeneric_view.aod index c32a8477c19869f6a34cce18c963b2a590aca365..443c2f5a0ff3ebfc4382af97d7178f18852e552c 100644 --- a/neonView/ExportTemplatePlaceOfUseMultiEdit_view/ExportTemplatePlaceOfUseMultiEdit_view.aod +++ b/neonView/ExportTemplatePlaceOfUseGeneric_view/ExportTemplatePlaceOfUseGeneric_view.aod @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> - <name>ExportTemplatePlaceOfUseMultiEdit_view</name> + <name>ExportTemplatePlaceOfUseGeneric_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <noneLayout> @@ -8,16 +8,14 @@ </noneLayout> </layout> <children> - <genericMultipleViewTemplate> - <name>genericmultiple</name> - <entityField>#ENTITY</entityField> - <title>Place of Use</title> - <columns> - <neonGenericMultipleTableColumn> - <name>faec9114-95cf-4d47-8f0e-d7d392bff188</name> + <genericViewTemplate> + <name>ExportTemplatePlaceOfUseGenericGeneric</name> + <fields> + <entityFieldLink> + <name>20243d2b-d773-4daf-b0cd-9ac0b762f1fc</name> <entityField>PLACEOFUSE</entityField> - </neonGenericMultipleTableColumn> - </columns> - </genericMultipleViewTemplate> + </entityFieldLink> + </fields> + </genericViewTemplate> </children> </neonView> diff --git a/neonView/ExportTemplatePlaceOfUsePreview_view/ExportTemplatePlaceOfUsePreview_view.aod b/neonView/ExportTemplatePlaceOfUsePreview_view/ExportTemplatePlaceOfUsePreview_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..08b9078db3e9ac7ad5eb50bef25606c3a36a19a6 --- /dev/null +++ b/neonView/ExportTemplatePlaceOfUsePreview_view/ExportTemplatePlaceOfUsePreview_view.aod @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8"> + <name>ExportTemplatePlaceOfUsePreview_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <headerFooterLayout> + <name>layout</name> + <header>ExportTemplateDependencyPreviewCard</header> + </headerFooterLayout> + </layout> + <children> + <cardViewTemplate> + <name>ExportTemplateDependencyPreviewCard</name> + <titleField>PLACEOFUSE</titleField> + </cardViewTemplate> + <genericViewTemplate> + <name>ExportTemplateDependencyPreviewGeneric</name> + <fields> + <entityFieldLink> + <name>a5946581-6806-499b-b402-bd2c06bb01d8</name> + <entityField>OBJECT_FILTER</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/ExportTemplatePreview_view/ExportTemplatePreview_view.aod b/neonView/ExportTemplatePreview_view/ExportTemplatePreview_view.aod index 4a0bbc8895e323d34c9c8f3a8ff7b770382651c5..04c2068b8cf4a454e73479479090dbf319318cfb 100644 --- a/neonView/ExportTemplatePreview_view/ExportTemplatePreview_view.aod +++ b/neonView/ExportTemplatePreview_view/ExportTemplatePreview_view.aod @@ -12,49 +12,24 @@ <cardViewTemplate> <name>card</name> <titleField>TITLE</titleField> - <subtitleField>ISOLANGUAGE</subtitleField> <entityField>#ENTITY</entityField> </cardViewTemplate> <favoriteViewTemplate> <name>Favorites</name> - <objectType>EXPORTTEMPLATE_OBJECTTYPE</objectType> + <objectType>exportTemplateObjectType</objectType> <rowId>#UID</rowId> <entityField>#ENTITY</entityField> <title>favorites</title> </favoriteViewTemplate> - <genericViewTemplate> - <name>generic</name> - <showDrawer v="true" /> - <drawerCaption>Details</drawerCaption> - <entityField>#ENTITY</entityField> - <fields> - <entityFieldLink> - <name>7666c443-e85c-43ce-bfc0-0541c2855f93</name> - <entityField>DESCRIPTION</entityField> - </entityFieldLink> - <entityFieldLink> - <name>50d494c5-268a-4991-a399-36ccd2083b37</name> - <entityField>SENTENCESEPARATOR</entityField> - </entityFieldLink> - <entityFieldLink> - <name>4894f791-3a6a-494c-a765-10cf4341035d</name> - <entityField>FIELDSEPARATOR</entityField> - </entityFieldLink> - <entityFieldLink> - <name>63ba6855-4109-424a-87a7-215921d9d794</name> - <entityField>FIELDDELIMITER</entityField> - </entityFieldLink> - </fields> - </genericViewTemplate> <neonViewReference> - <name>44ad5c03-ae3d-495f-b0ff-141a64e256e4</name> - <entityField>ExportTemplateFields</entityField> - <view>ExportTemplateFieldList_view</view> + <name>12c0fc60-6634-44d0-b0d8-811fa6f91280</name> + <entityField>#ENTITY</entityField> + <view>ExportTemplateDetail_view</view> </neonViewReference> <neonViewReference> - <name>97e15126-23f9-474d-8dec-8c9175214b92</name> - <entityField>ExportTemplateplaceOfUseCon</entityField> - <view>ExportTemplatePlaceOfUseList_view</view> + <name>9a555ec7-b777-4ace-821a-f849c0d87b73</name> + <entityField>ExportTemplateFieldsPreview</entityField> + <view>ExportTemplateFieldList_view</view> </neonViewReference> </children> </neonView> diff --git a/neonView/ExportTemplateSelectionEdit_view/ExportTemplateSelectionEdit_view.aod b/neonView/ExportTemplateSelectionEdit_view/ExportTemplateSelectionEdit_view.aod index 709d825158f14edab0ab418f8b1ed45b4ebcf352..c8a38d3a70239df08c4eb4f5180086a6d50d32fd 100644 --- a/neonView/ExportTemplateSelectionEdit_view/ExportTemplateSelectionEdit_view.aod +++ b/neonView/ExportTemplateSelectionEdit_view/ExportTemplateSelectionEdit_view.aod @@ -31,10 +31,18 @@ <name>35ff004c-98a7-43fe-8739-3e74adb30a1a</name> <entityField>EXPORTTEMPLATE_ID</entityField> </entityFieldLink> + <entityFieldLink> + <name>0db87299-5c4d-4365-97be-294a8a422da2</name> + <entityField>ISOLANGUAGE</entityField> + </entityFieldLink> <entityFieldLink> <name>afcb5cf1-7c78-4649-9178-1635226620ad</name> <entityField>FILENAME</entityField> </entityFieldLink> + <entityFieldLink> + <name>04231c92-8a5e-4b73-b9e6-b316865f443e</name> + <entityField>charset</entityField> + </entityFieldLink> </fields> </genericViewTemplate> <actionsViewTemplate> diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js index 224b5a77583e0cbc17257477e700a4e99b48ed89..40cbdbeaaeb4c3de77866c99dd5d03fed9bf4472 100644 --- a/process/Context_lib/process.js +++ b/process/Context_lib/process.js @@ -1,3 +1,4 @@ +import("JditoFilter_lib"); import("system.logging"); import("Util_lib"); import("system.entities"); diff --git a/process/Dependency_lib/process.js b/process/Dependency_lib/process.js index 0a46b676d5fd6268abaac897730ab76ce7e6b48d..efe81c43ef8249475a569c9732b3fe96a3149a33 100644 --- a/process/Dependency_lib/process.js +++ b/process/Dependency_lib/process.js @@ -1,3 +1,4 @@ +import("Util_lib"); import("Sql_lib"); import("system.favorite"); @@ -16,10 +17,17 @@ Dependency.defaultFunctionForField = function (pTableField) return function (pNewData, pOldData) { let res = []; - if (pNewData[pTableField]) + if (!Utils.isNullOrEmpty(pNewData) + && Utils.isNotNullOrEmptyString(pNewData[pTableField])) + { res.push(pNewData[pTableField]) - if (pOldData[pTableField] && pOldData[pTableField] != pNewData[pTableField]) + } + if (!Utils.isNullOrEmpty(pOldData) + && Utils.isNotNullOrEmptyString(pOldData[pTableField]) + && pOldData[pTableField] != pNewData[pTableField]) + { res.push(pOldData[pTableField]) + } return res; }; } @@ -55,7 +63,10 @@ Dependency.defaultFunctionForFields = function (pTableFields) * @param {String} [pDataTable] The Tablename of the UID Field of the Entity. Is only need for the DB-Recordcontainer. * @param {String} [pSourceField] The Field which one contains the UID of the dependent entity in the relation rable. * - * @example "Person_entity": { "Activity_entity" : { "options" : { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "CONTACTID", "Person", "CONTACT", "ACTIVITY_ID")}} + * @example "Person_entity": +{ "Activity_entity" : +{ "options" : +{ "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "CONTACTID", "Person", "CONTACT", "ACTIVITY_ID")}} * * @return {function} function (pNewData, pOldData) {...} */ @@ -73,6 +84,8 @@ Dependency.defaultFunctionForRelation = function (pRelationTable, pRelationField relationFieldValue = pNewData[pDataTable + "." + pDataField]; } + relationFieldValue = relationFieldValue || pNewData[pDataField]; + return newSelect(pRelationTable + "." + (pSourceField || "OBJECT_ROWID")) .from(pRelationTable) .groupBy(pRelationTable + "." + (pSourceField || "OBJECT_ROWID")) @@ -123,117 +136,214 @@ Dependency.defaultFunctionForFavorites = function (pTableField, pContext) * <br> * The mapping is structured as follows: <br> * - * @example { "Entity_entity" : { "Dependency_entity": { "options" : { "option" : true}, "getUIDsfn" : function (pNewData, pOldData) {return //the IDs of the EntityField } } } } + * @example { "Entity_entity" : +{ "Dependency_entity": +{ "options" : +{ "option" : true}, "getUIDsfn" : function (pNewData, pOldData) {return //the IDs of the EntityField } } } } * * @return {Object} */ Dependency.mapping = function () { return { - "Person_entity": { - "Activity_entity" : { - "options" : { + "BulkMail_entity" : + { + "BulkMailRecipient_entity" : + { + "options" : + { + "isExportable" : true, + "isObservable" : false + }, + "getUIDsfn" : Dependency.defaultFunctionForRelation("BULKMAILRECIPIENT", "BULKMAIL_ID", "BULKMAILID", null, "BULKMAIL", "BULKMAILRECIPIENTID"), + "fieldsToLoad" : ["BULKMAILID"] + } + }, + "BulkMailRecipient_entity" : + { + "Person_entity" : + { + "options" : + { + "isExportable" : true, + "isObservable" : false + }, + "getUIDsfn" : Dependency.defaultFunctionForField("CONTACT_ID"), + "fieldsToLoad" : ["CONTACT_ID"] + } + }, + "Person_entity": + { + "Activity_entity" : + { + "options" : + { "isObservable" : true, "isOwnNotified" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "CONTACTID", "Person", "CONTACT", "ACTIVITY_ID") }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "CONTACTID", "Person", "CONTACT", "TASK_ID") }, - "Favorite_entity" : { - "options" : { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("CONTACT.CONTACTID", "Person") + }, + "Address_entity" : + { + "options" : + { + "isExportable" : true, + "isObservable" : false + }, + "getUIDsfn" : Dependency.defaultFunctionForRelation("ADDRESS", "CONTACT_ID", "CONTACTID", null, "CONTACT", "ADDRESSID"), + "fieldsToLoad" : ["CONTACTID"] } }, - "PrivatePerson_entity": { - "Activity_entity" : { - "options" : { + "PrivatePerson_entity": + { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "PERSONID", "PrivatePerson", "PERSON", "ACTIVITY_ID") }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "PERSONID", "PrivatePerson", "PERSON", "TASK_ID") } }, - "Organisation_entity": { - "Activity_entity" : { - "options" : { + "Organisation_entity": + { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "CONTACTID", "Organisation", "CONTACT", "ACTIVITY_ID") }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "CONTACTID", "Organisation", "CONTACT", "TASK_ID") }, - "Favorite_entity" : { - "options" : { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("CONTACT.CONTACTID", "Organisation") + }, + "Address_entity" : + { + "options" : + { + "isExportable" : true, + "isObservable" : false + }, + "getUIDsfn" : Dependency.defaultFunctionForRelation("ADDRESS", "CONTACT_ID", "CONTACTID", null, "CONTACT", "ADDRESSID"), + "fieldsToLoad" : ["CONTACTID"] + }, + "Offer_entity" : + { + "options" : + { + "isExportable" : true, + "isObservable" : false + }, + "getUIDsfn" : Dependency.defaultFunctionForRelation("OFFER", "CONTACT_ID", "CONTACTID", null, "CONTACT", "OFFERID"), + "fieldsToLoad" : ["CONTACTID"] } }, - "Salesproject_entity": { - "Activity_entity" : { - "options" : { + "Salesproject_entity": + { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "SALESPROJECTID", "Salesproject", "SALESPROJECT", "ACTIVITY_ID") }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "SALESPROJECTID", "Salesproject", "SALESPROJECT", "TASK_ID") }, - "Favorite_entity" : { - "options" : { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("SALESPROJECT.SALESPROJECTID", "Salesproject") } }, - "KnowledgeManagement_entity": { - "Favorite_entity" : { - "options" : { + "KnowledgeManagement_entity": + { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTID", "KnowledgeManagement") } }, - "ExportTemplate_entity": { - "Favorite_entity" : { - "options" : { + "ExportTemplate_entity": + { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("EXPORTTEMPLATE.EXPORTTEMPLATEID", "ExportTemplate") } }, - "Order_entity": { - "Activity_entity" : { - "options" : { + "Order_entity": + { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "SALESORDERID", "Order", "SALESORDER", "ACTIVITY_ID") }, - "Organisation_entity" : { - "options" : { + "Organisation_entity" : + { + "options" : + { "isObservable" : true }, - "getUIDsfn" : function (pRowData, pChangedData) { + "getUIDsfn" : function (pRowData, pChangedData) + { var tableField = "SALESORDER.CONTACT_ID"; var res = []; if (pRowData[tableField]) @@ -243,481 +353,692 @@ Dependency.mapping = function () return res; } }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "SALESORDERID", "Order", "SALESORDER", "TASK_ID") }, - "Favorite_entity" : { - "options" : { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("SALESORDER.SALESORDERID", "Order") } }, - "Contract_entity": { - "Activity_entity" : { - "options" : { + "Contract_entity": + { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "CONTRACTID", "Contract", "CONTRACT", "ACTIVITY_ID") }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "CONTRACTID", "Contract", "CONTRACT", "TASK_ID") }, - "Favorite_entity" : { - "options" : { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("CONTRACT.CONTRACTID", "Contract") } }, - "Product_entity": { - "Activity_entity" : { - "options" : { + "Product_entity": + { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "PRODUCTID", "Product", "PRODUCT", "ACTIVITY_ID") }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "PRODUCTID", "Product", "PRODUCT", "TASK_ID") }, - "Favorite_entity" : { - "options" : { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("PRODUCT.PRODUCTID", "Product") } }, - "Campaign_entity": { - "Activity_entity" : { - "options" : { + "Campaign_entity": + { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "CAMPAIGNID", "Campaign", "CAMPAIGN", "ACTIVITY_ID") }, - "Task_entity" : { - "options" : { + "CampaignStep_entity" : + { + "options" : + { + "isExportable" : true, + "isObservable" : false + }, + "getUIDsfn" : Dependency.defaultFunctionForRelation("CAMPAIGNSTEP", "CAMPAIGN_ID", "CAMPAIGNID", null, "CAMPAIGN", "CAMPAIGNSTEPID"), + "fieldsToLoad" : ["CAMPAIGNID"] + }, + "CampaignParticipant_entity" : + { + "options" : + { + "isExportable" : true, + "isObservable" : false + }, + "getUIDsfn" : Dependency.defaultFunctionForRelation("CAMPAIGNPARTICIPANT", "CAMPAIGN_ID", "CAMPAIGNID", null, "CAMPAIGN", "CAMPAIGNPARTICIPANTID"), + "fieldsToLoad" : ["CAMPAIGNID"] + }, + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "CAMPAIGNID", "Campaign", "CAMPAIGN", "TASK_ID") }, - "Favorite_entity" : { - "options" : { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("CAMPAIGN.CAMPAIGNID", "Campaign") } }, - "SupportTicket_entity" : { - "Activity_entity" : { - "options" : { + "SupportTicket_entity" : + { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "TICKETID", "SupportTicket", "TICKET", "ACTIVITY_ID") }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "TICKETID", "SupportTicket", "TICKET", "TASK_ID") }, - "Favorite_entity" : { - "options" : { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("TASK.TASKID", "SupportTicket") } }, - "Activity_entity" : { - "Person_entity" : { - "options" : { + "CampaignParticipant_entity" : + { + "Person_entity" : + { + "options" : + { + "isExportable" : true, + "isObservable" : false + }, + "getUIDsfn" : Dependency.defaultFunctionForField("PERSON_CONTACT_ID"), + "fieldsToLoad" : ["PERSON_CONTACT_ID"] + } + }, + "Activity_entity" : + { + "Person_entity" : + { + "options" : + { "isObservable" : true, "isOwnNotified" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "ACTIVITY_ID", "ACTIVITYID", "Person", "ACTIVITY") }, - "Organisation_entity" : { - "options" : { + "Organisation_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "ACTIVITY_ID", "ACTIVITYID", "Organisation", "ACTIVITY") }, - "Salesproject_entity" : { - "options" : { + "Salesproject_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "ACTIVITY_ID", "ACTIVITYID", "Salesproject", "ACTIVITY") }, - "Offer_entity" : { - "options" : { + "Offer_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "ACTIVITY_ID", "ACTIVITYID", "Offer", "ACTIVITY") }, - "Order_entity" : { - "options" : { + "Order_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "ACTIVITY_ID", "ACTIVITYID", "Order", "ACTIVITY") }, - "Contract_entity" : { - "options" : { + "Contract_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "ACTIVITY_ID", "ACTIVITYID", "Contract", "ACTIVITY") }, - "Product_entity" : { - "options" : { + "Product_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "ACTIVITY_ID", "ACTIVITYID", "Product", "ACTIVITY") }, - "Campaign_entity" : { - "options" : { + "Campaign_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "ACTIVITY_ID", "ACTIVITYID", "Campaign", "ACTIVITY") } }, - "Address_entity": { - "Organisation_entity" : { - "options" : { + "Address_entity": + { + "Organisation_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("ADDRESS.CONTACT_ID") }, - "Person_entity" : { - "options" : { + "Person_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("ADDRESS.CONTACT_ID") } }, - "AttributeRelation_entity" : { - "Person_entity" : { - "options" : { + "AttributeRelation_entity" : + { + "Person_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("AB_ATTRIBUTERELATION", "AB_ATTRIBUTERELATIONID", "AB_ATTRIBUTERELATIONID", "Person") }, - "Organisation_entity" : { - "options" : { + "Organisation_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("AB_ATTRIBUTERELATION", "AB_ATTRIBUTERELATIONID", "AB_ATTRIBUTERELATIONID", "Organisation") }, - "Activity_entity" : { - "options" : { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("AB_ATTRIBUTERELATION", "AB_ATTRIBUTERELATIONID", "AB_ATTRIBUTERELATIONID", "Activity") }, - "Salesproject_entity" : { - "options" : { + "Salesproject_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("AB_ATTRIBUTERELATION", "AB_ATTRIBUTERELATIONID", "AB_ATTRIBUTERELATIONID", "Salesproject") }, - "Product_entity" : { - "options" : { + "Product_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("AB_ATTRIBUTERELATION", "AB_ATTRIBUTERELATIONID", "AB_ATTRIBUTERELATIONID", "Product") }, - "Employee_entity" : { - "options" : { + "Employee_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("AB_ATTRIBUTERELATION", "AB_ATTRIBUTERELATIONID", "AB_ATTRIBUTERELATIONID", "Employee") }, - "SupportTicket_entity" : { - "options" : { + "SupportTicket_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("AB_ATTRIBUTERELATION", "AB_ATTRIBUTERELATIONID", "AB_ATTRIBUTERELATIONID", "SupportTicket") } }, - "Communication_entity": { - "Person_entity" : { - "options" : { + "Communication_entity": + { + "Person_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("COMMUNICATION.OBJECT_ROWID") }, - "Organisation_entity" : { - "options" : { + "Organisation_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("COMMUNICATION.OBJECT_ROWID") } }, - "CommRestriction_Entity" : { - "Person_entity" : { - "options" : { + "CommRestriction_Entity" : + { + "Person_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("COMMRESTRICTION.CONTACT_ID") }, - "Organisation_entity" : { - "options" : { + "Organisation_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("COMMRESTRICTION.CONTACT_ID") } }, - "Contact_entity" : { - "Person_entity" : { - "options" : { + "Contact_entity" : + { + "Person_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("CONTACT.CONTACTID") } }, - "Document_entity" : { - "Person_entity" : { - "options" : { + "Document_entity" : + { + "Person_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "Organisation_entity" : { - "options" : { + "Organisation_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "Activity_entity" : { - "options" : { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "Salesproject_entity" : { - "options" : { + "Salesproject_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "Offer_entity" : { - "options" : { + "Offer_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "Order_entity" : { - "options" : { + "Order_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "Contract_entity" : { - "options" : { + "Contract_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "Product_entity" : { - "options" : { + "Product_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "Employee_entity" : { - "options" : { + "Employee_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "SupportTicket_entity" : { - "options" : { + "SupportTicket_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") }, - "Campaign_entity" : { - "options" : { + "Campaign_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("assignmentRowID.value") } }, - "ObjectTree_entity": { - "Person_entity" : { - "options" : { + "ObjectTree_entity": + { + "Person_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFields(["PARENT_ID.value", "TARGET_ID.value"]) }, - "Organisation_entity" : { - "options" : { + "Organisation_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFields(["PARENT_ID.value", "TARGET_ID.value"]) } }, - "Member_entity" : { - "Campaign_entity" : { - "options" : { + "Member_entity" : + { + "Campaign_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("OBJECTMEMBER.OBJECT_ROWID") // Evtl einschränken auf Type }, - "Salesproject_entity" : { - "options" : { + "Salesproject_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("OBJECTMEMBER.OBJECT_ROWID") // Evtl einschränken auf Type } }, - "SalesprojectSource_entity" : { - "Salesproject_entity" : { - "options" : { + "SalesprojectSource_entity" : + { + "Salesproject_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("SALESPROJECT_TOUCHPOINT.SALESPROJECT_ID") } }, - "Forecast_entity" : { - "Salesproject_entity" : { - "options" : { + "Forecast_entity" : + { + "Salesproject_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("FORECAST.OBJECT_ROWID") // Evtl einschränken auf Type } }, - "Offer_entity" : { - "Salesproject_entity" : { - "options" : { + "Offer_entity" : + { + "Salesproject_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("OFFER.OBJECT_ROWID") // Evtl einschränken auf Type }, - "Activity_entity" : { - "options" : { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "OFFERID", "Offer", "OFFER", "ACTIVITY_ID") }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "OFFERID", "Offer", "OFFER", "TASK_ID") }, - "Favorite_entity" : { - "options" : { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("OFFER.OFFERID", "Offer") + }, + "Offeritem_entity" : + { + "options" : + { + "isExportable" : true, + "isObservable" : false + }, + "getUIDsfn" : Dependency.defaultFunctionForRelation("OFFERITEM", "OFFER_ID", "OFFERID", null, "OFFER", "OFFERITEMID"), + "fieldsToLoad" : ["OFFERID"] } }, - "DocumentTemplate_entity": { - "Favorite_entity" : { - "options" : { + "DocumentTemplate_entity": + { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID", "DocumentTemplate") } }, - "WorkflowDefinition_entity": { - "Favorite_entity" : { - "options" : { + "WorkflowDefinition_entity": + { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("UID.value", "WorkflowDefinition") } }, - "Competition_entity" : { - "Salesproject_entity" : { - "options" : { + "Competition_entity" : + { + "Salesproject_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("COMPETITION.OBJECT_ROWID") // Evtl einschränken auf Type } }, - "Offeritem_entity" : { - "Offer_entity" : { - "options" : { + "Offeritem_entity" : + { + "Offer_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("OFFERITEM.OFFER_ID") } }, - "Orderitem_entity" : { - "Order_entity" : { - "options" : { + "Orderitem_entity" : + { + "Order_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("SALESORDERITEM.SALESORDER_ID") } }, - "Productprice_entity" : { - "Product_entity" : { - "options" : { + "Productprice_entity" : + { + "Product_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("PRODUCTPRICE.PRODUCT_ID") }, - "Favorite_entity" : { - "options" : { + "Favorite_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForFavorites("PRODUCTPRICE.PRODUCTPRICEID", "Productprice") } }, - "Prod2prod_entity" : { - "Product_entity" : { - "options" : { + "Prod2prod_entity" : + { + "Product_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("SOURCE_ID.value") } }, - "CampaignCost_entity" : { - "Campaign_entity" : { - "options" : { + "CampaignCost_entity" : + { + "Campaign_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("CAMPAIGNCOST.CAMPAIGN_ID") } }, - "CampaignStep_entity" : { - "Campaign_entity" : { - "options" : { + "CampaignStep_entity" : + { + "Campaign_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("CAMPAIGNSTEP.CAMPAIGN_ID") }, - "Activity_entity" : { - "options" : { + "Activity_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("ACTIVITYLINK", "OBJECT_ROWID", "CAMPAIGNSTEPID", "CampaignStep", "CAMPAIGNSTEP") }, - "Task_entity" : { - "options" : { + "Task_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForRelation("TASKLINK", "OBJECT_ROWID", "CAMPAIGNSTEPID", "CampaignStep", "CAMPAIGNSTEP") } }, - "Lead_entity" : { - "Leadimport_entity" : { - "options" : { + "Lead_entity" : + { + "Leadimport_entity" : + { + "options" : + { "isObservable" : true }, "getUIDsfn" : Dependency.defaultFunctionForField("LEADS.LEADIMPORT_ID") diff --git a/process/ExportTemplate_lib/process.js b/process/ExportTemplate_lib/process.js index 07ed68ab7557f351d24df31578bb97187cc7544d..0dc59363f125d7bd5cc256acfefe337008c86b34 100644 --- a/process/ExportTemplate_lib/process.js +++ b/process/ExportTemplate_lib/process.js @@ -1,3 +1,7 @@ +import("system.project"); +import("Dependency_lib"); +import("Context_lib"); +import("system.entities"); import("system.neon"); import("system.vars"); import("Address_lib"); @@ -9,6 +13,7 @@ import("system.datetime"); import("system.text"); import("system.translate"); import("system.util"); +import("Util_lib"); /** * Methods used for ExportTemplates and exporting Fieldvalues using those templates @@ -23,70 +28,293 @@ function ExportTemplateUtils() {} * * @param {String} pExportTemplateId export template id * @param {Array} pSelection Contacts/Organisations you want to export (either via selecion by filterconditions) - * @param {String} pComingFrom source from where you started (e.g. "PERSON", "ORGANISATION" ) * @param {String} pFilename (opt.) name of the exported file (if left blank -> "templateTitle_dd.MM.yyyy.HH:mm:ss") + * @param {String} pCharset the charset of the exported base64-encoded CSV * * @return {Object} {content: base64-encoded CSV; * filename: filename} - * */ -ExportTemplateUtils.buildExport = function (pExportTemplateId, pSelection, pComingFrom, pFilename) +ExportTemplateUtils.buildExport = function (pExportTemplateId, pSelection, pFilename, pCharset) { //Gets all the relevant data from the chosen template - var templateId = pExportTemplateId; - var templateData = ExportTemplateUtils.getTemplateData(templateId); + var templateData = ExportTemplateUtils.getTemplateData(pExportTemplateId); var templateTitle = templateData[0]; var language = templateData[1]; var sentenceSeparator = ExportTemplateUtils.getSentenceSeparator(templateData[2]); var fieldSeparator = ExportTemplateUtils.getFieldSeparator(templateData[3]); var fieldDeLimiter = ExportTemplateUtils.getFieldDeLimiter(templateData[4]); var filename = pFilename; - var fields = ExportTemplateUtils.getTemplateFields(templateId); - var comingFrom = pComingFrom; var selection = pSelection; - var filteredIdcondition; var csvTable; - var fieldtitles = []; if(!selection.includes("{", 0)) //checks if data is selected { selection = []; selection = JSON.parse(pSelection); //makes an array of the ContactIds/OrganisationIds of the selected data - } + } - if(filename == null || filename == undefined || filename.trim() == "") //if the user didn't choose a filename => generate one automatically + if(Utils.isNullOrEmptyString(filename))//if the user didn't choose a filename => generate one automatically + { filename = ExportTemplateUtils.getExportFileName(templateTitle, "UTC"); - filename += ".csv"; - - //selects all the placeholders needed in the correct order - var placeholders = PlaceholderUtils.getPlaceholders(language); //selects all placeholders - var affectedPlaceholders = []; - for (let i = 0; i < fields.length; i++) { - var placeholderField = placeholders.find(function(placeholder){ - return placeholder.getFormattedName() == fields[i]; - }) - if(placeholderField) - affectedPlaceholders.push(placeholderField); } + + filename += ".csv"; + + let data = new ExportTemplateData(pExportTemplateId).getMainExportData(selection); + + csvTable = text.toCSV(data, sentenceSeparator, fieldSeparator, fieldDeLimiter); //generates the CSV with the correct separators + csvTable = util.encodeBase64String(csvTable, pCharset || "UTF-8"); //converts to Base64 (for neon.Download) + + return { + content : csvTable, + filename : filename, + title : templateTitle + }; +} + +/** + * This class takes over the creation of the data for the export. + * + * @param {String} pExportTemplateId export template id + */ +function ExportTemplateData(pExportTemplateId) +{ + this.exportTemplateId = pExportTemplateId; + + this.placesOfUse = + newSelect([ + "EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATEPLACEOFUSEID", + "EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATEPLACEOFUSE_ID", + "EXPORTTEMPLATEPLACEOFUSE.OBJECT_FILTER", + "EXPORTTEMPLATEPLACEOFUSE.PLACEOFUSE" + ]) + .from("EXPORTTEMPLATEPLACEOFUSE") + .where("EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATE_ID", this.exportTemplateId) + .orderBy("EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATEPLACEOFUSE_ID DESC") + .table(); + + this.placesOfUseFields = { + "EXPORTTEMPLATEPLACEOFUSEID" : 0, + "EXPORTTEMPLATEPLACEOFUSE_ID" : 1, + "OBJECT_FILTER" : 2, + "PLACEOFUSE" : 3 + }; + + let fields = newSelect([ + "EXPORTTEMPLATEFIELD.EXPORTTEMPLATEPLACEOFUSE_ID", + "EXPORTTEMPLATEFIELD.FIELD", + "EXPORTTEMPLATEPLACEOFUSE.PLACEOFUSE" + ]) + .from("EXPORTTEMPLATEFIELD") + .rightJoin("EXPORTTEMPLATEPLACEOFUSE", + newWhere("EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATE_ID", this.exportTemplateId) + .and("EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATEPLACEOFUSEID = EXPORTTEMPLATEFIELD.EXPORTTEMPLATEPLACEOFUSE_ID")) + .where("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", this.exportTemplateId) + .orderBy("EXPORTTEMPLATEFIELD.SORTING") + .table(); + + let fieldsObjectFields = {}; + fieldsObjectFields.EXPORTTEMPLATEPLACEOFUSE_ID = 0; + fieldsObjectFields.FIELD = 1; + fieldsObjectFields.PLACEOFUSE = 2; + + this.fields = {}; + this.exportData = []; + let exportHeader = []; + + fields.forEach(function (pField, pIndex) + { + + if (Utils.isNullOrEmpty(this.fields[pField[fieldsObjectFields.EXPORTTEMPLATEPLACEOFUSE_ID]])) + { + this.fields[pField[fieldsObjectFields.EXPORTTEMPLATEPLACEOFUSE_ID]] = {}; + } + + let field = this.fields[pField[fieldsObjectFields.EXPORTTEMPLATEPLACEOFUSE_ID]]; + + field[pField[fieldsObjectFields.FIELD]] = pIndex; + // Override the value with the displayValue if exists + field[pField[fieldsObjectFields.FIELD]+ ".displayValue"] = pIndex; + + let entity = ContextUtils.getEntity(pField[fieldsObjectFields.PLACEOFUSE]); + let fields = project.getEntityStructure(entity).fields; + + exportHeader.push(fields[pField[fieldsObjectFields.FIELD]].title); + + }, this); + + this.exportData.push(exportHeader); + // starts at one, because the headers of the columns were inserted before the content. + this.exportIndex = 1; +} + +/** + * Starts the recursion with the main place of use. + * + * @param {String} pSelection stringified filter or a array of ids + */ +ExportTemplateData.prototype.getMainExportData = function (pSelection) +{ + this.placesOfUse.forEach(function (pPlaceOfUse, pIndex, pPlacesOfUse) { + // get the MainPlaceOfUse to start the recrusion + if (Utils.isNullOrEmptyString(pPlaceOfUse[this.placesOfUseFields.EXPORTTEMPLATEPLACEOFUSE_ID])) + { + let placeOfUse = pPlacesOfUse.splice(pIndex, 1)[0]; + placeOfUse[this.placesOfUseFields.OBJECT_FILTER] = JSON.stringify(pSelection); + this.getExportData(placeOfUse, [], 0); + return; // Currently there can only be one MainPlaceOfUse. + } + }, this); + return this.exportData; +} - var replaced = getAddressesData(selection, affectedPlaceholders, null, null); //replaces all the placeholders with values - replaced = replaced.slice(1,replaced.length); //needed in order to remove the weird first line of the Array +/** + * Get and process recursive data. + * + * @param {String} pPlaceOfUse the place of use object with the filter object + * @param {Number} pParentCurrentIndex the index of the parrent place of use + * @param {Array} pIDs the ids to filter on + */ +ExportTemplateData.prototype.getExportData = function (pPlaceOfUse, pIDs, pParentCurrentIndex) +{ + let currentIndex = pParentCurrentIndex; + var placeOfUseEntity = ContextUtils.getEntity(pPlaceOfUse[this.placesOfUseFields.PLACEOFUSE]); + - for (let i = 0; i < affectedPlaceholders.length; i++) + if (Utils.isNullOrEmpty(this.fields[pPlaceOfUse[this.placesOfUseFields.EXPORTTEMPLATEPLACEOFUSEID]])) { - fieldtitles[i] = affectedPlaceholders[i].title; //gets the translations for the Labelling + return 0; } + // get only the fields of the current PlaceOfUse + let placeOfUseFields = Object.keys(this.fields[pPlaceOfUse[this.placesOfUseFields.EXPORTTEMPLATEPLACEOFUSEID]]); + + let dependentFieldsToLoad = []; + let dependentPlaceOfUse = []; + + this.placesOfUse.forEach(function (pPotentialChildPlaceOfUse, pIndex, pPlacesOfUse) + { + // if pPotentialChildPlaceOfUse is a child of pPlaceOfUse + if (pPotentialChildPlaceOfUse[this.placesOfUseFields.EXPORTTEMPLATEPLACEOFUSE_ID] === pPlaceOfUse[this.placesOfUseFields.EXPORTTEMPLATEPLACEOFUSEID]) + { + // Remove PlaceOfUse of this.placesOfUse + //let placeOfUse = pPlacesOfUse.splice(pIndex, 1)[0]; + dependentPlaceOfUse.push(pPotentialChildPlaceOfUse); + + let dependency = ContextUtils.getEntity(pPotentialChildPlaceOfUse[this.placesOfUseFields.PLACEOFUSE]); + dependentFieldsToLoad = dependentFieldsToLoad.concat(Dependency.mapping()[placeOfUseEntity][dependency]["fieldsToLoad"]); // Dependency.mapping()[placeOfUseEntity][dependency]["fieldsToLoad"][0] == "PERSON_CONTACT_ID" + } + }, this); + + var data = this.getFilterData(pPlaceOfUse, placeOfUseEntity, placeOfUseFields, dependentFieldsToLoad, pIDs); + + let placeOfUseId = pPlaceOfUse[this.placesOfUseFields.EXPORTTEMPLATEPLACEOFUSEID]; + var maxCount = 0; + let sumcount = 0; + data.forEach(function (pRow, pIndex) + { + maxCount = 1; + dependentPlaceOfUse.forEach(function (pDependentPlaceOfUse) + { + let dependency = ContextUtils.getEntity(pDependentPlaceOfUse[this.placesOfUseFields.PLACEOFUSE]); + let dependentIds = Dependency.mapping()[placeOfUseEntity][dependency].getUIDsfn(pRow); + + maxCount = Math.max(this.getExportData(pDependentPlaceOfUse, dependentIds, currentIndex), maxCount); + }, this); + + if (!Utils.toBoolean(dependentPlaceOfUse.length)) + { + // Last Level + this.setExportData(pRow, maxCount, placeOfUseId, currentIndex + pIndex); + } + else + { + // After all Levels are finish + this.setExportData(pRow, maxCount, placeOfUseId, currentIndex); + currentIndex += maxCount; + if (Utils.isNullOrEmptyString(pPlaceOfUse[this.placesOfUseFields.EXPORTTEMPLATEPLACEOFUSE_ID])) + { + currentIndex = pParentCurrentIndex; + this.exportIndex += maxCount; + } + } + sumcount += maxCount; + + }, this); + + return Math.max(sumcount, maxCount); +} - replaced.unshift(fieldtitles); //adds the translated Titles at the top of the table (columnHeadlines basically) - - csvTable = text.toCSV(replaced, sentenceSeparator, fieldSeparator, fieldDeLimiter); //generates the CSV with the correct separators - csvTable = util.encodeBase64String(csvTable); //converts to Base64 (for neon.Download) + +/** + * Set the overtaken data into the export array. + * + * @param {Object} pPlaceOfUse the place of use object with the filter object + * @param {String} pPlaceOfUseEntity the entity through which the data is loaded + * @param {Array} pPlaceOfUseFileds the place of use id of the current place of use + * @param {Array} pDependentFieldsToLoad fields of the dependencies to get the conection between the enties + * @param {Array} pIDs the ids to filter on + */ +ExportTemplateData.prototype.getFilterData = function (pPlaceOfUse, pPlaceOfUseEntity, pPlaceOfUseFileds, pDependentFieldsToLoad, pIDs) +{ + let fields = pPlaceOfUseFileds.concat(pDependentFieldsToLoad); + // remove duplicate fields + fields = Array.from(new Set(fields)); + var filter = JSON.parse(pPlaceOfUse[this.placesOfUseFields.OBJECT_FILTER]); + var config = entities.createConfigForLoadingRows() + .entity(pPlaceOfUseEntity) + .fields(fields); - return {content : csvTable, - filename : filename - }; -}; + if (Utils.isObject(filter) && Array.isArray(filter)) + { + pIDs = pIDs.concat(filter); + } + else + { + config.filter(JSON.stringify(filter.filter)); + } + + config.uids(pIDs); + + let rows = []; + + if (pIDs.length > 0) + { + rows = entities.getRows(config); + } + + return rows; +} + +/** + * Set the overtaken data into the export array. + * + * @param {Array} pDataRow the data, which will be inserted + * @param {Number} pMaxCount the number of repeated data insertion + * @param {String} pPlaceOfUseId the place of use id of the current place of use + * @param {Number} pIndex the index of the current row + */ +ExportTemplateData.prototype.setExportData = function (pDataRow, pMaxCount, pPlaceOfUseId, pIndex) +{ + let fieldsPlaceOfUse = this.fields[pPlaceOfUseId]; + for (let i = 0; i < pMaxCount; i++) + { + let index = this.exportIndex + i + pIndex; + if (Utils.isNullOrEmpty(this.exportData[index])) + { + // Create an empty array the length of the header with empty strings + this.exportData[index] = new Array(this.exportData[0].length).fill(""); + } + + for (let field in fieldsPlaceOfUse) + { + if (!Utils.isNullOrEmptyString(pDataRow[field])) + { + this.exportData[index][fieldsPlaceOfUse[field]] = pDataRow[field]; + } + } + } +} /** * Gets an Array of all the Fields of a ExportTemplate using it's unique exportTemplateId. @@ -99,10 +327,10 @@ ExportTemplateUtils.buildExport = function (pExportTemplateId, pSelection, pComi ExportTemplateUtils.getTemplateFields = function (pExportTemplateId) { return newSelect("EXPORTTEMPLATEFIELD.FIELD") - .from("EXPORTTEMPLATEFIELD") - .where("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", pExportTemplateId) - .orderBy("EXPORTTEMPLATEFIELD.SORTING") - .arrayColumn(); + .from("EXPORTTEMPLATEFIELD") + .where("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", pExportTemplateId) + .orderBy("EXPORTTEMPLATEFIELD.SORTING") + .arrayColumn(); }; /** @@ -116,7 +344,10 @@ ExportTemplateUtils.getTemplateFields = function (pExportTemplateId) ExportTemplateUtils.getExportFileName = function (pTemplateTitle, pTimeZone) { if(pTimeZone == null || pTimeZone == undefined) + { pTimeZone = "UTC"; + } + var exportFileName = pTemplateTitle + "_" + datetime.toDate(datetime.date(), "dd.MM.yyyy.HH:mm:ss", pTimeZone); return exportFileName; @@ -132,10 +363,10 @@ ExportTemplateUtils.getExportFileName = function (pTemplateTitle, pTimeZone) ExportTemplateUtils.getTemplateData = function (pExportTemplateId) { var data = newSelect(["EXPORTTEMPLATE.TITLE", "EXPORTTEMPLATE.ISOLANGUAGE", "EXPORTTEMPLATE.SENTENCESEPARATOR", - "EXPORTTEMPLATE.FIELDSEPARATOR", "EXPORTTEMPLATE.FIELDDELIMITER"]) - .from("EXPORTTEMPLATE") - .where("EXPORTTEMPLATE.EXPORTTEMPLATEID", pExportTemplateId) - .arrayRow(); + "EXPORTTEMPLATE.FIELDSEPARATOR", "EXPORTTEMPLATE.FIELDDELIMITER"]) + .from("EXPORTTEMPLATE") + .where("EXPORTTEMPLATE.EXPORTTEMPLATEID", pExportTemplateId) + .arrayRow(); data[1] = LanguageKeywordUtils.Iso2FromIso3(data[1]) //needed to get the language in the right format return data; }; @@ -152,10 +383,16 @@ ExportTemplateUtils.getTemplateData = function (pExportTemplateId) */ ExportTemplateUtils.getSentenceSeparator = function (pSentenceSeparator) { - if(pSentenceSeparator == "carriage return and line feed") - return "\r\n"; - else - return pSentenceSeparator; + if(pSentenceSeparator == "carriage return and line feed") + { + return "\r\n"; + } + + else + { + return pSentenceSeparator; + } + }; /** @@ -170,14 +407,20 @@ ExportTemplateUtils.getSentenceSeparator = function (pSentenceSeparator) */ ExportTemplateUtils.getFieldSeparator = function (pFieldSeparator) { - if(pFieldSeparator == "tabulator") - return "\t"; - else if(pFieldSeparator == "comma") + if(pFieldSeparator == "tabulator") + { + return "\t"; + } + else if(pFieldSeparator == "comma") + { return ","; - else if(pFieldSeparator == "semicolon") + } + else if(pFieldSeparator == "semicolon") + { return ";"; - else - return pFieldSeparator; + } + + return pFieldSeparator; }; /** @@ -192,10 +435,12 @@ ExportTemplateUtils.getFieldSeparator = function (pFieldSeparator) */ ExportTemplateUtils.getFieldDeLimiter = function (pFieldDeLimiter) { - if(pFieldDeLimiter == "quotation mark") - return "\""; - else - return pFieldDeLimiter; + if(pFieldDeLimiter == "quotation mark") + { + return "\""; + } + + return pFieldDeLimiter; }; /** @@ -208,39 +453,52 @@ ExportTemplateUtils.getFieldDeLimiter = function (pFieldDeLimiter) ExportTemplateUtils.getExportTemplateTitle = function (pExportTemplateId) { return newSelect("EXPORTTEMPLATE.TITLE") - .from("EXPORTTEMPLATE") - .where("EXPORTTEMPLATE.EXPORTTEMPLATEID", pExportTemplateId) - .cell(true); + .from("EXPORTTEMPLATE") + .where("EXPORTTEMPLATE.EXPORTTEMPLATEID", pExportTemplateId) + .cell(true); }; /** - * Export contacts or organistaions by contactIds.<br> + * Export contacts or organistaions by selection (filter or a array of ids).<br> * - * @param {String} pRowIds <p> - * The contact ids as JSON array.<br> + * @param {String} pSelection <p> + * filter or a array of ids * @param {String} pSourceTableName <p> * The source table.<br> */ -ExportTemplateUtils.addParticipantsByRowIds = function (pRowIds, pSourceTableName) +ExportTemplateUtils.addParticipants = function (pSelection, pSourceTableName) { - var params = { - "selectedData_param" : pRowIds, - "comingFrom_param" : pSourceTableName} + var params = { + "selectedData_param" : pSelection, + "comingFrom_param" : pSourceTableName + } neon.openContext("ExportTemplateSelection", "ExportTemplateSelectionEdit_view", null, neon.OPERATINGSTATE_VIEW, params); -}; +} /** - * Export contacts or organistaions by condition (filter).<br> + * Returns the exculed fields of the export entity. These fields cannot be exported. * - * @param {String} pCondition <p> - * Contact ids. - * @param {String} pSourceTableName <p> - * The source table.<br> + * @return {Object} {"Entity_entity" : ["exculdedFieldName",...], ...} */ -ExportTemplateUtils.addParticipantsByCondition = function (pCondition, pSourceTableName) +ExportTemplateUtils.excludedFields = function () { - var params = { - "selectedData_param" : pCondition, - "comingFrom_param" : pSourceTableName} - neon.openContext("ExportTemplateSelection", "ExportTemplateSelectionEdit_view", null, neon.OPERATINGSTATE_VIEW, params); -}; \ No newline at end of file + return { + "Offer_entity":["OFFER_ID"], + "Offeritem_entity":["ASSIGNEDTO", "ITEMSORT", "OFFER_ID"] + }; +} + +/** + * Thees are the Entities which can be selected in the ExportTemplatePlaceOfUseFilter_view. + */ +ExportTemplateUtils.exportableEntities = function () +{ + return [ + "BulkMail_entity", + "Campaign_entity", + "Offer_entity", + "Organisation_entity", + "Person_entity", + "Salesproject_entity" + ]; +} \ No newline at end of file diff --git a/process/JditoFilter_lib/process.js b/process/JditoFilter_lib/process.js index 3369e0cfd4840368d4dc47adaa9380ab9ae90214..29b6ee9e6a0d8cd49e647ca37e00d095929ba85a 100644 --- a/process/JditoFilter_lib/process.js +++ b/process/JditoFilter_lib/process.js @@ -1,3 +1,4 @@ +import("Context_lib"); import("system.vars"); import("system.tools"); import("system.logging"); @@ -512,6 +513,44 @@ JditoFilterUtils.getEmptyFilter = function (pEntity) return JSON.stringify(emptyFilter); } +/** + * Returns an object with the entity and filter as string. + * If filter or entity are not set, they are set to an empty filter and the current entity. + * + * @param {String} [pEntity] + * @param {Object} [pFilterObj] + * + * @return {String} Object in Format: {"filter": {"type":"group","operator":"AND","childs":[...]}, "entity": "Entity_entity"} + */ +JditoFilterUtils.getEntityFilter = function (pEntity, pFilterObj) +{ + if (!pEntity) + pEntity = ContextUtils.getEntity(ContextUtils.getCurrentContextId()); + if (!pFilterObj) + { + return JditoFilterUtils.getEmptyFilter(pEntity); + } + + return JSON.stringify({ + "filter":pFilterObj, + "entity":pEntity + }); +} + +/** + * Returns an object with the entity and filter as string. + * If filter or context are not set, they are set to an empty filter and the context of the current entity. + * + * @param {String} [pContext] + * @param {Object} [pFilter] + * + * @return {String} Object in Format: {"filter": {"type":"group","operator":"AND","childs":[...]}, "entity": "Entity_entity"} + */ +JditoFilterUtils.getContextFilter = function (pContext, pFilter) +{ + return JditoFilterUtils.getEntityFilter(ContextUtils.getEntity(pContext), pFilter); +} + /** * Object for translating a filter object to a sql condition. diff --git a/process/Observation_lib/process.js b/process/Observation_lib/process.js index 7037b65adf630093f6efb2d95493cdc30aa1fffc..b90768b91d3fc9479af4ebda50b97d225408bb96 100644 --- a/process/Observation_lib/process.js +++ b/process/Observation_lib/process.js @@ -1,3 +1,4 @@ +import("JditoFilter_lib"); import("Keyword_lib"); import("Util_lib"); import("system.neon"); @@ -803,7 +804,7 @@ Observation.insertAction = function () } else { - let filter = Observation.getContextFilter(contextId,vars.get("$sys.filter").filter); + let filter = JditoFilterUtils.getContextFilter(contextId,vars.get("$sys.filter").filter); params["ObjectFilter_param"] = filter; } @@ -824,11 +825,14 @@ Observation.cancelAction = function () let cond = newWhere("OBSERVATION.OBJECT_TYPE", contextID) .and("OBSERVATION.OBSERVER", observer); - if (selectedUIDs.length){ + if (selectedUIDs.length) + { cond.and("OBSERVATION.OBJECT_ID", selectedUIDs, SqlBuilder.IN()) .deleteData(true, "OBSERVATION"); - } else { - let filter = Observation.getContextFilter(contextID,vars.get("$sys.filter").filter); + } + else + { + let filter = JditoFilterUtils.getContextFilter(contextID,vars.get("$sys.filter").filter); cond.and("OBSERVATION.OBJECT_FILTER", filter, SqlBuilder.LIKE()) .deleteData(true, "OBSERVATION"); @@ -930,7 +934,7 @@ Observation.countObservations = function (pSelectedUIDs) if (pSelectedUIDs && pSelectedUIDs.length){ rowCount.and("OBSERVATION.OBJECT_ID", pSelectedUIDs, SqlBuilder.IN()); } else { - rowCount.and("OBSERVATION.OBJECT_FILTER", Observation.getContextFilter(contextID,vars.get("$sys.filter").filter), SqlBuilder.LIKE()); + rowCount.and("OBSERVATION.OBJECT_FILTER", JditoFilterUtils.getContextFilter(contextID,vars.get("$sys.filter").filter), SqlBuilder.LIKE()); } return parseInt(rowCount.cell()); } @@ -968,46 +972,6 @@ Observation.actionState = function (pSelectedUIDs, pIsCancelAction) } } -/** - * Returns an object with the entity and filter. - * If filter or entity are not set, they are set to an empty filter and the current entity. - * - * @param {String} [pEntity] - * @param {Object} [pFilterObj] - * @return {Object} Object in Format: {"filter": {"type":"group","operator":"AND","childs":[...]}, "entity": "Entity_entity"} - */ -Observation.getEntityFilter = function (pEntity, pFilterObj) -{ - if (!pEntity) - pEntity = ContextUtils.getEntity(ContextUtils.getCurrentContextId()); - if (!pFilterObj) - { - pFilterObj = { - "type":"group", - "operator":"AND", - "childs":[] - }; - } - - return JSON.stringify({ - "filter":pFilterObj, - "entity":pEntity - }); -} - -/** - * Returns an object with the entity and filter. - * If filter or context are not set, they are set to an empty filter and the context of the current entity. - * - * @param {String} [pContext] - * @param {Object} [pFilter] - * @return {Object} Object in Format: {"filter": {"type":"group","operator":"AND","childs":[...]}, "entity": "Entity_entity"} - */ -Observation.getContextFilter = function (pContext, pFilter) -{ - return Observation.getEntityFilter(ContextUtils.getEntity(pContext), pFilter); -} - /** * Gives all possible fields which can be observed. * diff --git a/process/buildExport_serverProcess/buildExport_serverProcess.aod b/process/buildExport_serverProcess/buildExport_serverProcess.aod new file mode 100644 index 0000000000000000000000000000000000000000..845ca703843de1c8c9732b551712e616ae8af35a --- /dev/null +++ b/process/buildExport_serverProcess/buildExport_serverProcess.aod @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.2"> + <name>buildExport_serverProcess</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <process>%aditoprj%/process/buildExport_serverProcess/process.js</process> + <variants> + <element>EXECUTABLE</element> + </variants> +</process> diff --git a/process/buildExport_serverProcess/process.js b/process/buildExport_serverProcess/process.js new file mode 100644 index 0000000000000000000000000000000000000000..19f950b047f91924a1d4a966a7e76122a15f4bb9 --- /dev/null +++ b/process/buildExport_serverProcess/process.js @@ -0,0 +1,42 @@ +import("Util_lib"); +import("ExportTemplate_lib"); +import("Document_lib"); +import("system.text"); +import("system.translate"); +import("Binary_lib"); +import("system.util"); +import("Bulkmail_lib"); +import("system.result"); +import("system.vars"); +import("KeywordRegistry_basic"); +import("system.notification"); + +var user = vars.get("$local.user"); +var selection = JSON.parse(vars.get("$local.selection")); +var exportTemplateId = vars.get("$local.exportTemplateId"); +var charset = vars.get("$local.charset"); +var filename = vars.get("$local.filename"); + +var document = ExportTemplateUtils.buildExport(exportTemplateId, selection, filename, charset); + +let id = SingleBinaryUtils.set("EXPORTTEMPLATE", "EXPORTFILE", exportTemplateId, document.content, document.filename, ""); + +if (id === true) +{ + id = SingleBinaryUtils.getMetadata("EXPORTTEMPLATE", "EXPORTFILE", exportTemplateId, null, null).id; +} + +var message = translate.text("Download ready"); +var description = translate.withArguments("Export CSV \"%0\" can now be downloaded", [document.title]); + +var notificationConfig = notification.createConfig() +.initialState(notification.STATE_UNSEEN) +.forcedPriority(notification.PRIO_NORMAL) +.linkInfo(text.encodeMS(["Document", id])) +.daysToLive(2) +.addUserWithId(user) +.notificationType("DownloadReady") +.caption(message) +.description(description); + +notification.addNotificationWith(notificationConfig); \ No newline at end of file