diff --git a/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_CommunicationMedium.xml b/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_CommunicationMedium.xml index a45c7c9d215d6a8fe3bda55c8d567d60e598f99f..14da74fff976569710a26ebb18a7b23bded7a802 100644 --- a/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_CommunicationMedium.xml +++ b/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_CommunicationMedium.xml @@ -176,6 +176,18 @@ <param value="0b12da28-e132-4a91-a9ca-beceb811fa44" /> </whereParams> </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="135eef4c-4c98-4f6a-8b9d-a5dee5b60d31" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="42e5f9eb-a1f7-4aba-81b6-507a935de624" /> + </whereParams> + </delete> </rollback> </changeSet> </databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_CommunicationMediumCampaign.xml b/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_CommunicationMediumCampaign.xml new file mode 100644 index 0000000000000000000000000000000000000000..d8d795d2d8684c4ec60a7b1e728f93433efd5538 --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_CommunicationMediumCampaign.xml @@ -0,0 +1,239 @@ +<?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="s.leierseder" id="e05723fe-c397-4a6a-bad3-f640c710dea7"> + <insert tableName="AB_KEYWORD_ATTRIBUTE"> + <column name="AB_KEYWORD_ATTRIBUTEID" value="5e65d4a0-af83-4a7b-babb-b1b7af4b9f20"/> + + <column name="NAME" value="AdvertisingBan"/> + <column name="CONTAINER" value="CommunicationMediumCampaign"/> + <column name="TYPE" value="CHAR_VALUE"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTE"> + <column name="AB_KEYWORD_ATTRIBUTEID" value="d6c0fd72-ded2-4e4d-adf5-f8832d7b24f2"/> + + <column name="NAME" value="AdvertisingBanIcon"/> + <column name="CONTAINER" value="CommunicationMediumCampaign"/> + <column name="TYPE" value="CHAR_VALUE"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="2acd3694-ccef-4d0b-ae7a-b3d31f8d9cc0"/> + + <column name="KEYID" value="97a53bf1-0862-4973-a774-d2b8eeb78006"/> + <column name="TITLE" value="Phone"/> + <column name="CONTAINER" value="CommunicationMediumCampaign"/> + <column name="SORTING" valueNumeric="0"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="ca0302d1-23ec-49a3-a076-ea14854d5b92"/> + <column name="AB_KEYWORD_ENTRY_ID" value="2acd3694-ccef-4d0b-ae7a-b3d31f8d9cc0"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="5e65d4a0-af83-4a7b-babb-b1b7af4b9f20"/> + <column name="CHAR_VALUE" value="No calls"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="08976dd1-ae7e-4c33-b5a3-c2889a295651"/> + <column name="AB_KEYWORD_ENTRY_ID" value="2acd3694-ccef-4d0b-ae7a-b3d31f8d9cc0"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="d6c0fd72-ded2-4e4d-adf5-f8832d7b24f2"/> + <column name="CHAR_VALUE" value="VAADIN:PHONE"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="cb07397b-a976-4960-b8e5-9edf189c5caf"/> + + <column name="KEYID" value="8d25a426-808d-4f57-8637-7319f3b4be41"/> + <column name="TITLE" value="E-Mail"/> + <column name="CONTAINER" value="CommunicationMediumCampaign"/> + <column name="SORTING" valueNumeric="1"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="9d8e534d-9c34-4cb7-b0bb-7428e8942482"/> + <column name="AB_KEYWORD_ENTRY_ID" value="cb07397b-a976-4960-b8e5-9edf189c5caf"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="5e65d4a0-af83-4a7b-babb-b1b7af4b9f20"/> + <column name="CHAR_VALUE" value="No mails"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="6767aead-da3c-4ce4-a95c-fbd6f4401c53"/> + <column name="AB_KEYWORD_ENTRY_ID" value="cb07397b-a976-4960-b8e5-9edf189c5caf"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="d6c0fd72-ded2-4e4d-adf5-f8832d7b24f2"/> + <column name="CHAR_VALUE" value="VAADIN:AT"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="990a03e0-aeb4-4bdb-9d22-09b66eee6b85"/> + + <column name="KEYID" value="accb9390-757a-4549-9c03-7c8219260055"/> + <column name="TITLE" value="Letter"/> + <column name="CONTAINER" value="CommunicationMediumCampaign"/> + <column name="SORTING" valueNumeric="2"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="766e211d-07ed-4d23-b5e9-f455511811d8"/> + <column name="AB_KEYWORD_ENTRY_ID" value="990a03e0-aeb4-4bdb-9d22-09b66eee6b85"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="5e65d4a0-af83-4a7b-babb-b1b7af4b9f20"/> + <column name="CHAR_VALUE" value="No letters"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="9d09f8a7-dc4b-4a70-b1e3-d5f607637c0b"/> + <column name="AB_KEYWORD_ENTRY_ID" value="990a03e0-aeb4-4bdb-9d22-09b66eee6b85"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="d6c0fd72-ded2-4e4d-adf5-f8832d7b24f2"/> + <column name="CHAR_VALUE" value="VAADIN:ENVELOPE"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="51085b8b-ded0-4d1d-9e85-ae89bd1480fe"/> + + <column name="KEYID" value="1f1bd64b-da10-4c81-84fd-9fa57dff736e"/> + <column name="TITLE" value="Fax"/> + <column name="CONTAINER" value="CommunicationMediumCampaign"/> + <column name="SORTING" valueNumeric="3"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1e6a750e-fd92-49b3-90b0-11ba277b3c82"/> + <column name="AB_KEYWORD_ENTRY_ID" value="51085b8b-ded0-4d1d-9e85-ae89bd1480fe"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="5e65d4a0-af83-4a7b-babb-b1b7af4b9f20"/> + <column name="CHAR_VALUE" value="No fax"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c3a88502-d1a7-4af0-b30c-396a66d3c195"/> + <column name="AB_KEYWORD_ENTRY_ID" value="51085b8b-ded0-4d1d-9e85-ae89bd1480fe"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="d6c0fd72-ded2-4e4d-adf5-f8832d7b24f2"/> + <column name="CHAR_VALUE" value="VAADIN:PRINT"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="b72ba2f5-612b-4ef6-832e-62089892b8d7"/> + + <column name="KEYID" value="fbf68c7e-655d-42ca-a279-6606004cafe4"/> + <column name="TITLE" value="SMS"/> + <column name="CONTAINER" value="CommunicationMediumCampaign"/> + <column name="SORTING" valueNumeric="4"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="a92e3492-875e-40e6-947e-3077e9cb6e36"/> + <column name="AB_KEYWORD_ENTRY_ID" value="b72ba2f5-612b-4ef6-832e-62089892b8d7"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="5e65d4a0-af83-4a7b-babb-b1b7af4b9f20"/> + <column name="CHAR_VALUE" value="No SMS"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="0a2db2d9-39ce-4c4f-999c-127881407b3f"/> + <column name="AB_KEYWORD_ENTRY_ID" value="b72ba2f5-612b-4ef6-832e-62089892b8d7"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="d6c0fd72-ded2-4e4d-adf5-f8832d7b24f2"/> + <column name="CHAR_VALUE" value="VAADIN:PAPERPLANE"/> + </insert> + <rollback> + <delete tableName="AB_KEYWORD_ATTRIBUTE"> + <where>AB_KEYWORD_ATTRIBUTEID = ?</where> + <whereParams> + <param value="5e65d4a0-af83-4a7b-babb-b1b7af4b9f20" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTE"> + <where>AB_KEYWORD_ATTRIBUTEID = ?</where> + <whereParams> + <param value="d6c0fd72-ded2-4e4d-adf5-f8832d7b24f2" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ENTRY"> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="2acd3694-ccef-4d0b-ae7a-b3d31f8d9cc0" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ENTRY"> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="cb07397b-a976-4960-b8e5-9edf189c5caf" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="ca0302d1-23ec-49a3-a076-ea14854d5b92" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="08976dd1-ae7e-4c33-b5a3-c2889a295651" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ENTRY"> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="aa2b9cc9-3e87-4fe9-98a2-a4e417a3324f" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="9d8e534d-9c34-4cb7-b0bb-7428e8942482" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="6767aead-da3c-4ce4-a95c-fbd6f4401c53" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ENTRY"> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="990a03e0-aeb4-4bdb-9d22-09b66eee6b85" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="766e211d-07ed-4d23-b5e9-f455511811d8" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="9d09f8a7-dc4b-4a70-b1e3-d5f607637c0b" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ENTRY"> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="51085b8b-ded0-4d1d-9e85-ae89bd1480fe" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="1e6a750e-fd92-49b3-90b0-11ba277b3c82" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="c3a88502-d1a7-4af0-b30c-396a66d3c195" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ENTRY"> + <where>AB_KEYWORD_ENTRYID = ?</where> + <whereParams> + <param value="b72ba2f5-612b-4ef6-832e-62089892b8d7" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="a92e3492-875e-40e6-947e-3077e9cb6e36" /> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTERELATIONID = ?</where> + <whereParams> + <param value="0a2db2d9-39ce-4c4f-999c-127881407b3f" /> + </whereParams> + </delete> + </rollback> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.2/AditoBasic/salesprojectsource_add_icon_attr.xml b/.liquibase/Data_alias/basic/2019.2/AditoBasic/salesprojectsource_add_icon_attr.xml new file mode 100644 index 0000000000000000000000000000000000000000..a8099715835eb541392625c9c63b1cf7e6bf9210 --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2/AditoBasic/salesprojectsource_add_icon_attr.xml @@ -0,0 +1,37 @@ +<?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="s.leierseder" id="49ca80b4-7735-4300-8603-6761672b2048"> + <insert tableName="AB_KEYWORD_ATTRIBUTE"> + <column name="AB_KEYWORD_ATTRIBUTEID" value="4b05ec8a-6964-40e5-8713-0043ca926eb6"/> + + <column name="NAME" value="defaultAvatarRepresentation"/> + <column name="CONTAINER" value="SalesprojectSource"/> + <column name="TYPE" value="CHAR_VALUE"/> + </insert> + + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="4a6b782b-1b15-45d7-9acb-831312d3f745"/> + <column name="AB_KEYWORD_ENTRY_ID" value="f83c96e3-47be-4ca1-bc47-4a3a2fce7fca"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="4b05ec8a-6964-40e5-8713-0043ca926eb6"/> + <column name="CHAR_VALUE" value="VAADIN:GLOBE_WIRE"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="f3b79959-00e3-4361-b042-6c179dc6cbca"/> + <column name="AB_KEYWORD_ENTRY_ID" value="1a197ade-0c61-4643-8287-159719d519b4"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="4b05ec8a-6964-40e5-8713-0043ca926eb6"/> + <column name="CHAR_VALUE" value="VAADIN:HOME"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="54c417d8-e567-41ae-8d56-277559f7b023"/> + <column name="AB_KEYWORD_ENTRY_ID" value="f552b84a-b8e7-472a-9ce5-d64e7f14e74b"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="4b05ec8a-6964-40e5-8713-0043ca926eb6"/> + <column name="CHAR_VALUE" value="VAADIN:HOME"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="a6157376-f0af-49f2-b55e-5c0acc331742"/> + <column name="AB_KEYWORD_ENTRY_ID" value="7ea06933-94c9-4a05-ba7d-4266df9e4ab2"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="4b05ec8a-6964-40e5-8713-0043ca926eb6"/> + <column name="CHAR_VALUE" value="VAADIN:SHOP"/> + </insert> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TaskType_Task.xml b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TaskType_Task.xml index 86cbe99543c78f872f95443701c60071039e6a7b..4013cfcce2a90ba6e8ca13a500e4ffe86c2644fc 100644 --- a/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TaskType_Task.xml +++ b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TaskType_Task.xml @@ -15,7 +15,13 @@ </insert> <insert tableName="AB_KEYWORD_ATTRIBUTE"> <column name="AB_KEYWORD_ATTRIBUTEID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/> - <column name="NAME" value="status"/> + <column name="NAME" value="availableStatus"/> + <column name="CONTAINER" value="TaskType"/> + <column name="TYPE" value="CHAR_VALUE"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTE"> + <column name="AB_KEYWORD_ATTRIBUTEID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/> + <column name="NAME" value="defaultStatus"/> <column name="CONTAINER" value="TaskType"/> <column name="TYPE" value="CHAR_VALUE"/> </insert> @@ -38,11 +44,17 @@ <column name="AB_KEYWORD_ATTRIBUTE_ID" value="9ac96671-b519-488b-bbad-6dea3e5baafd"/> <column name="BOOL_VALUE" valueNumeric="0"/> </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="169edc60-5bad-45eb-b938-46a47b10a0a3"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9e30365b-a9a6-4b57-ae6b-140c9e5a4eb4"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/> + <column name="CHAR_VALUE" value="21bc4d20-1a87-4247-8f7c-8d3a09631850"/> + </insert> <insert tableName="AB_KEYWORD_ENTRY"> <column name="AB_KEYWORD_ENTRYID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/> <column name="KEYID" value="f3da0edd-49d9-4061-98c1-8fda8631be7e"/> - <column name="TITLE" value="Bug Ticket"/> + <column name="TITLE" value="Complaint"/> <column name="CONTAINER" value="TaskType"/> <column name="SORTING" valueNumeric="1"/> <column name="ISACTIVE" valueNumeric="1"/> @@ -61,12 +73,12 @@ <column name="CHAR_VALUE" value="["ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"]"/> </insert> <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> - <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1e35235b-fc50-4098-bf10-2b05b4c37373"/> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="4cabba92-fa98-42c8-aabb-8bff718c1502"/> <column name="AB_KEYWORD_ENTRY_ID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/> - <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/> - <column name="CHAR_VALUE" value="TicketStatus"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/> + <column name="CHAR_VALUE" value="21bc4d20-1a87-4247-8f7c-8d3a09631850"/> </insert> - + <insert tableName="AB_KEYWORD_ENTRY"> <column name="AB_KEYWORD_ENTRYID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/> <column name="KEYID" value="7bf77721-470f-4cdf-a6af-452bf05a405b"/> @@ -89,10 +101,10 @@ <column name="CHAR_VALUE" value="["01d761e0-802a-46d0-827f-b6ca5d9a2148"]"/> </insert> <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> - <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="713685f5-18d6-4c8a-ad4c-1d193ca0b592"/> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b7d946e4-3644-4f97-96cb-f2331fc3aa1e"/> <column name="AB_KEYWORD_ENTRY_ID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/> - <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/> - <column name="CHAR_VALUE" value="TicketStatus"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/> + <column name="CHAR_VALUE" value="21bc4d20-1a87-4247-8f7c-8d3a09631850"/> </insert> </changeSet> </databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TicketStatus_Task.xml b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TicketStatus_Task.xml deleted file mode 100644 index 4a5f7e51ee9f2e0a796bad89d34d47305c98dd6b..0000000000000000000000000000000000000000 --- a/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TicketStatus_Task.xml +++ /dev/null @@ -1,107 +0,0 @@ -<?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="j.hoermann" id="d1440b93-e01c-406b-9f0d-c55cac877fcd"> - <insert tableName="AB_KEYWORD_ATTRIBUTE"> - <column name="AB_KEYWORD_ATTRIBUTEID" value="7186d414-710b-4171-902f-f96f728fe38f"/> - <column name="NAME" value="icon"/> - <column name="CONTAINER" value="TicketStatus"/> - <column name="TYPE" value="CHAR_VALUE"/> - </insert> - - <insert tableName="AB_KEYWORD_ENTRY"> - <column name="AB_KEYWORD_ENTRYID" value="9cd52d5f-7438-45f9-96d9-47d093dc3245"/> - <column name="KEYID" value="ea5a0f80-4ba2-442f-892d-4992d664705b"/> - <column name="TITLE" value="new"/> - <column name="CONTAINER" value="TicketStatus"/> - <column name="SORTING" valueNumeric="0"/> - <column name="ISACTIVE" valueNumeric="1"/> - <column name="ISESSENTIAL" valueNumeric="0"/> - </insert> - <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> - <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1a93bc02-6cec-4f56-9b63-fac2f5ff4dc5"/> - <column name="AB_KEYWORD_ENTRY_ID" value="9cd52d5f-7438-45f9-96d9-47d093dc3245"/> - <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/> - <column name="CHAR_VALUE" value="NEON:STATUS_NOT_STARTED"/> - </insert> - - <insert tableName="AB_KEYWORD_ENTRY"> - <column name="AB_KEYWORD_ENTRYID" value="75175699-62bd-43bf-81a1-0e0ace930e39"/> - <column name="KEYID" value="6f5fb83d-9a2a-420a-a73c-22bd7d31d3d5"/> - <column name="TITLE" value="in process"/> - <column name="CONTAINER" value="TicketStatus"/> - <column name="SORTING" valueNumeric="1"/> - <column name="ISACTIVE" valueNumeric="1"/> - <column name="ISESSENTIAL" valueNumeric="0"/> - </insert> - <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> - <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c67cdf5a-18e6-45ff-a077-5a8b0a174c00"/> - <column name="AB_KEYWORD_ENTRY_ID" value="75175699-62bd-43bf-81a1-0e0ace930e39"/> - <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/> - <column name="CHAR_VALUE" value="NEON:STATUS_IN_PROGRESS"/> - </insert> - - <insert tableName="AB_KEYWORD_ENTRY"> - <column name="AB_KEYWORD_ENTRYID" value="d9c2402b-62d2-4d3e-9d48-c102c45935bd"/> - <column name="KEYID" value="34327ed4-75ed-4040-adc2-2919afe99209"/> - <column name="TITLE" value="testing"/> - <column name="CONTAINER" value="TicketStatus"/> - <column name="SORTING" valueNumeric="2"/> - <column name="ISACTIVE" valueNumeric="1"/> - <column name="ISESSENTIAL" valueNumeric="0"/> - </insert> - <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> - <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b429d563-2e04-4df8-a800-e3abf0c2bb66"/> - <column name="AB_KEYWORD_ENTRY_ID" value="d9c2402b-62d2-4d3e-9d48-c102c45935bd"/> - <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/> - <column name="CHAR_VALUE" value="NEON:STATUS_WAITING"/> - </insert> - - <insert tableName="AB_KEYWORD_ENTRY"> - <column name="AB_KEYWORD_ENTRYID" value="b0549a0d-d0e2-46be-9e57-741d6ddfc2ae"/> - <column name="KEYID" value="b0549a0d-d0e2-46be-9e57-741d6ddfc2ae"/> - <column name="TITLE" value="waiting"/> - <column name="CONTAINER" value="TicketStatus"/> - <column name="SORTING" valueNumeric="3"/> - <column name="ISACTIVE" valueNumeric="1"/> - <column name="ISESSENTIAL" valueNumeric="0"/> - </insert> - <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> - <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="e07e624c-1556-4908-a80f-7656fc5f2009"/> - <column name="AB_KEYWORD_ENTRY_ID" value="b0549a0d-d0e2-46be-9e57-741d6ddfc2ae"/> - <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/> - <column name="CHAR_VALUE" value="NEON:STATUS_WAITING"/> - </insert> - - <insert tableName="AB_KEYWORD_ENTRY"> - <column name="AB_KEYWORD_ENTRYID" value="5d938aa3-cf32-4cd0-97a5-2b685ff7dc1b"/> - <column name="KEYID" value="84b84207-25ae-4988-ba0a-f998f64afb37"/> - <column name="TITLE" value="double"/> - <column name="CONTAINER" value="TicketStatus"/> - <column name="SORTING" valueNumeric="4"/> - <column name="ISACTIVE" valueNumeric="1"/> - <column name="ISESSENTIAL" valueNumeric="0"/> - </insert> - <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> - <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="3b295993-8bbb-442f-8405-99adbad3ad7d"/> - <column name="AB_KEYWORD_ENTRY_ID" value="5d938aa3-cf32-4cd0-97a5-2b685ff7dc1b"/> - <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/> - <column name="CHAR_VALUE" value="NEON:STATUS_DONE"/> - </insert> - - <insert tableName="AB_KEYWORD_ENTRY"> - <column name="AB_KEYWORD_ENTRYID" value="73a6493d-37a4-47ce-8d38-53a5e72e76c1"/> - <column name="KEYID" value="18ca0cb6-54d2-4696-8f24-b67c8aa56a77"/> - <column name="TITLE" value="closed"/> - <column name="CONTAINER" value="TicketStatus"/> - <column name="SORTING" valueNumeric="5"/> - <column name="ISACTIVE" valueNumeric="1"/> - <column name="ISESSENTIAL" valueNumeric="0"/> - </insert> - <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> - <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="22bac516-3dd6-47f1-a95b-26712031630b"/> - <column name="AB_KEYWORD_ENTRY_ID" value="73a6493d-37a4-47ce-8d38-53a5e72e76c1"/> - <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/> - <column name="CHAR_VALUE" value="NEON:STATUS_DONE"/> - </insert> - </changeSet> -</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/2019.2/changelog.xml b/.liquibase/Data_alias/basic/2019.2/changelog.xml index 10a9b2c92186abc167ae643988ffecd3cc0e90c2..fde3e882e7a218bc99563e477aa1a91d2b088331 100644 --- a/.liquibase/Data_alias/basic/2019.2/changelog.xml +++ b/.liquibase/Data_alias/basic/2019.2/changelog.xml @@ -70,6 +70,7 @@ <include relativeToChangelogFile="true" file="AditoBasic/init_OfferProbability.xml"/> <include relativeToChangelogFile="true" file="AditoBasic/init_ActivityCategory.xml"/> <include relativeToChangelogFile="true" file="AditoBasic/init_CommunicationMedium.xml"/> + <include relativeToChangelogFile="true" file="AditoBasic/init_CommunicationMediumCampaign.xml"/> <include relativeToChangelogFile="true" file="AditoBasic/init_AddressType.xml"/> <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectState.xml"/> <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectPhase.xml"/> @@ -183,6 +184,8 @@ <include relativeToChangelogFile="true" file="Ticketmanagement/insertTicketAttributes_TaskType_Task.xml"/> <include relativeToChangelogFile="true" file="Ticketmanagement/insert_TaskType_Task.xml"/> - <include relativeToChangelogFile="true" file="Ticketmanagement/insert_TicketStatus_Task.xml"/> <include relativeToChangelogFile="true" file="Ticketmanagement/update_TaskStatus_add_icon.xml"/> + + <include relativeToChangelogFile="true" file="AditoBasic/salesprojectsource_add_icon_attr.xml"/> + </databaseChangeLog> diff --git a/.liquibase/Data_alias/basic/init/init.xml b/.liquibase/Data_alias/basic/init/init.xml index c4653839c7b975a5f2951845804b0ef995888eeb..e876310e9ee3b12d48593794ad3b6a32af0856c1 100644 --- a/.liquibase/Data_alias/basic/init/init.xml +++ b/.liquibase/Data_alias/basic/init/init.xml @@ -36,6 +36,7 @@ <include relativeToChangelogFile="true" file="struct/create_salesorderitem.xml"/> <include relativeToChangelogFile="true" file="struct/create_timetracking.xml"/> <include relativeToChangelogFile="true" file="struct/create_task.xml"/> + <include relativeToChangelogFile="true" file="struct/create_commrestriction.xml"/> <!--reference files for keywords:--> <include relativeToChangelogFile="true" file="data/AditoBasic/ab_keyword_entry.xml"/> diff --git a/.liquibase/Data_alias/basic/init/struct/create_commrestriction.xml b/.liquibase/Data_alias/basic/init/struct/create_commrestriction.xml new file mode 100644 index 0000000000000000000000000000000000000000..11015875e8780c908331e88b49f243b2d8d84095 --- /dev/null +++ b/.liquibase/Data_alias/basic/init/struct/create_commrestriction.xml @@ -0,0 +1,15 @@ +<?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="s.leierseder" id="b4c37abb-8d02-4fcf-a585-64e61864ece6"> + <createTable tableName="COMMRESTRICTION"> + <column name="COMMRESTRICTIONID" type="CHAR(36)"> + <constraints primaryKey="true" primaryKeyName="PK_COMMRESTRICTION_COMMRESTRICTIONID"/> + </column> + <column name="MEDIUM" type="CHAR(36)"/> + <column name="REASON" type="NVARCHAR(250)"/> + <column name="CONTACT_ID" type="CHAR(36)"/> + <column name="STARTDATE" type="DATETIME"/> + <column name="EMPLOYEE_INVOLVED" type="NVARCHAR(250)"/> + </createTable> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/application/_____SYSTEM_APPLICATION/_____SYSTEM_APPLICATION.aod b/application/_____SYSTEM_APPLICATION/_____SYSTEM_APPLICATION.aod index ec11a32ebe4eeb702b0d4b93821a9c92ad8d77c7..7fa0bc63cd21d38f632e3023c12f85e0558e2c9f 100644 --- a/application/_____SYSTEM_APPLICATION/_____SYSTEM_APPLICATION.aod +++ b/application/_____SYSTEM_APPLICATION/_____SYSTEM_APPLICATION.aod @@ -1,13 +1,13 @@ -<?xml version="1.0" encoding="UTF-8"?> -<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.1"> - <name>_____SYSTEM_APPLICATION</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <entityNode> - <name>entityNode</name> - <kind v="200" /> - </entityNode> - <company> - <name>company</name> - <backgroundColor v="0xff83cbd8" /> - </company> -</application> +<?xml version="1.0" encoding="UTF-8"?> +<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.1"> + <name>_____SYSTEM_APPLICATION</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entityNode> + <name>entityNode</name> + <kind v="200" /> + </entityNode> + <company> + <name>company</name> + <backgroundColor v="0xff83cbd8" /> + </company> +</application> diff --git a/application/_____SYSTEM_CALENDAR_RIBBON/_____SYSTEM_CALENDAR_RIBBON.aod b/application/_____SYSTEM_CALENDAR_RIBBON/_____SYSTEM_CALENDAR_RIBBON.aod index 9c0722a0cb6e6ee0addb2a5dbc0838334dd09970..8330bf556d46213b0e263bf3b76ad40ba146b7f0 100644 --- a/application/_____SYSTEM_CALENDAR_RIBBON/_____SYSTEM_CALENDAR_RIBBON.aod +++ b/application/_____SYSTEM_CALENDAR_RIBBON/_____SYSTEM_CALENDAR_RIBBON.aod @@ -1,17 +1,17 @@ -<?xml version="1.0" encoding="UTF-8"?> -<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.1"> - <name>_____SYSTEM_CALENDAR_RIBBON</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <entityNode> - <name>entityNode</name> - <kind v="200" /> - </entityNode> - <calendarRibbon> - <name>calendarRibbon</name> - <ribbonTasks> - <ribbonTask> - <name>TASK_CALENDAR</name> - </ribbonTask> - </ribbonTasks> - </calendarRibbon> -</application> +<?xml version="1.0" encoding="UTF-8"?> +<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.1"> + <name>_____SYSTEM_CALENDAR_RIBBON</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entityNode> + <name>entityNode</name> + <kind v="200" /> + </entityNode> + <calendarRibbon> + <name>calendarRibbon</name> + <ribbonTasks> + <ribbonTask> + <name>TASK_CALENDAR</name> + </ribbonTask> + </ribbonTasks> + </calendarRibbon> +</application> diff --git a/application/_____SYSTEM_CALENDAR_RIBBON_NEON/_____SYSTEM_CALENDAR_RIBBON_NEON.aod b/application/_____SYSTEM_CALENDAR_RIBBON_NEON/_____SYSTEM_CALENDAR_RIBBON_NEON.aod index d75ce776afb4af858583e7c7e58fd4da2b68fa6d..ad4a9d9fe39f6033cffd97d3fc8818b72956eeb9 100644 --- a/application/_____SYSTEM_CALENDAR_RIBBON_NEON/_____SYSTEM_CALENDAR_RIBBON_NEON.aod +++ b/application/_____SYSTEM_CALENDAR_RIBBON_NEON/_____SYSTEM_CALENDAR_RIBBON_NEON.aod @@ -1,15 +1,15 @@ -<?xml version="1.0" encoding="UTF-8"?> -<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.1"> - <name>_____SYSTEM_CALENDAR_RIBBON_NEON</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <entityNode> - <name>entityNode</name> - <kind v="200" /> - </entityNode> - <neonCalendarRibbon> - <name>neonCalendarRibbon</name> - <entity> - <name>entity</name> - </entity> - </neonCalendarRibbon> -</application> +<?xml version="1.0" encoding="UTF-8"?> +<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.1"> + <name>_____SYSTEM_CALENDAR_RIBBON_NEON</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entityNode> + <name>entityNode</name> + <kind v="200" /> + </entityNode> + <neonCalendarRibbon> + <name>neonCalendarRibbon</name> + <entity> + <name>entity</name> + </entity> + </neonCalendarRibbon> +</application> diff --git a/application/_____SYSTEM_INDEXSEARCH_RIBBON/_____SYSTEM_INDEXSEARCH_RIBBON.aod b/application/_____SYSTEM_INDEXSEARCH_RIBBON/_____SYSTEM_INDEXSEARCH_RIBBON.aod index aed93b8da3aa895422ae40f41b66bdd50f0d3bdd..0da3c760e4fab15c3b667450bcc8bb0034e2f547 100644 --- a/application/_____SYSTEM_INDEXSEARCH_RIBBON/_____SYSTEM_INDEXSEARCH_RIBBON.aod +++ b/application/_____SYSTEM_INDEXSEARCH_RIBBON/_____SYSTEM_INDEXSEARCH_RIBBON.aod @@ -1,17 +1,17 @@ -<?xml version="1.0" encoding="UTF-8"?> -<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.1"> - <name>_____SYSTEM_INDEXSEARCH_RIBBON</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <entityNode> - <name>entityNode</name> - <kind v="200" /> - </entityNode> - <indexSearchRibbon> - <name>indexSearchRibbon</name> - <ribbonTasks> - <ribbonTask> - <name>TASK_INDEXSEARCH</name> - </ribbonTask> - </ribbonTasks> - </indexSearchRibbon> -</application> +<?xml version="1.0" encoding="UTF-8"?> +<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.1"> + <name>_____SYSTEM_INDEXSEARCH_RIBBON</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entityNode> + <name>entityNode</name> + <kind v="200" /> + </entityNode> + <indexSearchRibbon> + <name>indexSearchRibbon</name> + <ribbonTasks> + <ribbonTask> + <name>TASK_INDEXSEARCH</name> + </ribbonTask> + </ribbonTasks> + </indexSearchRibbon> +</application> diff --git a/application/_____SYSTEM_INDEXSEARCH_RIBBON_NEON/_____SYSTEM_INDEXSEARCH_RIBBON_NEON.aod b/application/_____SYSTEM_INDEXSEARCH_RIBBON_NEON/_____SYSTEM_INDEXSEARCH_RIBBON_NEON.aod index 45edac7e715795520238ce9f82aca48008dee834..3ad5be3eb1c0ff7b9e1a4b48f920704edf01932c 100644 --- a/application/_____SYSTEM_INDEXSEARCH_RIBBON_NEON/_____SYSTEM_INDEXSEARCH_RIBBON_NEON.aod +++ b/application/_____SYSTEM_INDEXSEARCH_RIBBON_NEON/_____SYSTEM_INDEXSEARCH_RIBBON_NEON.aod @@ -1,12 +1,12 @@ -<?xml version="1.0" encoding="UTF-8"?> -<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.1"> - <name>_____SYSTEM_INDEXSEARCH_RIBBON_NEON</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <entityNode> - <name>entityNode</name> - <kind v="200" /> - </entityNode> - <neonIndexSearchRibbon> - <name>neonIndexSearchRibbon</name> - </neonIndexSearchRibbon> -</application> +<?xml version="1.0" encoding="UTF-8"?> +<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.1"> + <name>_____SYSTEM_INDEXSEARCH_RIBBON_NEON</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <entityNode> + <name>entityNode</name> + <kind v="200" /> + </entityNode> + <neonIndexSearchRibbon> + <name>neonIndexSearchRibbon</name> + </neonIndexSearchRibbon> +</application> diff --git a/entity/360Degree_entity/entityfields/newmodule/children/newoffer/onActionProcess.js b/entity/360Degree_entity/entityfields/newmodule/children/newoffer/onActionProcess.js index 0be1b35b781bca3828a99415c0d7dac475792176..69da5ef8011ebb9b1aedba6ffe05541816995649 100644 --- a/entity/360Degree_entity/entityfields/newmodule/children/newoffer/onActionProcess.js +++ b/entity/360Degree_entity/entityfields/newmodule/children/newoffer/onActionProcess.js @@ -1,4 +1,4 @@ import("system.vars"); import("Offer_lib"); -OfferUtils.createNewOffer(null, vars.getString("$param.ObjectRowId_param")); \ No newline at end of file +OfferUtils.createNewOffer(null, null, vars.getString("$param.ObjectRowId_param")); \ No newline at end of file diff --git a/entity/Activity_entity/entityfields/newoffer/onActionProcess.js b/entity/Activity_entity/entityfields/newoffer/onActionProcess.js index c8ece29b25cd7e84188ceb35fee3e7b999f77476..09323bf30c541b504c98b32af02d2ad9546349a7 100644 --- a/entity/Activity_entity/entityfields/newoffer/onActionProcess.js +++ b/entity/Activity_entity/entityfields/newoffer/onActionProcess.js @@ -1,4 +1,4 @@ import("system.vars"); import("Offer_lib"); -OfferUtils.createNewOffer(null, vars.getString("$field.ACTIVITYID")); \ No newline at end of file +OfferUtils.createNewOffer(null, null, vars.getString("$field.ACTIVITYID")); \ No newline at end of file diff --git a/entity/AnyContact_entity/AnyContact_entity.aod b/entity/AnyContact_entity/AnyContact_entity.aod index 212ff19be1cd95c75a03422a13372927db441c66..50859654a81be104cd9e408d99af51d335d73098 100644 --- a/entity/AnyContact_entity/AnyContact_entity.aod +++ b/entity/AnyContact_entity/AnyContact_entity.aod @@ -1,220 +1,242 @@ -<?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> - <name>AnyContact_entity</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <contentTitleProcess>%aditoprj%/entity/AnyContact_entity/contentTitleProcess.js</contentTitleProcess> - <recordContainer>db</recordContainer> - <entityFields> - <entityProvider> - <name>#PROVIDER</name> - <dependencies> - <entityDependency> - <name>5d8b421e-a234-4d03-bfec-ed01f464a54c</name> - <entityName>Contract_entity</entityName> - <fieldName>Relations</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>94e4fa2c-7525-49f9-b933-353d200b829c</name> - <entityName>Offer_entity</entityName> - <fieldName>Relations</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>f1f7d959-ecb5-4438-9762-fc11f1bc5334</name> - <entityName>Order_entity</entityName> - <fieldName>Relations</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>336fdc6b-05f8-40bc-89ba-d4ab98bd6948</name> - <entityName>CampaignParticipant_entity</entityName> - <fieldName>AnyContacts</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - </entityProvider> - <entityField> - <name>ADDRESS_ID</name> - <title>standard address</title> - <searchable v="false" /> - <displayValueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/address_id/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>LANGUAGE</name> - <searchable v="false" /> - </entityField> - <entityField> - <name>ORGANISATION_ID</name> - <searchable v="false" /> - </entityField> - <entityField> - <name>PERSON_ID</name> - <searchable v="false" /> - </entityField> - <entityField> - <name>CONTACTID</name> - <searchable v="false" /> - </entityField> - <entityField> - <name>STATUS</name> - <searchable v="false" /> - </entityField> - <entityField> - <name>contactType</name> - <description>Relation type. Value is based on the existance or non-existance of ORGANISATION_ID and PERSON_ID. -See ContactUtils.getRelationTypeByPersOrg for possible values</description> - <contentType>NUMBER</contentType> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/contactType/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>ORGANISATION_NAME</name> - <title>Organisation name</title> - </entityField> - <entityField> - <name>PERSON_FIRSTNAME</name> - <title>Firstname</title> - </entityField> - <entityField> - <name>PERSON_LASTNAME</name> - <title>Lastname</title> - </entityField> - <entityField> - <name>IMAGE</name> - <contentType>IMAGE</contentType> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/image/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>STANDARD_EMAIL_COMMUNICATION</name> - <title>standard email</title> - <searchable v="false" /> - </entityField> - <entityField> - <name>STANDARD_PHONE_COMMUNICATION</name> - <title>Phone</title> - <searchable v="false" /> - </entityField> - <entityField> - <name>RELATIONSHIP</name> - <description>TODO: Beziehung zu der Relation 1024846 (z.B. per Ampelsystem)</description> - <searchable v="false" /> - </entityField> - <entityField> - <name>PERSON_MIDDLENAME</name> - </entityField> - <entityField> - <name>PERSON_TITLE</name> - </entityField> - <entityField> - <name>PERSON_SALUTATION</name> - </entityField> - <entityField> - <name>PERSON_FULL_NAME</name> - <title>Person</title> - <valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/person_full_name/valueProcess.js</valueProcess> - </entityField> - </entityFields> - <recordContainers> - <dbRecordContainer> - <name>db</name> - <alias>Data_alias</alias> - <fromClauseProcess>%aditoprj%/entity/AnyContact_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> - <conditionProcess>%aditoprj%/entity/AnyContact_entity/recordcontainers/db/conditionProcess.js</conditionProcess> - <orderClauseProcess>%aditoprj%/entity/AnyContact_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> - <linkInformation> - <linkInformation> - <name>7b3fa460-44a1-40f3-89e3-1625ce9c6bb3</name> - <tableName>CONTACT</tableName> - <primaryKey>CONTACTID</primaryKey> - <isUIDTable v="true" /> - <readonly v="false" /> - </linkInformation> - <linkInformation> - <name>6786a204-2cea-42ae-857d-4335bad6b5e4</name> - <tableName>ORGANISATION</tableName> - <primaryKey>ORGANISATIONID</primaryKey> - <isUIDTable v="false" /> - <readonly v="true" /> - </linkInformation> - <linkInformation> - <name>d15ccb84-6928-4c44-b940-0f5d04826b55</name> - <tableName>PERSON</tableName> - <primaryKey>PERSONID</primaryKey> - <isUIDTable v="false" /> - <readonly v="true" /> - </linkInformation> - <linkInformation> - <name>b778622f-449a-4185-b7cb-9b373ba4024f</name> - <tableName>ADDRESS</tableName> - <primaryKey>ADDRESSID</primaryKey> - <isUIDTable v="false" /> - <readonly v="true" /> - </linkInformation> - </linkInformation> - <recordFieldMappings> - <dbRecordFieldMapping> - <name>ADDRESS_ID.value</name> - <recordfield>CONTACT.ADDRESS_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>LANGUAGE.value</name> - <recordfield>CONTACT.LANGUAGE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORGANISATION_ID.value</name> - <recordfield>CONTACT.ORGANISATION_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PERSON_ID.value</name> - <recordfield>CONTACT.PERSON_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CONTACTID.value</name> - <recordfield>CONTACT.CONTACTID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STATUS.value</name> - <recordfield>CONTACT.STATUS</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORGANISATION_NAME.value</name> - <recordfield>ORGANISATION.NAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PERSON_FIRSTNAME.value</name> - <recordfield>PERSON.FIRSTNAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PERSON_LASTNAME.value</name> - <recordfield>PERSON.LASTNAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STANDARD_EMAIL_COMMUNICATION.value</name> - <expression>%aditoprj%/entity/AnyContact_entity/recordcontainers/db/recordfieldmappings/standard_email_communication.value/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STANDARD_PHONE_COMMUNICATION.value</name> - <expression>%aditoprj%/entity/AnyContact_entity/recordcontainers/db/recordfieldmappings/standard_phone_communication.value/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>RELATIONSHIP.value</name> - <recordfield>CONTACT.RELATIONSHIP</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PERSON_MIDDLENAME.value</name> - <recordfield>PERSON.MIDDLENAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PERSON_TITLE.value</name> - <recordfield>PERSON.TITLE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PERSON_SALUTATION.value</name> - <recordfield>PERSON.SALUTATION</recordfield> - </dbRecordFieldMapping> - </recordFieldMappings> - </dbRecordContainer> - </recordContainers> -</entity> +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> + <name>AnyContact_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <contentTitleProcess>%aditoprj%/entity/AnyContact_entity/contentTitleProcess.js</contentTitleProcess> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + <dependencies> + <entityDependency> + <name>5d8b421e-a234-4d03-bfec-ed01f464a54c</name> + <entityName>Contract_entity</entityName> + <fieldName>Relations</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>94e4fa2c-7525-49f9-b933-353d200b829c</name> + <entityName>Offer_entity</entityName> + <fieldName>Relations</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>f1f7d959-ecb5-4438-9762-fc11f1bc5334</name> + <entityName>Order_entity</entityName> + <fieldName>Relations</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>336fdc6b-05f8-40bc-89ba-d4ab98bd6948</name> + <entityName>CampaignParticipant_entity</entityName> + <fieldName>AnyContacts</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + </entityProvider> + <entityField> + <name>ADDRESS_ID</name> + <title>standard address</title> + <searchable v="false" /> + <displayValueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/address_id/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>LANGUAGE</name> + <searchable v="false" /> + </entityField> + <entityField> + <name>ORGANISATION_ID</name> + <searchable v="false" /> + </entityField> + <entityField> + <name>PERSON_ID</name> + <searchable v="false" /> + </entityField> + <entityField> + <name>CONTACTID</name> + <searchable v="false" /> + </entityField> + <entityField> + <name>STATUS</name> + <searchable v="false" /> + </entityField> + <entityField> + <name>contactType</name> + <description>Relation type. Value is based on the existance or non-existance of ORGANISATION_ID and PERSON_ID. +See ContactUtils.getRelationTypeByPersOrg for possible values</description> + <contentType>NUMBER</contentType> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/contactType/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>ORGANISATION_NAME</name> + <title>Organisation name</title> + </entityField> + <entityField> + <name>PERSON_FIRSTNAME</name> + <title>Firstname</title> + </entityField> + <entityField> + <name>PERSON_LASTNAME</name> + <title>Lastname</title> + </entityField> + <entityField> + <name>IMAGE</name> + <contentType>IMAGE</contentType> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/image/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>STANDARD_EMAIL_COMMUNICATION</name> + <title>standard email</title> + <searchable v="false" /> + </entityField> + <entityField> + <name>STANDARD_PHONE_COMMUNICATION</name> + <title>Phone</title> + <searchable v="false" /> + </entityField> + <entityField> + <name>RELATIONSHIP</name> + <description>TODO: Beziehung zu der Relation 1024846 (z.B. per Ampelsystem)</description> + <searchable v="false" /> + </entityField> + <entityField> + <name>PERSON_MIDDLENAME</name> + </entityField> + <entityField> + <name>PERSON_TITLE</name> + </entityField> + <entityField> + <name>PERSON_SALUTATION</name> + </entityField> + <entityField> + <name>PERSON_FULL_NAME</name> + <title>Person</title> + <valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/person_full_name/valueProcess.js</valueProcess> + </entityField> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + </entityParameter> + <entityProvider> + <name>OnlySameCompany</name> + <dependencies> + <entityDependency> + <name>28b19d6b-237c-4268-b6c6-323df408c94a</name> + <entityName>Offer_entity</entityName> + <fieldName>AnyContacts</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityProvider> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <fromClauseProcess>%aditoprj%/entity/AnyContact_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> + <conditionProcess>%aditoprj%/entity/AnyContact_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <orderClauseProcess>%aditoprj%/entity/AnyContact_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> + <linkInformation> + <linkInformation> + <name>7b3fa460-44a1-40f3-89e3-1625ce9c6bb3</name> + <tableName>CONTACT</tableName> + <primaryKey>CONTACTID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + <linkInformation> + <name>6786a204-2cea-42ae-857d-4335bad6b5e4</name> + <tableName>ORGANISATION</tableName> + <primaryKey>ORGANISATIONID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> + <linkInformation> + <name>d15ccb84-6928-4c44-b940-0f5d04826b55</name> + <tableName>PERSON</tableName> + <primaryKey>PERSONID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> + <linkInformation> + <name>b778622f-449a-4185-b7cb-9b373ba4024f</name> + <tableName>ADDRESS</tableName> + <primaryKey>ADDRESSID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>ADDRESS_ID.value</name> + <recordfield>CONTACT.ADDRESS_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LANGUAGE.value</name> + <recordfield>CONTACT.LANGUAGE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ORGANISATION_ID.value</name> + <recordfield>CONTACT.ORGANISATION_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PERSON_ID.value</name> + <recordfield>CONTACT.PERSON_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CONTACTID.value</name> + <recordfield>CONTACT.CONTACTID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATUS.value</name> + <recordfield>CONTACT.STATUS</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ORGANISATION_NAME.value</name> + <recordfield>ORGANISATION.NAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PERSON_FIRSTNAME.value</name> + <recordfield>PERSON.FIRSTNAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PERSON_LASTNAME.value</name> + <recordfield>PERSON.LASTNAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STANDARD_EMAIL_COMMUNICATION.value</name> + <expression>%aditoprj%/entity/AnyContact_entity/recordcontainers/db/recordfieldmappings/standard_email_communication.value/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STANDARD_PHONE_COMMUNICATION.value</name> + <expression>%aditoprj%/entity/AnyContact_entity/recordcontainers/db/recordfieldmappings/standard_phone_communication.value/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>RELATIONSHIP.value</name> + <recordfield>CONTACT.RELATIONSHIP</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PERSON_MIDDLENAME.value</name> + <recordfield>PERSON.MIDDLENAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PERSON_TITLE.value</name> + <recordfield>PERSON.TITLE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PERSON_SALUTATION.value</name> + <recordfield>PERSON.SALUTATION</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/AnyContact_entity/recordcontainers/db/conditionProcess.js b/entity/AnyContact_entity/recordcontainers/db/conditionProcess.js index e3e997905f8c97b4a21ca506627746a2b93dbde1..565287dccb22ad6f19f9b527caa276b87dd618bd 100644 --- a/entity/AnyContact_entity/recordcontainers/db/conditionProcess.js +++ b/entity/AnyContact_entity/recordcontainers/db/conditionProcess.js @@ -1,14 +1,30 @@ +import("system.vars"); import("system.db"); import("system.result"); import("Sql_lib"); +import("Contact_lib"); + +var orgContactId; +if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param")) +{ + var contactId = vars.get("$param.ContactId_param"); + var ids = ContactUtils.getPersOrgIds(contactId); + + if (ids.length >= 3 && ids[2]) + { + orgContactId = ids[2]; + } +} //exclude private organisation var cond = SqlCondition.begin() - .andPrepare("CONTACT.ORGANISATION_ID", "0", "# != ?") - .orSqlCondition(SqlCondition.begin() - .andPrepare("CONTACT.ORGANISATION_ID", "0") - .and("CONTACT.PERSON_ID is not null") - ); - + .andSqlCondition(SqlCondition.begin() + .andPrepare("CONTACT.ORGANISATION_ID", "0", "# != ?") + .orSqlCondition(SqlCondition.begin() + .andPrepare("CONTACT.ORGANISATION_ID", "0") + .and("CONTACT.PERSON_ID is not null") + ) + ) + .andPrepareIfSet("CONTACT.ORGANISATION_ID", orgContactId); result.string(db.translateCondition(cond.build())); \ No newline at end of file diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod index 78cbee09a0b4c7e088ab9d3942c2f9fecf04e9d9..156c683d4c400237c1d63a2f1f7e19960f4b6d79 100644 --- a/entity/Appointment_entity/Appointment_entity.aod +++ b/entity/Appointment_entity/Appointment_entity.aod @@ -79,20 +79,26 @@ <title>accept</title> <onActionProcess>%aditoprj%/entity/Appointment_entity/entityfields/partstatactiongroup/children/accept/onActionProcess.js</onActionProcess> <actionOrder v="0" /> + <isMenuAction v="true" /> <iconId>VAADIN:CHECK</iconId> + <stateProcess>%aditoprj%/entity/Appointment_entity/entityfields/partstatactiongroup/children/accept/stateProcess.js</stateProcess> </entityActionField> <entityActionField> <name>decline</name> <title>decline</title> <description></description> <onActionProcess>%aditoprj%/entity/Appointment_entity/entityfields/partstatactiongroup/children/decline/onActionProcess.js</onActionProcess> + <isMenuAction v="true" /> <iconId>VAADIN:CLOSE</iconId> + <stateProcess>%aditoprj%/entity/Appointment_entity/entityfields/partstatactiongroup/children/decline/stateProcess.js</stateProcess> </entityActionField> <entityActionField> <name>tentative</name> <title>tentative</title> <onActionProcess>%aditoprj%/entity/Appointment_entity/entityfields/partstatactiongroup/children/tentative/onActionProcess.js</onActionProcess> + <isMenuAction v="true" /> <iconId>VAADIN:QUESTION</iconId> + <stateProcess>%aditoprj%/entity/Appointment_entity/entityfields/partstatactiongroup/children/tentative/stateProcess.js</stateProcess> </entityActionField> </children> </entityActionGroup> @@ -162,6 +168,14 @@ </entityParameter> </children> </entityConsumer> + <entityActionField> + <name>deleteSeries</name> + <title>Delete recurring appointment</title> + <onActionProcess>%aditoprj%/entity/Appointment_entity/entityfields/deleteseries/onActionProcess.js</onActionProcess> + <iconId>VAADIN:TRASH</iconId> + <stateProcess>%aditoprj%/entity/Appointment_entity/entityfields/deleteseries/stateProcess.js</stateProcess> + <tooltip>series delete action</tooltip> + </entityActionField> </entityFields> <recordContainers> <jDitoRecordContainer> diff --git a/entity/Appointment_entity/entityfields/deleteseries/onActionProcess.js b/entity/Appointment_entity/entityfields/deleteseries/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9cb2e7df77e952743484814ab2ed687b0adb1e15 --- /dev/null +++ b/entity/Appointment_entity/entityfields/deleteseries/onActionProcess.js @@ -0,0 +1,14 @@ +import("system.vars"); +import("system.calendars"); +import("system.question"); +import("system.translate"); + + +var event = JSON.parse(vars.getString("$param.MasterEntry_param")); + +if(event != undefined && event != "") +{ + var reallyDelete = question.askYesNo(translate.text("Delete appointment"), translate.text("Do you really want to delete this recurring appointment?"), false); + if(reallyDelete) + calendars.removeEntryByUID(-1, null, event[calendars.ID], null); +} \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/deleteseries/stateProcess.js b/entity/Appointment_entity/entityfields/deleteseries/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8d6b8cb3eccdac6567b0c0e9e9fe583f72b06a38 --- /dev/null +++ b/entity/Appointment_entity/entityfields/deleteseries/stateProcess.js @@ -0,0 +1,16 @@ +import("system.tools"); +import("system.logging"); +import("system.vars"); +import("system.result"); +import("system.calendars"); +import("system.neon"); + + +var event = JSON.parse(vars.getString("$param.Entry_param")); + +if(event != undefined && event != "") //event not empty + if(event[calendars.RECURRENCEID] != undefined && event[calendars.RECURRENCEID] != "") //event recurring appointment + if(event[calendars.ORGANIZER] == tools.getCurrentUser()["title"]) //user == organizer + result.object(neon.COMPONENTSTATE_EDITABLE); + else + result.object(neon.COMPONENTSTATE_INVISIBLE); \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/partstatactiongroup/children/accept/stateProcess.js b/entity/Appointment_entity/entityfields/partstatactiongroup/children/accept/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..073b73435825e69bd31502ff6bc4d809bc9e5c05 --- /dev/null +++ b/entity/Appointment_entity/entityfields/partstatactiongroup/children/accept/stateProcess.js @@ -0,0 +1,9 @@ +import("system.calendars"); +import("system.neon"); +import("system.result"); + + +if(calendars.getBackendType() == calendars.BACKEND_EXCHANGEWS) + result.object(neon.COMPONENTSTATE_EDITABLE); +else + result.object(neon.COMPONENTSTATE_INVISIBLE); \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/partstatactiongroup/children/decline/stateProcess.js b/entity/Appointment_entity/entityfields/partstatactiongroup/children/decline/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..073b73435825e69bd31502ff6bc4d809bc9e5c05 --- /dev/null +++ b/entity/Appointment_entity/entityfields/partstatactiongroup/children/decline/stateProcess.js @@ -0,0 +1,9 @@ +import("system.calendars"); +import("system.neon"); +import("system.result"); + + +if(calendars.getBackendType() == calendars.BACKEND_EXCHANGEWS) + result.object(neon.COMPONENTSTATE_EDITABLE); +else + result.object(neon.COMPONENTSTATE_INVISIBLE); \ No newline at end of file diff --git a/entity/Appointment_entity/entityfields/partstatactiongroup/children/tentative/stateProcess.js b/entity/Appointment_entity/entityfields/partstatactiongroup/children/tentative/stateProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..073b73435825e69bd31502ff6bc4d809bc9e5c05 --- /dev/null +++ b/entity/Appointment_entity/entityfields/partstatactiongroup/children/tentative/stateProcess.js @@ -0,0 +1,9 @@ +import("system.calendars"); +import("system.neon"); +import("system.result"); + + +if(calendars.getBackendType() == calendars.BACKEND_EXCHANGEWS) + result.object(neon.COMPONENTSTATE_EDITABLE); +else + result.object(neon.COMPONENTSTATE_INVISIBLE); \ No newline at end of file diff --git a/entity/ClassificationAdmin_entity/grantDeleteProcess.js b/entity/ClassificationAdmin_entity/grantDeleteProcess.js index 6a0202d0b06e410bc42a2aa04aef955c32e8c6e5..0b3ed93eea3cca1985cfc8768475f656f3c87cee 100644 --- a/entity/ClassificationAdmin_entity/grantDeleteProcess.js +++ b/entity/ClassificationAdmin_entity/grantDeleteProcess.js @@ -1,8 +1,11 @@ +import("system.logging"); import("system.result"); import("system.db"); import("system.vars"); import("Sql_lib"); - +logging.log("grantDelete " + (parseInt(db.cell(SqlCondition.begin() + .andPrepare("CLASSIFICATION.CLASSIFICATIONTYPE_ID", vars.get("$field.CLASSIFICATIONTYPEID")) + .buildSql("select count(*) from CLASSIFICATION", "1=2"))) <= 0)) result.object(parseInt(db.cell(SqlCondition.begin() .andPrepare("CLASSIFICATION.CLASSIFICATIONTYPE_ID", vars.get("$field.CLASSIFICATIONTYPEID")) .buildSql("select count(*) from CLASSIFICATION", "1=2"))) <= 0); \ No newline at end of file diff --git a/entity/CommRestriction_Entity/CommRestriction_Entity.aod b/entity/CommRestriction_Entity/CommRestriction_Entity.aod new file mode 100644 index 0000000000000000000000000000000000000000..7ba13087b6642bf66b4d70e9d7f03b9213ad6ea6 --- /dev/null +++ b/entity/CommRestriction_Entity/CommRestriction_Entity.aod @@ -0,0 +1,167 @@ +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> + <name>CommRestriction_Entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <title>Advertising ban</title> + <titlePlural>Advertising bans</titlePlural> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityField> + <name>CONTACT_ID</name> + <title>Person</title> + <valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/contact_id/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>MEDIUM</name> + <title>Advertising ban</title> + <consumer>CommRestrictionMedium</consumer> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/medium/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/medium/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>STARTDATE</name> + <title>Valid from</title> + <contentType>DATE</contentType> + <resolution>DAY</resolution> + <valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/startdate/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>EMPLOYEE_INVOLVED</name> + <title>Responsible</title> + <consumer>EmployeeInvolved</consumer> + <valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/employee_involved/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/employee_involved/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>REASON</name> + <title>Reason</title> + <contentType>LONG_TEXT</contentType> + </entityField> + <entityField> + <name>COMMRESTRICTIONID</name> + <valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/commrestrictionid/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>EmployeeInvolved</name> + <dependency> + <name>dependency</name> + <entityName>Employee_entity</entityName> + <fieldName>Employees</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>CommRestrictionMedium</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/commrestrictionmedium/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityProvider> + <name>PersonsCommRestriction</name> + <dependencies> + <entityDependency> + <name>b50e33cd-e20f-4bdf-b0ee-2ecdab921ffd</name> + <entityName>Person_entity</entityName> + <fieldName>CommRestrictions</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>PersonId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityParameter> + <name>PersonId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + </entityParameter> + <entityField> + <name>ICON</name> + <colorProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/icon/colorProcess.js</colorProcess> + <contentType>IMAGE</contentType> + <valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/icon/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>MediumKeywordAttribute</name> + <dependency> + <name>dependency</name> + <entityName>KeywordAttribute_entity</entityName> + <fieldName>SpecificContainerKeyword</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/CommRestriction_Entity/entityfields/mediumkeywordattribute/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/CommRestriction_Entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <linkInformation> + <linkInformation> + <name>d02c4bb0-c0aa-46fa-bf1b-4bcc44aeb012</name> + <tableName>COMMRESTRICTION</tableName> + <primaryKey>COMMRESTRICTIONID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>COMMRESTRICTIONID.value</name> + <recordfield>COMMRESTRICTION.COMMRESTRICTIONID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CONTACT_ID.value</name> + <recordfield>COMMRESTRICTION.CONTACT_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>EMPLOYEE_INVOLVED.value</name> + <recordfield>COMMRESTRICTION.EMPLOYEE_INVOLVED</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>MEDIUM.value</name> + <recordfield>COMMRESTRICTION.MEDIUM</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>REASON.value</name> + <recordfield>COMMRESTRICTION.REASON</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STARTDATE.value</name> + <recordfield>COMMRESTRICTION.STARTDATE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>EMPLOYEE_INVOLVED.displayValue</name> + <expression>%aditoprj%/entity/CommRestriction_Entity/recordcontainers/db/recordfieldmappings/employee_involved.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>MEDIUM.displayValue</name> + <expression>%aditoprj%/entity/CommRestriction_Entity/recordcontainers/db/recordfieldmappings/medium.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/CommRestriction_Entity/entityfields/commrestrictionid/valueProcess.js b/entity/CommRestriction_Entity/entityfields/commrestrictionid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a2378ee42b3638db13001b2890b78669e5c65d9e --- /dev/null +++ b/entity/CommRestriction_Entity/entityfields/commrestrictionid/valueProcess.js @@ -0,0 +1,7 @@ +import("system.util"); +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(util.getNewUUID()); \ No newline at end of file diff --git a/entity/CommRestriction_Entity/entityfields/commrestrictionmedium/children/containername_param/valueProcess.js b/entity/CommRestriction_Entity/entityfields/commrestrictionmedium/children/containername_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a944db3259568d4c9b4453d682666704918a9b80 --- /dev/null +++ b/entity/CommRestriction_Entity/entityfields/commrestrictionmedium/children/containername_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +result.string($KeywordRegistry.communicationMediumCampaign()); \ No newline at end of file diff --git a/entity/CommRestriction_Entity/entityfields/contact_id/valueProcess.js b/entity/CommRestriction_Entity/entityfields/contact_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..f9c4af9c89f397d57058f69d5bd171c82b858d81 --- /dev/null +++ b/entity/CommRestriction_Entity/entityfields/contact_id/valueProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +{ + if(vars.exists("$param.PersonId_param") && vars.get("$param.PersonId_param") != null) { + result.string(vars.getString("$param.PersonId_param")); + } +} \ No newline at end of file diff --git a/entity/CommRestriction_Entity/entityfields/employee_involved/displayValueProcess.js b/entity/CommRestriction_Entity/entityfields/employee_involved/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..53e2f557005d9c3a143446716fcd1c7034984786 --- /dev/null +++ b/entity/CommRestriction_Entity/entityfields/employee_involved/displayValueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +result.string(ContactUtils.getTitleByContactId(vars.get("$field.EMPLOYEE_INVOLVED"))); \ No newline at end of file diff --git a/entity/CommRestriction_Entity/entityfields/employee_involved/valueProcess.js b/entity/CommRestriction_Entity/entityfields/employee_involved/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..0d83e155507cb0955f8ebc5a4ff4af836b96977e --- /dev/null +++ b/entity/CommRestriction_Entity/entityfields/employee_involved/valueProcess.js @@ -0,0 +1,7 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); +import("Employee_lib"); + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) + result.string(EmployeeUtils.getCurrentContactId()); \ No newline at end of file diff --git a/entity/CommRestriction_Entity/entityfields/icon/colorProcess.js b/entity/CommRestriction_Entity/entityfields/icon/colorProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a5313f5d649a572265a947e3c2e21d1cda4539a4 --- /dev/null +++ b/entity/CommRestriction_Entity/entityfields/icon/colorProcess.js @@ -0,0 +1,3 @@ +import("system.neon"); +import("system.result"); +result.string(neon.PRIORITY_HIGH_COLOR); \ No newline at end of file diff --git a/entity/CommRestriction_Entity/entityfields/icon/valueProcess.js b/entity/CommRestriction_Entity/entityfields/icon/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..95aab66e4c3ff7cee3579ab03305c720636f37ab --- /dev/null +++ b/entity/CommRestriction_Entity/entityfields/icon/valueProcess.js @@ -0,0 +1,13 @@ +import("system.result"); +import("system.vars"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +var med = vars.getString("$field.MEDIUM"); +var ban; +if (med) +{ + var keywordAttributes = KeywordUtils.getAttributeRelationsByKey(med, $KeywordRegistry.communicationMediumCampaign()) + ban = keywordAttributes.AdvertisingBanIcon; +} +result.string(ban) diff --git a/entity/CommRestriction_Entity/entityfields/medium/displayValueProcess.js b/entity/CommRestriction_Entity/entityfields/medium/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..5bf6d01dc50eb03e563c369075f877b67761d257 --- /dev/null +++ b/entity/CommRestriction_Entity/entityfields/medium/displayValueProcess.js @@ -0,0 +1,20 @@ +import("system.result"); +import("system.vars"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); +import("system.translate"); + +//result.string(KeywordUtils.getViewValue($KeywordRegistry.communicationMediumCampaign(), vars.get("$field.MEDIUM"))); + +var med = vars.getString("$field.MEDIUM"); +var ban; +if (med == "") +{ + result.string("") +} +else +{ + var keywordAttributes = KeywordUtils.getAttributeRelationsByKey(med, $KeywordRegistry.communicationMediumCampaign()) + ban = keywordAttributes.AdvertisingBan; + result.string(translate.text(ban)) +} diff --git a/entity/CommRestriction_Entity/entityfields/medium/valueProcess.js b/entity/CommRestriction_Entity/entityfields/medium/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/entity/CommRestriction_Entity/entityfields/mediumkeywordattribute/children/containername_param/valueProcess.js b/entity/CommRestriction_Entity/entityfields/mediumkeywordattribute/children/containername_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..677df6872b7002295d7a25175d35238a8dd43fd2 --- /dev/null +++ b/entity/CommRestriction_Entity/entityfields/mediumkeywordattribute/children/containername_param/valueProcess.js @@ -0,0 +1,2 @@ +import("system.result"); +result.string(keywordAttributes.AdvertisingBan); \ No newline at end of file diff --git a/entity/CommRestriction_Entity/entityfields/startdate/valueProcess.js b/entity/CommRestriction_Entity/entityfields/startdate/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3e186c747bfbb6719878872798de7bcea5ab7794 --- /dev/null +++ b/entity/CommRestriction_Entity/entityfields/startdate/valueProcess.js @@ -0,0 +1,7 @@ +import("system.datetime"); +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.getString("$this.value")) + result.string(datetime.date()); \ No newline at end of file diff --git a/entity/CommRestriction_Entity/recordcontainers/db/conditionProcess.js b/entity/CommRestriction_Entity/recordcontainers/db/conditionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..eeed9a9c6d4224310d91f4dbf7c1920a2a0c8c1a --- /dev/null +++ b/entity/CommRestriction_Entity/recordcontainers/db/conditionProcess.js @@ -0,0 +1,9 @@ +import("system.db"); +import("system.result"); +import("Sql_lib"); + +var cond = new SqlCondition(); +cond.andPrepareVars("COMMRESTRICTION.CONTACT_ID", "$param.PersonId_param"); + +//TODO: use a preparedCondition when available #1030812 #1034026 +result.string(db.translateCondition(cond.build("1 = 1"))); \ No newline at end of file diff --git a/entity/CommRestriction_Entity/recordcontainers/db/recordfieldmappings/employee_involved.displayvalue/expression.js b/entity/CommRestriction_Entity/recordcontainers/db/recordfieldmappings/employee_involved.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..06ef06d816c1f533fd458d3ff5786d2aec2dccca --- /dev/null +++ b/entity/CommRestriction_Entity/recordcontainers/db/recordfieldmappings/employee_involved.displayvalue/expression.js @@ -0,0 +1,6 @@ +import("system.result"); +import("Person_lib"); + +//TODO: try to find a better solution for this -> #TITLE-mechanic when available +var subSql = PersUtils.getResolvingDisplaySubSql("COMMRESTRICTION.EMPLOYEE_INVOLVED"); +result.string(subSql); \ No newline at end of file diff --git a/entity/CommRestriction_Entity/recordcontainers/db/recordfieldmappings/medium.displayvalue/expression.js b/entity/CommRestriction_Entity/recordcontainers/db/recordfieldmappings/medium.displayvalue/expression.js new file mode 100644 index 0000000000000000000000000000000000000000..d3f5a12faa99758192ecc4ed3fc22c9249232e86 --- /dev/null +++ b/entity/CommRestriction_Entity/recordcontainers/db/recordfieldmappings/medium.displayvalue/expression.js @@ -0,0 +1 @@ + diff --git a/entity/Context_entity/Context_entity.aod b/entity/Context_entity/Context_entity.aod index 90c638545b2a19d9db5334f8aa75ace13ae5a865..04bc3298a3d9b6a02ec563548960426571c67ba6 100644 --- a/entity/Context_entity/Context_entity.aod +++ b/entity/Context_entity/Context_entity.aod @@ -59,6 +59,12 @@ <fieldName>Contexts</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>420468aa-c237-4e29-a24f-8851e56343b9</name> + <entityName>Offer_entity</entityName> + <fieldName>Contexts</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> @@ -118,6 +124,10 @@ <expose v="true" /> <description>PARAMETER</description> </entityParameter> + <entityParameter> + <name>Whitelist</name> + <expose v="true" /> + </entityParameter> </entityFields> <recordContainers> <jDitoRecordContainer> diff --git a/entity/Context_entity/recordcontainers/jdito/contentProcess.js b/entity/Context_entity/recordcontainers/jdito/contentProcess.js index 29391c90234a2a5d1408843663ae6e6c4c1e4abd..17ad5303c6a29885409f306a9cc3f1d15c569e79 100644 --- a/entity/Context_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/Context_entity/recordcontainers/jdito/contentProcess.js @@ -1,3 +1,4 @@ +import("system.logging"); import("system.vars"); import("system.result"); import("Context_lib"); @@ -7,5 +8,6 @@ if (excludeContexts) excludeContexts = JSON.parse(excludeContexts); var filterContexts = !(vars.exists("$param.GetAllContexts_param") && vars.get("$param.GetAllContexts_param") == "true"); var useExclusives = vars.exists("$param.UseExclusives_param") && vars.get("$param.UseExclusives_param") == "true"; +var whitelist = vars.exists("$param.Whitelist") && vars.get("$param.Whitelist") ? JSON.parse(vars.get("$param.Whitelist")) : undefined; -result.object(ContextUtils.getContexts(filterContexts, excludeContexts, useExclusives)); \ No newline at end of file +result.object(ContextUtils.getContexts(filterContexts, excludeContexts, useExclusives, whitelist)); \ No newline at end of file diff --git a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod index b5751c4d703293c01d3298e0ab9304592672e102..3bd8b2660950ae178ff7dae70d9d3f1a5f21a1fd 100644 --- a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod +++ b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod @@ -1,317 +1,317 @@ -<?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> - <name>DocumentTemplate_entity</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <icon>VAADIN:FILE_FONT</icon> - <title>Document Template</title> - <contentTitleProcess>%aditoprj%/entity/DocumentTemplate_entity/contentTitleProcess.js</contentTitleProcess> - <afterUiInit>%aditoprj%/entity/DocumentTemplate_entity/afterUiInit.js</afterUiInit> - <recordContainer>db</recordContainer> - <entityFields> - <entityProvider> - <name>#PROVIDER</name> - <dependencies> - <entityDependency> - <name>5cc2e566-309c-4b47-84f3-52376e919b9b</name> - <entityName>Email_entity</entityName> - <fieldName>DocumentTemplates</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - </entityProvider> - <entityField> - <name>DATE_EDIT</name> - <title>Date edit</title> - <searchable v="false" /> - </entityField> - <entityField> - <name>DESCRIPTION</name> - <title>Description</title> - <contentType>LONG_TEXT</contentType> - </entityField> - <entityField> - <name>DOCUMENTTEMPLATEID</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documenttemplateid/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>DATE_NEW</name> - <title>Date new</title> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/date_new/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>USER_NEW</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/user_new/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>TYPE</name> - <title>Type</title> - <consumer>KeywordDocumentTemplateType</consumer> - <mandatory v="true" /> - <groupable v="true" /> - <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/stateProcess.js</stateProcess> - <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/displayValueProcess.js</displayValueProcess> - <onValueChange>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/onValueChange.js</onValueChange> - </entityField> - <entityField> - <name>USER_EDIT</name> - <searchable v="false" /> - </entityField> - <entityField> - <name>NAME</name> - <title>Name</title> - <mandatory v="true" /> - </entityField> - <entityField> - <name>LANGUAGE</name> - <title>Language</title> - <consumer>Languages</consumer> - <mandatory v="true" /> - <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/language/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>BINDATA</name> - <contentType>FILE</contentType> - <onValueChange>%aditoprj%/entity/DocumentTemplate_entity/entityfields/bindata/onValueChange.js</onValueChange> - </entityField> - <entityConsumer> - <name>Documents</name> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>Documents</fieldName> - </dependency> - <children> - <entityParameter> - <name>AssignmentTable_param</name> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentRowId_param</name> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Languages</name> - <dependency> - <name>dependency</name> - <entityName>Language_entity</entityName> - <fieldName>ISO3Name</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>KeywordDocumentTemplateType</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/keyworddocumenttemplatetype/children/containername_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Attributes</name> - <onValidation>%aditoprj%/entity/DocumentTemplate_entity/entityfields/attributes/onValidation.js</onValidation> - <dependency> - <name>dependency</name> - <entityName>AttributeRelation_entity</entityName> - <fieldName>AttributeRelations</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>texText</name> - <title>Text</title> - <contentType>LONG_TEXT</contentType> - <state>INVISIBLE</state> - <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js</stateProcess> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/textext/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/textext/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>CLASSIFICATION</name> - <title>Classification</title> - <consumer>DocumentTemplateTypeCategory</consumer> - <groupable v="true" /> - <state>DISABLED</state> - <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/classification/stateProcess.js</stateProcess> - <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/classification/displayValueProcess.js</displayValueProcess> - </entityField> - <entityConsumer> - <name>DocumentTemplateTypeCategory</name> - <dependency> - <name>dependency</name> - <entityName>DocumentTemplateTypeCategory_entity</entityName> - <fieldName>ByCategory</fieldName> - </dependency> - <children> - <entityParameter> - <name>usageFilter_param</name> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documenttemplatetypecategory/children/usagefilter_param/valueProcess.js</valueProcess> - <expose v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityProvider> - <name>Attachments</name> - <targetContextField>TARGET_CONTEXT</targetContextField> - <targetIdField>DOCUMENTTEMPLATEID</targetIdField> - <targetConsumerProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/attachments/targetConsumerProcess.js</targetConsumerProcess> - <titlePlural>Attachments</titlePlural> - <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>856e3435-a173-4cf5-8e81-3f884f8238d3</name> - <entityName>DocumentTemplateLink_entity</entityName> - <fieldName>Attachments</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - </entityProvider> - <entityConsumer> - <name>Links</name> - <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/links/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>DocumentTemplateLink_entity</entityName> - <fieldName>Links</fieldName> - </dependency> - <children> - <entityParameter> - <name>DocumentId_param</name> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/links/children/documentid_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>Type_param</name> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/links/children/type_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityParameter> - <name>DocumentTemplateTypeClassification_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityProvider> - <name>DocumentTemplateProvider</name> - <dependencies> - <entityDependency> - <name>e1c555c3-9e53-4ccf-962c-4bdd3c14bb16</name> - <entityName>Offer_entity</entityName> - <fieldName>DocumentTemplateText</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>9c10883d-eb73-4587-b758-693a66367a4c</name> - <entityName>Offer_entity</entityName> - <fieldName>DocumentTemplateTexHeader</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>67f64ed9-bc92-41ba-a040-671a12b7a5f3</name> - <entityName>Offer_entity</entityName> - <fieldName>DocumentTemplateTexFooter</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>57f408e3-aeb7-4006-a20d-287dae1f0922</name> - <entityName>Mail_entity</entityName> - <fieldName>DocumentTemplates</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - </entityProvider> - <entityParameter> - <name>DocumentTemplateType_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityField> - <name>TARGET_CONTEXT</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/target_context/valueProcess.js</valueProcess> - </entityField> - </entityFields> - <recordContainers> - <dbRecordContainer> - <name>db</name> - <alias>Data_alias</alias> - <conditionProcess>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/conditionProcess.js</conditionProcess> - <onDBInsert>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js</onDBInsert> - <onDBUpdate>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate> - <onDBDelete>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/onDBDelete.js</onDBDelete> - <linkInformation> - <linkInformation> - <name>982325b6-d12e-43f9-8ac2-c4b9f013aafd</name> - <tableName>DOCUMENTTEMPLATE</tableName> - <primaryKey>DOCUMENTTEMPLATEID</primaryKey> - <isUIDTable v="false" /> - <readonly v="false" /> - </linkInformation> - </linkInformation> - <recordFieldMappings> - <dbRecordFieldMapping> - <name>DATE_EDIT.value</name> - <recordfield>DOCUMENTTEMPLATE.DATE_EDIT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DATE_NEW.value</name> - <recordfield>DOCUMENTTEMPLATE.DATE_NEW</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DESCRIPTION.value</name> - <recordfield>DOCUMENTTEMPLATE.DESCRIPTION</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>LANGUAGE.value</name> - <recordfield>DOCUMENTTEMPLATE.LANGUAGE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>NAME.value</name> - <recordfield>DOCUMENTTEMPLATE.NAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>TYPE.value</name> - <recordfield>DOCUMENTTEMPLATE.TYPE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>USER_EDIT.value</name> - <recordfield>DOCUMENTTEMPLATE.USER_EDIT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>USER_NEW.value</name> - <recordfield>DOCUMENTTEMPLATE.USER_NEW</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DOCUMENTTEMPLATEID.value</name> - <recordfield>DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CLASSIFICATION.value</name> - <recordfield>DOCUMENTTEMPLATE.CLASSIFICATION</recordfield> - </dbRecordFieldMapping> - </recordFieldMappings> - </dbRecordContainer> - </recordContainers> -</entity> +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> + <name>DocumentTemplate_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <icon>VAADIN:FILE_FONT</icon> + <title>Document Template</title> + <contentTitleProcess>%aditoprj%/entity/DocumentTemplate_entity/contentTitleProcess.js</contentTitleProcess> + <afterUiInit>%aditoprj%/entity/DocumentTemplate_entity/afterUiInit.js</afterUiInit> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + <dependencies> + <entityDependency> + <name>5cc2e566-309c-4b47-84f3-52376e919b9b</name> + <entityName>Email_entity</entityName> + <fieldName>DocumentTemplates</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + </entityProvider> + <entityField> + <name>DATE_EDIT</name> + <title>Date edit</title> + <searchable v="false" /> + </entityField> + <entityField> + <name>DESCRIPTION</name> + <title>Description</title> + <contentType>LONG_TEXT</contentType> + </entityField> + <entityField> + <name>DOCUMENTTEMPLATEID</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documenttemplateid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_NEW</name> + <title>Date new</title> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_NEW</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>TYPE</name> + <title>Type</title> + <consumer>KeywordDocumentTemplateType</consumer> + <groupable v="true" /> + <mandatory v="true" /> + <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/stateProcess.js</stateProcess> + <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/onValueChange.js</onValueChange> + </entityField> + <entityField> + <name>USER_EDIT</name> + <searchable v="false" /> + </entityField> + <entityField> + <name>NAME</name> + <title>Name</title> + <mandatory v="true" /> + </entityField> + <entityField> + <name>LANGUAGE</name> + <title>Language</title> + <consumer>Languages</consumer> + <mandatory v="true" /> + <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/language/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>BINDATA</name> + <contentType>FILE</contentType> + <onValueChange>%aditoprj%/entity/DocumentTemplate_entity/entityfields/bindata/onValueChange.js</onValueChange> + </entityField> + <entityConsumer> + <name>Documents</name> + <dependency> + <name>dependency</name> + <entityName>Document_entity</entityName> + <fieldName>Documents</fieldName> + </dependency> + <children> + <entityParameter> + <name>AssignmentTable_param</name> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentRowId_param</name> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Languages</name> + <dependency> + <name>dependency</name> + <entityName>Language_entity</entityName> + <fieldName>ISO3Name</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>KeywordDocumentTemplateType</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/keyworddocumenttemplatetype/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Attributes</name> + <onValidation>%aditoprj%/entity/DocumentTemplate_entity/entityfields/attributes/onValidation.js</onValidation> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>AttributeRelations</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>texText</name> + <title>Text</title> + <contentType>LONG_TEXT</contentType> + <state>INVISIBLE</state> + <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js</stateProcess> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/textext/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/textext/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>CLASSIFICATION</name> + <title>Classification</title> + <consumer>DocumentTemplateTypeCategory</consumer> + <groupable v="true" /> + <state>DISABLED</state> + <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/classification/stateProcess.js</stateProcess> + <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/classification/displayValueProcess.js</displayValueProcess> + </entityField> + <entityConsumer> + <name>DocumentTemplateTypeCategory</name> + <dependency> + <name>dependency</name> + <entityName>DocumentTemplateTypeCategory_entity</entityName> + <fieldName>ByCategory</fieldName> + </dependency> + <children> + <entityParameter> + <name>usageFilter_param</name> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/documenttemplatetypecategory/children/usagefilter_param/valueProcess.js</valueProcess> + <expose v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityProvider> + <name>Attachments</name> + <targetContextField>TARGET_CONTEXT</targetContextField> + <targetIdField>DOCUMENTTEMPLATEID</targetIdField> + <targetConsumerProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/attachments/targetConsumerProcess.js</targetConsumerProcess> + <titlePlural>Attachments</titlePlural> + <recordContainer>db</recordContainer> + <dependencies> + <entityDependency> + <name>856e3435-a173-4cf5-8e81-3f884f8238d3</name> + <entityName>DocumentTemplateLink_entity</entityName> + <fieldName>Attachments</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + </entityProvider> + <entityConsumer> + <name>Links</name> + <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/links/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>DocumentTemplateLink_entity</entityName> + <fieldName>Links</fieldName> + </dependency> + <children> + <entityParameter> + <name>DocumentId_param</name> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/links/children/documentid_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>Type_param</name> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/links/children/type_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>DocumentTemplateTypeClassification_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityProvider> + <name>DocumentTemplateProvider</name> + <dependencies> + <entityDependency> + <name>e1c555c3-9e53-4ccf-962c-4bdd3c14bb16</name> + <entityName>Offer_entity</entityName> + <fieldName>DocumentTemplateText</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>9c10883d-eb73-4587-b758-693a66367a4c</name> + <entityName>Offer_entity</entityName> + <fieldName>DocumentTemplateTexHeader</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>67f64ed9-bc92-41ba-a040-671a12b7a5f3</name> + <entityName>Offer_entity</entityName> + <fieldName>DocumentTemplateTexFooter</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>57f408e3-aeb7-4006-a20d-287dae1f0922</name> + <entityName>Letter_entity</entityName> + <fieldName>DocumentTemplates</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + </entityProvider> + <entityParameter> + <name>DocumentTemplateType_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>TARGET_CONTEXT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/target_context/valueProcess.js</valueProcess> + </entityField> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <onDBInsert>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js</onDBInsert> + <onDBUpdate>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate> + <onDBDelete>%aditoprj%/entity/DocumentTemplate_entity/recordcontainers/db/onDBDelete.js</onDBDelete> + <linkInformation> + <linkInformation> + <name>982325b6-d12e-43f9-8ac2-c4b9f013aafd</name> + <tableName>DOCUMENTTEMPLATE</tableName> + <primaryKey>DOCUMENTTEMPLATEID</primaryKey> + <isUIDTable v="false" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>DOCUMENTTEMPLATE.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>DOCUMENTTEMPLATE.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DESCRIPTION.value</name> + <recordfield>DOCUMENTTEMPLATE.DESCRIPTION</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LANGUAGE.value</name> + <recordfield>DOCUMENTTEMPLATE.LANGUAGE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>NAME.value</name> + <recordfield>DOCUMENTTEMPLATE.NAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TYPE.value</name> + <recordfield>DOCUMENTTEMPLATE.TYPE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>DOCUMENTTEMPLATE.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>DOCUMENTTEMPLATE.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DOCUMENTTEMPLATEID.value</name> + <recordfield>DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CLASSIFICATION.value</name> + <recordfield>DOCUMENTTEMPLATE.CLASSIFICATION</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Employee_entity/Employee_entity.aod b/entity/Employee_entity/Employee_entity.aod index bc69db9b8adad40442595fdb5f9ec2b5ee43a92d..825d28e44750a8740676e6a94bb4c74526eead5c 100644 --- a/entity/Employee_entity/Employee_entity.aod +++ b/entity/Employee_entity/Employee_entity.aod @@ -250,6 +250,12 @@ <fieldName>ContactRequestors</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>6a502317-8b81-4bea-803f-003f990513df</name> + <entityName>CommRestriction_Entity</entityName> + <fieldName>EmployeeInvolved</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/entity/Forecast_entity/Forecast_entity.aod b/entity/Forecast_entity/Forecast_entity.aod index 8bf3ee5a9b40ab579250fcc56a46c6edca4a93da..40b28f5d43e04dc8d87378ee45b4c4eb0940eefd 100644 --- a/entity/Forecast_entity/Forecast_entity.aod +++ b/entity/Forecast_entity/Forecast_entity.aod @@ -34,6 +34,7 @@ </entityField> <entityField> <name>OBJECT_ROWID</name> + <title>Connection</title> <consumer>Objects</consumer> <linkedContextProcess>%aditoprj%/entity/Forecast_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess> <valueProcess>%aditoprj%/entity/Forecast_entity/entityfields/object_rowid/valueProcess.js</valueProcess> @@ -63,6 +64,7 @@ </entityConsumer> <entityField> <name>OBJECT_TYPE</name> + <title>Type</title> <consumer>Contexts</consumer> <valueProcess>%aditoprj%/entity/Forecast_entity/entityfields/object_type/valueProcess.js</valueProcess> <displayValueProcess>%aditoprj%/entity/Forecast_entity/entityfields/object_type/displayValueProcess.js</displayValueProcess> diff --git a/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod b/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod index 351b8e62e9d7a0421ef1a6c4b6cd2f8234c2e7eb..82818b7cc16a4d1c56f086cec681695e5378b15f 100644 --- a/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod +++ b/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod @@ -47,6 +47,12 @@ <fieldName>KeywordAttributes</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>684a3e60-00ad-4d46-8c98-6559e485a729</name> + <entityName>CommRestriction_Entity</entityName> + <fieldName>MediumKeywordAttribute</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/entity/KeywordEntry_entity/entityfields/whitelistids_param/documentation.adoc b/entity/KeywordEntry_entity/entityfields/whitelistids_param/documentation.adoc new file mode 100644 index 0000000000000000000000000000000000000000..caf09a596a0ef5b1b96ac49912f41e8878787465 --- /dev/null +++ b/entity/KeywordEntry_entity/entityfields/whitelistids_param/documentation.adoc @@ -0,0 +1,2 @@ +Can be filled with a JSON array containing all allowed keyIds +["id1", "id2", ...] \ No newline at end of file diff --git a/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js b/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js index aa341622d89f926f6f953987c23486d84b8a3ef3..e581324d162afd72b6e3b262fc2a827a64882517 100644 --- a/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js +++ b/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js @@ -13,5 +13,8 @@ if (vars.get("$param.OnlyActives_param") == "true") if (vars.exists("$param.ExcludedKeyIdsSubquery_param") && vars.get("$param.ExcludedKeyIdsSubquery_param")) cond.and("AB_KEYWORD_ENTRY.KEYID not in (" + vars.get("$param.ExcludedKeyIdsSubquery_param") + ")"); +if (vars.exists("$param.WhitelistIds_param") && vars.getString("$param.WhitelistIds_param")) + cond.andIn("AB_KEYWORD_ENTRY.KEYID", JSON.parse(vars.getString("$param.WhitelistIds_param"))); + var condStr = db.translateCondition(cond.build("1 = 1")); result.string(condStr); \ No newline at end of file diff --git a/entity/Mail_entity/Mail_entity.aod b/entity/Letter_entity/Letter_entity.aod similarity index 81% rename from entity/Mail_entity/Mail_entity.aod rename to entity/Letter_entity/Letter_entity.aod index b986ba28239d31687deb82cbac971b52f7c13cd4..feb4c64b0d0830d3a92ea5e7bd98c8c786d13338 100644 --- a/entity/Mail_entity/Mail_entity.aod +++ b/entity/Letter_entity/Letter_entity.aod @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> - <name>Mail_entity</name> + <name>Letter_entity</name> <majorModelMode>DISTRIBUTED</majorModelMode> <recordContainer>jdito</recordContainer> <entityFields> @@ -12,6 +12,7 @@ </entityField> <entityField> <name>DOCUMENT_TEMPLATE</name> + <title>Document Template</title> <consumer>DocumentTemplates</consumer> <linkedContext>DocumentTemplate</linkedContext> </entityField> @@ -23,11 +24,16 @@ <fieldName>DocumentTemplateProvider</fieldName> </dependency> </entityConsumer> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + </entityParameter> </entityFields> <recordContainers> <jDitoRecordContainer> <name>jdito</name> <jDitoRecordAlias>Data_alias</jDitoRecordAlias> + <onInsert>%aditoprj%/entity/Letter_entity/recordcontainers/jdito/onInsert.js</onInsert> <recordFields> <element>UID.value</element> </recordFields> diff --git a/entity/Letter_entity/recordcontainers/jdito/onInsert.js b/entity/Letter_entity/recordcontainers/jdito/onInsert.js new file mode 100644 index 0000000000000000000000000000000000000000..e588da43cfc45fca8b59c5077ce24a58d8dcbe18 --- /dev/null +++ b/entity/Letter_entity/recordcontainers/jdito/onInsert.js @@ -0,0 +1,6 @@ +import("system.neon"); +import("system.vars"); +import("DocumentTemplate_lib"); + +var template = DocumentTemplate.loadTemplate(vars.get("$field.DOCUMENT_TEMPLATE")); +neon.download(template.getReplacedContentByContactId(vars.get("$param.ContactId_param")), template.filename); \ No newline at end of file diff --git a/entity/Member_entity/Member_entity.aod b/entity/Member_entity/Member_entity.aod index 8d043c5a8a818881be86beb2e66263dcad2f3007..10a933ec5362d5b7579f9ae178b616a705efff38 100644 --- a/entity/Member_entity/Member_entity.aod +++ b/entity/Member_entity/Member_entity.aod @@ -224,6 +224,11 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt <contentType>BOOLEAN</contentType> <dropDownProcess>%aditoprj%/entity/Member_entity/entityfields/decider/dropDownProcess.js</dropDownProcess> </entityField> + <entityField> + <name>IMAGE</name> + <contentType>IMAGE</contentType> + <valueProcess>%aditoprj%/entity/Member_entity/entityfields/image/valueProcess.js</valueProcess> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Member_entity/entityfields/icon/valueProcess.js b/entity/Member_entity/entityfields/icon/valueProcess.js index 05a9a85fd7d0f67869b1d86d8c6a9f5a5a1bbeec..a19d7b291a62db0944669f510d766e839377fcdd 100644 --- a/entity/Member_entity/entityfields/icon/valueProcess.js +++ b/entity/Member_entity/entityfields/icon/valueProcess.js @@ -1,3 +1,4 @@ +import("system.logging"); import("system.vars"); import("system.result"); import("system.neon"); @@ -6,6 +7,7 @@ import("KeywordRegistry_basic"); var role = vars.get("$field.ROLE"); var isIntern = false, icon; + if(role) { var keywordAttributes = KeywordUtils.getAttributeRelationsByKey(role, $KeywordRegistry.MemberRole()) @@ -15,4 +17,10 @@ if(role) if(isIntern) result.string("VAADIN:STAR"); -else result.string("VAADIN:AIRPLANE"); \ No newline at end of file +else result.string("VAADIN:AIRPLANE"); + +//var keywordAttributes = KeywordUtils.getAttributeRelationsByKey(role, $KeywordRegistry.MemberRole()); +// +//logging.log(keywordAttributes); +// +//result.string("VAADIN:AIRPLANE"); \ No newline at end of file diff --git a/entity/Member_entity/entityfields/image/valueProcess.js b/entity/Member_entity/entityfields/image/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..16100cd9731b680a25cd2a6517eb6eb18e853e92 --- /dev/null +++ b/entity/Member_entity/entityfields/image/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string("TEXT:" + vars.get("$field.PERSON_FULL_NAME")); \ No newline at end of file diff --git a/entity/ObjectTree_entity/ObjectTree_entity.aod b/entity/ObjectTree_entity/ObjectTree_entity.aod index 28c0346f335af0dfbf7058256009a0795495bf61..c34eecf01484eb7f20d7d47ff1019248afd437dd 100644 --- a/entity/ObjectTree_entity/ObjectTree_entity.aod +++ b/entity/ObjectTree_entity/ObjectTree_entity.aod @@ -1,208 +1,209 @@ -<?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> - <name>ObjectTree_entity</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <title>Object relation</title> - <titlePlural>Relations</titlePlural> - <recordContainer>jdito</recordContainer> - <entityFields> - <entityProvider> - <name>#PROVIDER</name> - </entityProvider> - <entityProvider> - <name>TreeProvider</name> - <targetContextField>TARGET_CONTEXT</targetContextField> - <targetIdField>TARGET_ID</targetIdField> - <dependencies> - <entityDependency> - <name>f4c0605f-3ccb-4ff1-b460-7268e8553857</name> - <entityName>Organisation_entity</entityName> - <fieldName>ObjectTrees</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>423acf79-e2c5-46e4-9fb5-7b1a7078d4f4</name> - <entityName>Person_entity</entityName> - <fieldName>ObjectTrees</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>ObjectId_param</name> - <expose v="true" /> - <mandatory v="true" /> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <expose v="true" /> - <mandatory v="true" /> - </entityParameter> - <entityParameter> - <name>RelationType_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>Uid_param</name> - <expose v="false" /> - </entityParameter> - </children> - </entityProvider> - <entityParameter> - <name>ObjectId_param</name> - <expose v="true" /> - <mandatory v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityField> - <name>UID</name> - <searchable v="false" /> - </entityField> - <entityField> - <name>PARENT_ID</name> - <searchable v="false" /> - <tooltip></tooltip> - <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/parent_id/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>TITLE</name> - <title>Object</title> - <linkedContextProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/title/linkedContextProcess.js</linkedContextProcess> - <searchable v="false" /> - </entityField> - <entityField> - <name>ICON</name> - <contentType>IMAGE</contentType> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/icon/valueProcess.js</valueProcess> - </entityField> - <entityConsumer> - <name>ObjectRelationTypes</name> - <dependency> - <name>dependency</name> - <entityName>ObjectRelationType_entity</entityName> - <fieldName>ObjectRelationTypes</fieldName> - </dependency> - <children> - <entityParameter> - <name>SourceObjectType_param</name> - <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypes/children/sourceobjecttype_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityParameter> - <name>ObjectType_param</name> - <expose v="true" /> - <mandatory v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityField> - <name>EXPANDED</name> - <searchable v="false" /> - </entityField> - <entityField> - <name>NODEID</name> - <searchable v="false" /> - </entityField> - <entityField> - <name>TARGET_ID</name> - <title>Object</title> - <consumer>Objects</consumer> - <linkedContextProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/target_id/linkedContextProcess.js</linkedContextProcess> - <mandatory v="true" /> - <searchable v="false" /> - <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/target_id/stateProcess.js</stateProcess> - <displayValueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/target_id/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>TARGET_CONTEXT</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/target_context/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>INFO</name> - <title>Description</title> - <contentType>LONG_TEXT</contentType> - <searchable v="false" /> - <tooltipProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/info/tooltipProcess.js</tooltipProcess> - </entityField> - <entityField> - <name>OBJECTRELATIONTYPEID</name> - <title>Relationtype</title> - <consumer>ObjectRelationTypes</consumer> - <mandatory v="true" /> - <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/stateProcess.js</stateProcess> - <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/displayValueProcess.js</displayValueProcess> - <onValueChange>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/onValueChange.js</onValueChange> - </entityField> - <entityConsumer> - <name>Objects</name> - <dependency> - <name>dependency</name> - <entityName>Object_entity</entityName> - <fieldName>FilteredObjects</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectType_param</name> - <title></title> - <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>ExcludedObjectIds_param</name> - <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objects/children/excludedobjectids_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityActionGroup> - <name>alter</name> - <children> - <entityActionField> - <name>insert</name> - <onActionProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/insert/onActionProcess.js</onActionProcess> - <iconId>VAADIN:FILE_TREE_SMALL</iconId> - <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/insert/stateProcess.js</stateProcess> - </entityActionField> - <entityActionField> - <name>edit</name> - <onActionProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js</onActionProcess> - <iconId>NEON:PENCIL</iconId> - <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js</stateProcess> - </entityActionField> - </children> - </entityActionGroup> - <entityParameter> - <name>RelationType_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>Uid_param</name> - <expose v="true" /> - <description>Needed to load ONE Objectrelation together with ObjectId_param and ObjectType_param to determine the side</description> - </entityParameter> - </entityFields> - <recordContainers> - <jDitoRecordContainer> - <name>jdito</name> - <jDitoRecordAlias>Data_alias</jDitoRecordAlias> - <isFilterable v="true" /> - <contentProcess>%aditoprj%/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js</contentProcess> - <onInsert>%aditoprj%/entity/ObjectTree_entity/recordcontainers/jdito/onInsert.js</onInsert> - <onUpdate>%aditoprj%/entity/ObjectTree_entity/recordcontainers/jdito/onUpdate.js</onUpdate> - <onDelete>%aditoprj%/entity/ObjectTree_entity/recordcontainers/jdito/onDelete.js</onDelete> - <recordFields> - <element>UID.value</element> - <element>TITLE.value</element> - <element>PARENT_ID.value</element> - <element>EXPANDED.value</element> - <element>TARGET_ID.value</element> - <element>TARGET_CONTEXT.value</element> - <element>INFO.value</element> - <element>OBJECTRELATIONTYPEID.value</element> - </recordFields> - </jDitoRecordContainer> - </recordContainers> -</entity> +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> + <name>ObjectTree_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <title>Object relation</title> + <grantDeleteProcess>%aditoprj%/entity/ObjectTree_entity/grantDeleteProcess.js</grantDeleteProcess> + <titlePlural>Relations</titlePlural> + <recordContainer>jdito</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityProvider> + <name>TreeProvider</name> + <targetContextField>TARGET_CONTEXT</targetContextField> + <targetIdField>TARGET_ID</targetIdField> + <dependencies> + <entityDependency> + <name>f4c0605f-3ccb-4ff1-b460-7268e8553857</name> + <entityName>Organisation_entity</entityName> + <fieldName>ObjectTrees</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>423acf79-e2c5-46e4-9fb5-7b1a7078d4f4</name> + <entityName>Person_entity</entityName> + <fieldName>ObjectTrees</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>ObjectId_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + <entityParameter> + <name>RelationType_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>Uid_param</name> + <expose v="false" /> + </entityParameter> + </children> + </entityProvider> + <entityParameter> + <name>ObjectId_param</name> + <expose v="true" /> + <mandatory v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>UID</name> + <searchable v="false" /> + </entityField> + <entityField> + <name>PARENT_ID</name> + <searchable v="false" /> + <tooltip></tooltip> + <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/parent_id/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>TITLE</name> + <title>Object</title> + <linkedContextProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/title/linkedContextProcess.js</linkedContextProcess> + <searchable v="false" /> + </entityField> + <entityField> + <name>ICON</name> + <contentType>IMAGE</contentType> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/icon/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>ObjectRelationTypes</name> + <dependency> + <name>dependency</name> + <entityName>ObjectRelationType_entity</entityName> + <fieldName>ObjectRelationTypes</fieldName> + </dependency> + <children> + <entityParameter> + <name>SourceObjectType_param</name> + <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypes/children/sourceobjecttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + <mandatory v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>EXPANDED</name> + <searchable v="false" /> + </entityField> + <entityField> + <name>NODEID</name> + <searchable v="false" /> + </entityField> + <entityField> + <name>TARGET_ID</name> + <title>Object</title> + <consumer>Objects</consumer> + <linkedContextProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/target_id/linkedContextProcess.js</linkedContextProcess> + <mandatory v="true" /> + <searchable v="false" /> + <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/target_id/stateProcess.js</stateProcess> + <displayValueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/target_id/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>TARGET_CONTEXT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/target_context/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>INFO</name> + <title>Description</title> + <contentType>LONG_TEXT</contentType> + <searchable v="false" /> + <tooltipProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/info/tooltipProcess.js</tooltipProcess> + </entityField> + <entityField> + <name>OBJECTRELATIONTYPEID</name> + <title>Relationtype</title> + <consumer>ObjectRelationTypes</consumer> + <mandatory v="true" /> + <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/stateProcess.js</stateProcess> + <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/onValueChange.js</onValueChange> + </entityField> + <entityConsumer> + <name>Objects</name> + <dependency> + <name>dependency</name> + <entityName>Object_entity</entityName> + <fieldName>FilteredObjects</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectType_param</name> + <title></title> + <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ExcludedObjectIds_param</name> + <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objects/children/excludedobjectids_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityActionGroup> + <name>alter</name> + <children> + <entityActionField> + <name>insert</name> + <onActionProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/insert/onActionProcess.js</onActionProcess> + <iconId>VAADIN:FILE_TREE_SMALL</iconId> + <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/insert/stateProcess.js</stateProcess> + </entityActionField> + <entityActionField> + <name>edit</name> + <onActionProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js</onActionProcess> + <iconId>NEON:PENCIL</iconId> + <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js</stateProcess> + </entityActionField> + </children> + </entityActionGroup> + <entityParameter> + <name>RelationType_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>Uid_param</name> + <expose v="true" /> + <description>Needed to load ONE Objectrelation together with ObjectId_param and ObjectType_param to determine the side</description> + </entityParameter> + </entityFields> + <recordContainers> + <jDitoRecordContainer> + <name>jdito</name> + <jDitoRecordAlias>Data_alias</jDitoRecordAlias> + <isFilterable v="true" /> + <contentProcess>%aditoprj%/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js</contentProcess> + <onInsert>%aditoprj%/entity/ObjectTree_entity/recordcontainers/jdito/onInsert.js</onInsert> + <onUpdate>%aditoprj%/entity/ObjectTree_entity/recordcontainers/jdito/onUpdate.js</onUpdate> + <onDelete>%aditoprj%/entity/ObjectTree_entity/recordcontainers/jdito/onDelete.js</onDelete> + <recordFields> + <element>UID.value</element> + <element>TITLE.value</element> + <element>PARENT_ID.value</element> + <element>EXPANDED.value</element> + <element>TARGET_ID.value</element> + <element>TARGET_CONTEXT.value</element> + <element>INFO.value</element> + <element>OBJECTRELATIONTYPEID.value</element> + </recordFields> + </jDitoRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Object_entity/Object_entity.aod b/entity/Object_entity/Object_entity.aod index 2a5bcd1a989a21127d3f813c6e32c93213d095a3..e504fb8b241d892022b64b318a85fc45e2c35634 100644 --- a/entity/Object_entity/Object_entity.aod +++ b/entity/Object_entity/Object_entity.aod @@ -53,12 +53,6 @@ <fieldName>Objects</fieldName> <isConsumer v="false" /> </entityDependency> - <entityDependency> - <name>f6bb8beb-dbcb-4871-9c50-d2399d569fdb</name> - <entityName>Offer_entity</entityName> - <fieldName>Objects</fieldName> - <isConsumer v="false" /> - </entityDependency> <entityDependency> <name>8834387f-acf8-4d9f-80ec-45425622a3dd</name> <entityName>Competition_entity</entityName> @@ -83,6 +77,10 @@ <name>ExcludedObjectIds_param</name> <expose v="false" /> </entityParameter> + <entityParameter> + <name>ContactId_param</name> + <expose v="false" /> + </entityParameter> </children> </entityProvider> <entityConsumer> @@ -92,12 +90,12 @@ <entityName>Organisation_entity</entityName> <fieldName>#PROVIDER</fieldName> </dependency> - <children> - <entityParameter> - <name>ExcludedContactIds_param</name> - <valueProcess>%aditoprj%/entity/Object_entity/entityfields/organisations/children/excludedcontactids_param/valueProcess.js</valueProcess> - </entityParameter> - </children> + <children> + <entityParameter> + <name>ExcludedContactIds_param</name> + <valueProcess>%aditoprj%/entity/Object_entity/entityfields/organisations/children/excludedcontactids_param/valueProcess.js</valueProcess> + </entityParameter> + </children> </entityConsumer> <entityConsumer> <name>Persons</name> @@ -106,12 +104,16 @@ <entityName>Person_entity</entityName> <fieldName>#PROVIDER</fieldName> </dependency> - <children> - <entityParameter> - <name>ExcludedContactIds_param</name> - <valueProcess>%aditoprj%/entity/Object_entity/entityfields/persons/children/excludedcontactids_param/valueProcess.js</valueProcess> - </entityParameter> - </children> + <children> + <entityParameter> + <name>ExcludedContactIds_param</name> + <valueProcess>%aditoprj%/entity/Object_entity/entityfields/persons/children/excludedcontactids_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Object_entity/entityfields/persons/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> </entityConsumer> <entityConsumer> <name>Offers</name> @@ -120,6 +122,12 @@ <entityName>Offer_entity</entityName> <fieldName>#PROVIDER</fieldName> </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Object_entity/entityfields/offers/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> </entityConsumer> <entityConsumer> <name>Orders</name> @@ -128,6 +136,12 @@ <entityName>Order_entity</entityName> <fieldName>#PROVIDER</fieldName> </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Object_entity/entityfields/orders/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> </entityConsumer> <entityConsumer> <name>Products</name> @@ -144,6 +158,12 @@ <entityName>Contract_entity</entityName> <fieldName>#PROVIDER</fieldName> </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Object_entity/entityfields/contracts/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> </entityConsumer> <entityConsumer> <name>Salesprojects</name> @@ -152,6 +172,12 @@ <entityName>Salesproject_entity</entityName> <fieldName>#PROVIDER</fieldName> </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Object_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> </entityConsumer> <entityParameter> <name>ExcludedObjectIds_param</name> @@ -168,6 +194,12 @@ <fieldName>Objects</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>e93b8c8f-2575-4669-9e45-48d8382444ab</name> + <entityName>Offer_entity</entityName> + <fieldName>Objects</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> @@ -180,6 +212,10 @@ <triggerRecalculation v="true" /> <mandatory v="true" /> </entityParameter> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + </entityParameter> </children> </entityProvider> <entityConsumer> @@ -198,6 +234,10 @@ <fieldName>#PROVIDER</fieldName> </dependency> </entityConsumer> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + </entityParameter> </entityFields> <recordContainers> <jDitoRecordContainer> diff --git a/entity/Object_entity/entityfields/contracts/children/contactid_param/valueProcess.js b/entity/Object_entity/entityfields/contracts/children/contactid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ca088c7645554049762a2b629b6a26809e8a8832 --- /dev/null +++ b/entity/Object_entity/entityfields/contracts/children/contactid_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.vars"); +import("system.result"); +result.string(vars.get("$param.ContactId_param")); \ No newline at end of file diff --git a/entity/Object_entity/entityfields/offers/children/contactid_param/valueProcess.js b/entity/Object_entity/entityfields/offers/children/contactid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ca088c7645554049762a2b629b6a26809e8a8832 --- /dev/null +++ b/entity/Object_entity/entityfields/offers/children/contactid_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.vars"); +import("system.result"); +result.string(vars.get("$param.ContactId_param")); \ No newline at end of file diff --git a/entity/Object_entity/entityfields/orders/children/contactid_param/valueProcess.js b/entity/Object_entity/entityfields/orders/children/contactid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ca088c7645554049762a2b629b6a26809e8a8832 --- /dev/null +++ b/entity/Object_entity/entityfields/orders/children/contactid_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.vars"); +import("system.result"); +result.string(vars.get("$param.ContactId_param")); \ No newline at end of file diff --git a/entity/Object_entity/entityfields/persons/children/contactid_param/valueProcess.js b/entity/Object_entity/entityfields/persons/children/contactid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ca088c7645554049762a2b629b6a26809e8a8832 --- /dev/null +++ b/entity/Object_entity/entityfields/persons/children/contactid_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.vars"); +import("system.result"); +result.string(vars.get("$param.ContactId_param")); \ No newline at end of file diff --git a/entity/Object_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js b/entity/Object_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..ca088c7645554049762a2b629b6a26809e8a8832 --- /dev/null +++ b/entity/Object_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js @@ -0,0 +1,3 @@ +import("system.vars"); +import("system.result"); +result.string(vars.get("$param.ContactId_param")); \ No newline at end of file diff --git a/entity/Object_entity/recordcontainers/jdito/contentProcess.js b/entity/Object_entity/recordcontainers/jdito/contentProcess.js index 932e731251c23666c267719d92e6cef41b191f71..be53d613509b6299cd40adf724395524a7a6e15c 100644 --- a/entity/Object_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/Object_entity/recordcontainers/jdito/contentProcess.js @@ -13,7 +13,11 @@ if (vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param" if (vars.exists("$param.ExcludedObjectIds_param") && vars.get("$param.ExcludedObjectIds_param")) excludedIds = JSON.parse(vars.getString("$param.ExcludedObjectIds_param")); - result.object(db.table(ContextUtils.getContextDataSql(vars.get("$param.ObjectType_param"), undefined, false, undefined, false, excludedIds))) + var contactId + if (vars.exists("$param.ContactId") && vars.get("$param.ContactId")) + contactId = vars.get("$param.ContactId"); + + result.object(db.table(ContextUtils.getContextDataSql(vars.get("$param.ObjectType_param"), contactId, false, undefined, false, excludedIds))) } else { diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index f590f09647a72172346e12a860986813e79e60f7..560dadf71a05818c2890d09385087f5a0ef4cf3c 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -1,989 +1,1044 @@ -<?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> - <name>Offer_entity</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <documentation>%aditoprj%/entity/Offer_entity/documentation.adoc</documentation> - <title>Offer</title> - <siblings> - <element>Offeritem_entity</element> - </siblings> - <afterUiInit>%aditoprj%/entity/Offer_entity/afterUiInit.js</afterUiInit> - <iconId>VAADIN:CART</iconId> - <recordContainer>db</recordContainer> - <entityFields> - <entityProvider> - <name>#PROVIDER</name> - <dependencies> - <entityDependency> - <name>f909c251-16c1-49e2-9b43-6d5f834137c6</name> - <entityName>Object_entity</entityName> - <fieldName>Offers</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - </entityProvider> - <entityField> - <name>CURRENCY</name> - <title>Currency</title> - <consumer>KeywordCurrencies</consumer> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/currency/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/currency/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>OFFERCODE</name> - <documentation>%aditoprj%/entity/Offer_entity/entityfields/offercode/documentation.adoc</documentation> - <title>Offer number</title> - <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offercode/valueProcess.js</valueProcess> - <onValidation>%aditoprj%/entity/Offer_entity/entityfields/offercode/onValidation.js</onValidation> - </entityField> - <entityField> - <name>OFFERDATE</name> - <title>Date</title> - <contentType>DATE</contentType> - <resolution>DAY</resolution> - <outputFormat>dd.MM.yyyy</outputFormat> - <inputFormat>dd.MM.yyyy</inputFormat> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offerdate/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>OFFERID</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offerid/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>PROBABILITY</name> - <title>Probability</title> - <consumer>KeywordProbabilities</consumer> - <contentType>NUMBER</contentType> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/probability/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>CONTACT_ID</name> - <documentation>%aditoprj%/entity/Offer_entity/entityfields/contact_id/documentation.adoc</documentation> - <title>Connection</title> - <consumer>AnyContacts</consumer> - <linkedContextProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js</linkedContextProcess> - <mandatory v="true" /> - <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/stateProcess.js</stateProcess> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js</displayValueProcess> - <onValueChange>%aditoprj%/entity/Offer_entity/entityfields/contact_id/onValueChange.js</onValueChange> - <onValueChangeTypes> - <element>MASK</element> - <element>PROCESS</element> - <element>PROCESS_SETVALUE</element> - </onValueChangeTypes> - </entityField> - <entityField> - <name>STATUS</name> - <title>Status</title> - <consumer>KeywordOfferStates</consumer> - <mandatory v="true" /> - <state>EDITABLE</state> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/status/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/status/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>VAT</name> - <title>Total VAT</title> - <contentType>NUMBER</contentType> - <inputFormat>#,##0.00</inputFormat> - <state>READONLY</state> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/vat/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>IMAGE</name> - <contentType>IMAGE</contentType> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/image/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>HEADER</name> - <title>Header text</title> - <contentType>LONG_TEXT</contentType> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/header/valueProcess.js</valueProcess> - </entityField> - <entityConsumer> - <name>Offeritems</name> - <description></description> - <dependency> - <name>dependency</name> - <entityName>Offeritem_entity</entityName> - <fieldName>OfferItems</fieldName> - </dependency> - <children> - <entityParameter> - <name>OfferId_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offeritems/children/offerid_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="true" /> - </entityParameter> - <entityParameter> - <name>Currency_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offeritems/children/currency_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offeritems/children/ContactId_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="true" /> - </entityParameter> - <entityParameter> - <name>OfferStatus_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offeritems/children/offerstatus_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>newOfferVersion</name> - <title>New offer version</title> - <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js</onActionProcess> - <iconId>VAADIN:CART</iconId> - </entityActionField> - <entityField> - <name>NET</name> - <title>Total net</title> - <contentType>NUMBER</contentType> - <inputFormat>#,##0.00</inputFormat> - <state>READONLY</state> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/net/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>TotalGross</name> - <documentation>%aditoprj%/entity/Offer_entity/entityfields/totalgross/documentation.adoc</documentation> - <title>Total gross</title> - <contentType>NUMBER</contentType> - <inputFormat>#,##0.00</inputFormat> - <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/totalgross/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/totalgross/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>LANGUAGE</name> - <title>Language</title> - <consumer>Languages</consumer> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/language/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/language/displayValueProcess.js</displayValueProcess> - </entityField> - <entityActionField> - <name>copyOffer</name> - <title>Copy offer</title> - <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js</onActionProcess> - <iconId>VAADIN:COPY</iconId> - </entityActionField> - <entityField> - <name>VERSNR</name> - <documentation>%aditoprj%/entity/Offer_entity/entityfields/versnr/documentation.adoc</documentation> - <title>Vers. no.</title> - <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/versnr/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>OFFER_ID</name> - <documentation>%aditoprj%/entity/Offer_entity/entityfields/offer_id/documentation.adoc</documentation> - </entityField> - <entityFieldGroup> - <name>OfferCode_VersNr_fieldgroup</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offercode_versnr_fieldgroup/valueProcess.js</valueProcess> - <title>Offer number</title> - <description>Offercode + VersNr</description> - <state>READONLY</state> - <fields> - <element>OFFERCODE</element> - <element>VERSNR</element> - </fields> - </entityFieldGroup> - <entityParameter> - <name>ContactId_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityActionField> - <name>printOffer</name> - <title>Print Offer</title> - <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/printoffer/onActionProcess.js</onActionProcess> - <iconId>VAADIN:FILE_TEXT_O</iconId> - <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/printoffer/stateProcess.js</stateProcess> - </entityActionField> - <entityField> - <name>CONTACT_ORG_ID</name> - <searchable v="false" /> - </entityField> - <entityField> - <name>CONTACT_PERSON_ID</name> - <searchable v="false" /> - </entityField> - <entityConsumer> - <name>AnyContacts</name> - <dependency> - <name>dependency</name> - <entityName>AnyContact_entity</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>Documents</name> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>Documents</fieldName> - </dependency> - <children> - <entityParameter> - <name>AssignmentRowId_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentTable_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>MainDocuments</name> - <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/maindocuments/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>MainDocuments</fieldName> - </dependency> - <children> - <entityParameter> - <name>AssignmentRowId_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentTable_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>ADDRESS</name> - <documentation>%aditoprj%/entity/Offer_entity/entityfields/address/documentation.adoc</documentation> - <title>Address</title> - <description></description> - <contentType>LONG_TEXT</contentType> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/address/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>ChosenAddress</name> - <title>Choose address</title> - <consumer>PossibleAddresses</consumer> - <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/stateProcess.js</stateProcess> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/displayValueProcess.js</displayValueProcess> - <onValueChange>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/onValueChange.js</onValueChange> - <onValueChangeTypes> - <element>MASK</element> - <element>PROCESS</element> - </onValueChangeTypes> - </entityField> - <entityConsumer> - <name>KeywordCurrencies</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>KeywordOfferStates</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>newOrder</name> - <title>Create receipt</title> - <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/neworder/onActionProcess.js</onActionProcess> - <iconId>VAADIN:DOLLAR</iconId> - </entityActionField> - <entityConsumer> - <name>Languages</name> - <dependency> - <name>dependency</name> - <entityName>Language_entity</entityName> - <fieldName>ISO3Name</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>KeywordProbabilities</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordprobabilities/children/containername_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Activities</name> - <dependency> - <name>dependency</name> - <entityName>Activity_entity</entityName> - <fieldName>LinkedObjects</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectId_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>RowId_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>PresetLinks_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>newActivity</name> - <title>New activity</title> - <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> - <iconId>VAADIN:HOURGLASS_END</iconId> - <tooltip>New activity</tooltip> - <tooltipProcess>%aditoprj%/entity/Offer_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> - </entityActionField> - <entityProvider> - <name>ContactOffers</name> - <dependencies> - <entityDependency> - <name>5c9720b5-1288-4a30-88fd-6dcff6359083</name> - <entityName>Person_entity</entityName> - <fieldName>Offers</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>b308795f-3c81-4e60-99ca-3b5f8e82f62a</name> - <entityName>Organisation_entity</entityName> - <fieldName>Offers</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>ContactId_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>SalesprojectId_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferLanguage_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>ObjectRowId_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferCode_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferAddress_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferCurrency_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferDeliveryTerm_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferHeader_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>OfferOriginal_Id_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>OfferPaymentTerm_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferVersnr_param</name> - <expose v="false" /> - </entityParameter> - </children> - </entityProvider> - <entityParameter> - <name>OfferCurrency_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OfferLanguage_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OfferHeader_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OfferOriginal_Id_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OfferAddress_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OfferCode_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OfferVersnr_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityActionField> - <name>newTask</name> - <title>New task</title> - <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newtask/onActionProcess.js</onActionProcess> - <iconId>VAADIN:TASKS</iconId> - </entityActionField> - <entityField> - <name>PAYMENTTERMS</name> - <title>Payment term</title> - <consumer>KeywordPaymentTerm</consumer> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/paymentterms/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/paymentterms/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>DELIVERYTERMS</name> - <title>Delivery specification</title> - <consumer>KeywordDeliveryTerm</consumer> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/deliveryterms/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/deliveryterms/displayValueProcess.js</displayValueProcess> - </entityField> - <entityConsumer> - <name>KeywordPaymentTerm</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordpaymentterm/children/containername_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>KeywordDeliveryTerm</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keyworddeliveryterm/children/containername_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Tasks</name> - <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/tasks/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>Task_entity</entityName> - <fieldName>Tasks</fieldName> - </dependency> - <children> - <entityParameter> - <name>RowId_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectId_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>PresetLinks_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>INFO</name> - <title>Information</title> - <contentType>LONG_TEXT</contentType> - </entityField> - <entityConsumer> - <name>Attributes</name> - <onValidation>%aditoprj%/entity/Offer_entity/entityfields/attributes/onValidation.js</onValidation> - <dependency> - <name>dependency</name> - <entityName>AttributeRelation_entity</entityName> - <fieldName>AttributeRelations</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityParameter> - <name>OfferPaymentTerm_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>OfferDeliveryTerm_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityField> - <name>USER_NEW</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/user_new/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>USER_EDIT</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/user_edit/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>DATE_NEW</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/date_new/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>DATE_EDIT</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/date_edit/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>FullOfferCode</name> - <title>Offer number</title> - <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/fulloffercode/valueProcess.js</valueProcess> - </entityField> - <entityConsumer> - <name>PossibleAddresses</name> - <dependency> - <name>dependency</name> - <entityName>Address_entity</entityName> - <fieldName>OrganisationAndContactAddresses</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/possibleaddresses/children/contactid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>ChoosenTEXHeader</name> - <title>Choose Header</title> - <consumer>DocumentTemplateTexHeader</consumer> - </entityField> - <entityField> - <name>OBJECT_ROWID</name> - <consumer>Objects</consumer> - <linkedContextProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess> - <mandatoryProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/mandatoryProcess.js</mandatoryProcess> - <state>AUTO</state> - <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/stateProcess.js</stateProcess> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>OBJECT_TYPE</name> - <consumer>Contexts</consumer> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/object_type/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/object_type/displayValueProcess.js</displayValueProcess> - </entityField> - <entityConsumer> - <name>Objects</name> - <dependency> - <name>dependency</name> - <entityName>Object_entity</entityName> - <fieldName>AllObjects</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>Contexts</name> - <dependency> - <name>dependency</name> - </dependency> - </entityConsumer> - <entityProvider> - <name>Links</name> - <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>88a166e6-ccd0-4d51-b554-e3327f66d834</name> - <entityName>Salesproject_entity</entityName> - <fieldName>Offers</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>OfferDeliveryTerm_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferCode_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferOriginal_Id_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>ContactId_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>ObjectRowId_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>OfferAddress_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferCurrency_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferHeader_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferLanguage_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferPaymentTerm_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>OfferVersnr_param</name> - <expose v="false" /> - </entityParameter> - </children> - </entityProvider> - <entityParameter> - <name>ObjectRowId_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityField> - <name>chooseTEXHeader</name> - <consumer>DocumentTemplateTex</consumer> </entityField> - <entityConsumer> - <name>DocumentTemplateTexHeader</name> - <dependency> - <name>dependency</name> - <entityName>DocumentTemplate_entity</entityName> - <fieldName>DocumentTemplateProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>DocumentTemplateType_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documenttemplatetexheader/children/documenttemplatetype_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>DocumentTemplateTypeClassification_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documenttemplatetexheader/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>LogHistoryConsumer</name> - <dependency> - <name>dependency</name> - <entityName>LogHistory_entity</entityName> - <fieldName>LogHistoryProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>tablenames_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>FOOTER</name> - <title>Footer text</title> - <contentType>LONG_TEXT</contentType> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/footer/valueProcess.js</valueProcess> - </entityField> - <entityParameter> - <name>OfferFooter_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityField> - <name>ChoosenTEXFooter</name> - <title>Choose Footer</title> - <consumer>DocumentTemplateTexFooter</consumer> - </entityField> - <entityConsumer> - <name>DocumentTemplateTexFooter</name> - <dependency> - <name>dependency</name> - <entityName>DocumentTemplate_entity</entityName> - <fieldName>DocumentTemplateProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>DocumentTemplateType_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documenttemplatetexfooter/children/documenttemplatetype_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>DocumentTemplateTypeClassification_param</name> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documenttemplatetexfooter/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - </entityFields> - <recordContainers> - <dbRecordContainer> - <name>db</name> - <alias>Data_alias</alias> - <maximumDbRows v="0" /> - <fromClauseProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> - <conditionProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/conditionProcess.js</conditionProcess> - <orderClauseProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> - <onDBInsert>%aditoprj%/entity/Offer_entity/recordcontainers/db/onDBInsert.js</onDBInsert> - <onDBDelete>%aditoprj%/entity/Offer_entity/recordcontainers/db/onDBDelete.js</onDBDelete> - <linkInformation> - <linkInformation> - <name>681f6893-d11a-430c-a8ca-87215054d86f</name> - <tableName>OFFER</tableName> - <primaryKey>OFFERID</primaryKey> - <isUIDTable v="true" /> - <readonly v="false" /> - </linkInformation> - <linkInformation> - <name>acdf69f0-c6ad-431a-90c7-5bd0b3dc3d8e</name> - <tableName>CONTACT</tableName> - <primaryKey>CONTACTID</primaryKey> - <isUIDTable v="false" /> - <readonly v="true" /> - </linkInformation> - <linkInformation> - <name>b129928e-886e-4482-99da-463135008fef</name> - <tableName>SALESPROJECT</tableName> - <primaryKey>SALESPROJECTID</primaryKey> - <isUIDTable v="false" /> - <readonly v="true" /> - </linkInformation> - </linkInformation> - <recordFieldMappings> - <dbRecordFieldMapping> - <name>CURRENCY.value</name> - <recordfield>OFFER.CURRENCY</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>HEADER.value</name> - <recordfield>OFFER.HEADER</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>LANGUAGE.value</name> - <recordfield>OFFER.LANGUAGE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>NET.value</name> - <recordfield>OFFER.NET</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>OFFERCODE.value</name> - <recordfield>OFFER.OFFERCODE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>OFFERDATE.value</name> - <recordfield>OFFER.OFFERDATE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>OFFERID.value</name> - <recordfield>OFFER.OFFERID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROBABILITY.value</name> - <recordfield>OFFER.PROBABILITY</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STATUS.value</name> - <recordfield>OFFER.STATUS</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>VAT.value</name> - <recordfield>OFFER.VAT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>VERSNR.value</name> - <recordfield>OFFER.VERSNR</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CONTACT_ID.value</name> - <recordfield>OFFER.CONTACT_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CONTACT_ORG_ID.value</name> - <recordfield>CONTACT.ORGANISATION_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CONTACT_PERSON_ID.value</name> - <recordfield>CONTACT.PERSON_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ADDRESS.value</name> - <recordfield>OFFER.ADDRESS</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CURRENCY.displayValue</name> - <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STATUS.displayValue</name> - <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>LANGUAGE.displayValue</name> - <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROBABILITY.displayValue</name> - <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/probability.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PAYMENTTERMS.value</name> - <recordfield>OFFER.PAYMENTTERMS</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DELIVERYTERMS.value</name> - <recordfield>OFFER.DELIVERYTERMS</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DELIVERYTERMS.displayValue</name> - <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/deliveryterms.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PAYMENTTERMS.displayValue</name> - <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/paymentterms.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>INFO.value</name> - <recordfield>OFFER.INFO</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>USER_NEW.value</name> - <recordfield>OFFER.USER_NEW</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>USER_EDIT.value</name> - <recordfield>OFFER.USER_EDIT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DATE_NEW.value</name> - <recordfield>OFFER.DATE_NEW</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DATE_EDIT.value</name> - <recordfield>OFFER.DATE_EDIT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>OBJECT_ROWID.value</name> - <recordfield>OFFER.OBJECT_ROWID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>FOOTER.value</name> - <recordfield>OFFER.FOOTER</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>OBJECT_TYPE.value</name> - <recordfield>OFFER.OBJECT_TYPE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>OBJECT_ROWID.displayValue</name> - <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - </recordFieldMappings> - </dbRecordContainer> - </recordContainers> -</entity> +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> + <name>Offer_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <documentation>%aditoprj%/entity/Offer_entity/documentation.adoc</documentation> + <title>Offer</title> + <afterUiInit>%aditoprj%/entity/Offer_entity/afterUiInit.js</afterUiInit> + <iconId>VAADIN:CART</iconId> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + <dependencies> + <entityDependency> + <name>f909c251-16c1-49e2-9b43-6d5f834137c6</name> + <entityName>Object_entity</entityName> + <fieldName>Offers</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + </entityProvider> + <entityField> + <name>CURRENCY</name> + <title>Currency</title> + <consumer>KeywordCurrencies</consumer> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/currency/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/currency/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>OFFERCODE</name> + <documentation>%aditoprj%/entity/Offer_entity/entityfields/offercode/documentation.adoc</documentation> + <title>Offer number</title> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offercode/valueProcess.js</valueProcess> + <onValidation>%aditoprj%/entity/Offer_entity/entityfields/offercode/onValidation.js</onValidation> + </entityField> + <entityField> + <name>OFFERDATE</name> + <title>Date</title> + <contentType>DATE</contentType> + <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> + <inputFormat>dd.MM.yyyy</inputFormat> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offerdate/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>OFFERID</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offerid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>PROBABILITY</name> + <title>Probability</title> + <consumer>KeywordProbabilities</consumer> + <contentType>NUMBER</contentType> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/probability/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>STATUS</name> + <title>Status</title> + <consumer>KeywordOfferStates</consumer> + <mandatory v="true" /> + <state>EDITABLE</state> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/status/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/status/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>VAT</name> + <title>Total VAT</title> + <contentType>NUMBER</contentType> + <inputFormat>#,##0.00</inputFormat> + <state>READONLY</state> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/vat/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>IMAGE</name> + <contentType>IMAGE</contentType> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/image/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>HEADER</name> + <title>Header text</title> + <contentType>LONG_TEXT</contentType> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/header/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>Offeritems</name> + <description></description> + <dependency> + <name>dependency</name> + <entityName>Offeritem_entity</entityName> + <fieldName>OfferItems</fieldName> + </dependency> + <children> + <entityParameter> + <name>OfferId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offeritems/children/offerid_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + </entityParameter> + <entityParameter> + <name>Currency_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offeritems/children/currency_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offeritems/children/ContactId_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + </entityParameter> + <entityParameter> + <name>OfferStatus_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offeritems/children/offerstatus_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>newOfferVersion</name> + <title>New offer version</title> + <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js</onActionProcess> + <iconId>VAADIN:CART</iconId> + </entityActionField> + <entityField> + <name>NET</name> + <title>Total net</title> + <contentType>NUMBER</contentType> + <inputFormat>#,##0.00</inputFormat> + <state>READONLY</state> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/net/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>TotalGross</name> + <documentation>%aditoprj%/entity/Offer_entity/entityfields/totalgross/documentation.adoc</documentation> + <title>Total gross</title> + <contentType>NUMBER</contentType> + <inputFormat>#,##0.00</inputFormat> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/totalgross/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/totalgross/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>LANGUAGE</name> + <title>Language</title> + <consumer>Languages</consumer> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/language/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/language/displayValueProcess.js</displayValueProcess> + </entityField> + <entityActionField> + <name>copyOffer</name> + <title>Copy offer</title> + <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js</onActionProcess> + <iconId>VAADIN:COPY</iconId> + </entityActionField> + <entityField> + <name>VERSNR</name> + <documentation>%aditoprj%/entity/Offer_entity/entityfields/versnr/documentation.adoc</documentation> + <title>Vers. no.</title> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/versnr/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>OFFER_ID</name> + <documentation>%aditoprj%/entity/Offer_entity/entityfields/offer_id/documentation.adoc</documentation> + </entityField> + <entityFieldGroup> + <name>OfferCode_VersNr_fieldgroup</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offercode_versnr_fieldgroup/valueProcess.js</valueProcess> + <title>Offer number</title> + <description>Offercode + VersNr</description> + <state>READONLY</state> + <fields> + <element>OFFERCODE</element> + <element>VERSNR</element> + </fields> + </entityFieldGroup> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityActionField> + <name>printOffer</name> + <title>Print Offer</title> + <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/printoffer/onActionProcess.js</onActionProcess> + <iconId>VAADIN:FILE_TEXT_O</iconId> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/printoffer/stateProcess.js</stateProcess> + </entityActionField> + <entityField> + <name>CONTACT_ORG_ID</name> + <searchable v="false" /> + </entityField> + <entityField> + <name>CONTACT_PERSON_ID</name> + <searchable v="false" /> + </entityField> + <entityConsumer> + <name>AnyContacts</name> + <dependency> + <name>dependency</name> + <entityName>AnyContact_entity</entityName> + <fieldName>OnlySameCompany</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/anycontacts/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Documents</name> + <dependency> + <name>dependency</name> + <entityName>Document_entity</entityName> + <fieldName>Documents</fieldName> + </dependency> + <children> + <entityParameter> + <name>AssignmentRowId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentTable_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>MainDocuments</name> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/maindocuments/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>Document_entity</entityName> + <fieldName>MainDocuments</fieldName> + </dependency> + <children> + <entityParameter> + <name>AssignmentRowId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentTable_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>ADDRESS</name> + <documentation>%aditoprj%/entity/Offer_entity/entityfields/address/documentation.adoc</documentation> + <title>Address</title> + <description></description> + <contentType>LONG_TEXT</contentType> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/address/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>ChosenAddress</name> + <title>Choose address</title> + <consumer>PossibleAddresses</consumer> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/stateProcess.js</stateProcess> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + </onValueChangeTypes> + </entityField> + <entityConsumer> + <name>KeywordCurrencies</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordOfferStates</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>newOrder</name> + <title>Create receipt</title> + <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/neworder/onActionProcess.js</onActionProcess> + <iconId>VAADIN:DOLLAR</iconId> + </entityActionField> + <entityConsumer> + <name>Languages</name> + <dependency> + <name>dependency</name> + <entityName>Language_entity</entityName> + <fieldName>ISO3Name</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>KeywordProbabilities</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordprobabilities/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Activities</name> + <dependency> + <name>dependency</name> + <entityName>Activity_entity</entityName> + <fieldName>LinkedObjects</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>RowId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>PresetLinks_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>newActivity</name> + <title>New activity</title> + <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> + <iconId>VAADIN:HOURGLASS_END</iconId> + <tooltip>New activity</tooltip> + <tooltipProcess>%aditoprj%/entity/Offer_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> + </entityActionField> + <entityProvider> + <name>ContactOffers</name> + <dependencies> + <entityDependency> + <name>5c9720b5-1288-4a30-88fd-6dcff6359083</name> + <entityName>Person_entity</entityName> + <fieldName>Offers</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>b308795f-3c81-4e60-99ca-3b5f8e82f62a</name> + <entityName>Organisation_entity</entityName> + <fieldName>Offers</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>SalesprojectId_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferLanguage_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>ObjectRowId_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferCode_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferAddress_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferCurrency_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferDeliveryTerm_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferHeader_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>OfferOriginal_Id_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>OfferPaymentTerm_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferVersnr_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>PossibleConnectionTypes</name> + <expose v="false" /> + </entityParameter> + </children> + </entityProvider> + <entityParameter> + <name>OfferCurrency_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>OfferLanguage_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>OfferHeader_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>OfferOriginal_Id_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>OfferAddress_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>OfferCode_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>OfferVersnr_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityActionField> + <name>newTask</name> + <title>New task</title> + <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newtask/onActionProcess.js</onActionProcess> + <iconId>VAADIN:TASKS</iconId> + </entityActionField> + <entityField> + <name>PAYMENTTERMS</name> + <title>Payment term</title> + <consumer>KeywordPaymentTerm</consumer> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/paymentterms/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/paymentterms/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>DELIVERYTERMS</name> + <title>Delivery specification</title> + <consumer>KeywordDeliveryTerm</consumer> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/deliveryterms/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/deliveryterms/displayValueProcess.js</displayValueProcess> + </entityField> + <entityConsumer> + <name>KeywordPaymentTerm</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordpaymentterm/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordDeliveryTerm</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keyworddeliveryterm/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Tasks</name> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/tasks/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>Task_entity</entityName> + <fieldName>Tasks</fieldName> + </dependency> + <children> + <entityParameter> + <name>RowId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>PresetLinks_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>INFO</name> + <title>Information</title> + <contentType>LONG_TEXT</contentType> + </entityField> + <entityConsumer> + <name>Attributes</name> + <onValidation>%aditoprj%/entity/Offer_entity/entityfields/attributes/onValidation.js</onValidation> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>AttributeRelations</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>OfferPaymentTerm_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>OfferDeliveryTerm_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>USER_NEW</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_NEW</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/date_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>FullOfferCode</name> + <title>Offer number</title> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/fulloffercode/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>PossibleAddresses</name> + <dependency> + <name>dependency</name> + <entityName>Address_entity</entityName> + <fieldName>OrganisationAndContactAddresses</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/possibleaddresses/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>ChoosenTEXHeader</name> + <title>Choose Header</title> + <consumer>DocumentTemplateTexHeader</consumer> + </entityField> + <entityField> + <name>OBJECT_ROWID</name> + <title>Connection</title> + <consumer>Objects</consumer> + <linkedContextProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess> + <mandatoryProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/mandatoryProcess.js</mandatoryProcess> + <state>AUTO</state> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/stateProcess.js</stateProcess> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>OBJECT_TYPE</name> + <title>Connection Type</title> + <consumer>Contexts</consumer> + <mandatoryProcess>%aditoprj%/entity/Offer_entity/entityfields/object_type/mandatoryProcess.js</mandatoryProcess> + <state>INVISIBLE</state> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/object_type/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/object_type/displayValueProcess.js</displayValueProcess> + </entityField> + <entityConsumer> + <name>Objects</name> + <dependency> + <name>dependency</name> + <entityName>Object_entity</entityName> + <fieldName>FilteredObjects</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/objects/children/contactid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Contexts</name> + <dependency> + <name>dependency</name> + <entityName>Context_entity</entityName> + <fieldName>Context</fieldName> + </dependency> + <children> + <entityParameter> + <name>Whitelist</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/contexts/children/whitelist/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityProvider> + <name>Links</name> + <recordContainer>db</recordContainer> + <dependencies> + <entityDependency> + <name>88a166e6-ccd0-4d51-b554-e3327f66d834</name> + <entityName>Salesproject_entity</entityName> + <fieldName>Offers</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>OfferDeliveryTerm_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferCode_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferOriginal_Id_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>ContactId_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>ObjectRowId_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>OfferAddress_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferCurrency_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferHeader_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferLanguage_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferPaymentTerm_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>OfferVersnr_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>PossibleConnectionTypes</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/links/children/possibleconnectiontypes/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityProvider> + <entityParameter> + <name>ObjectRowId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>chooseTEXHeader</name> + <consumer>DocumentTemplateTex</consumer> + </entityField> + <entityConsumer> + <name>DocumentTemplateTexHeader</name> + <dependency> + <name>dependency</name> + <entityName>DocumentTemplate_entity</entityName> + <fieldName>DocumentTemplateProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>DocumentTemplateType_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documenttemplatetexheader/children/documenttemplatetype_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>DocumentTemplateTypeClassification_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documenttemplatetexheader/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>LogHistoryConsumer</name> + <dependency> + <name>dependency</name> + <entityName>LogHistory_entity</entityName> + <fieldName>LogHistoryProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>tablenames_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>FOOTER</name> + <title>Footer text</title> + <contentType>LONG_TEXT</contentType> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/footer/valueProcess.js</valueProcess> + </entityField> + <entityParameter> + <name>OfferFooter_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>ChoosenTEXFooter</name> + <title>Choose Footer</title> + <consumer>DocumentTemplateTexFooter</consumer> + </entityField> + <entityConsumer> + <name>DocumentTemplateTexFooter</name> + <dependency> + <name>dependency</name> + <entityName>DocumentTemplate_entity</entityName> + <fieldName>DocumentTemplateProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>DocumentTemplateType_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documenttemplatetexfooter/children/documenttemplatetype_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>DocumentTemplateTypeClassification_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/documenttemplatetexfooter/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Salesprojects</name> + <dependency> + <name>dependency</name> + <entityName>Salesproject_entity</entityName> + <fieldName>Salesprojects</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>CONTACT_ID</name> + <documentation>%aditoprj%/entity/Offer_entity/entityfields/contact_id/documentation.adoc</documentation> + <title>Assignment</title> + <consumer>AnyContacts</consumer> + <linkedContextProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js</linkedContextProcess> + <mandatory v="true" /> + <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/stateProcess.js</stateProcess> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/Offer_entity/entityfields/contact_id/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> + </entityField> + <entityParameter> + <name>PossibleConnectionTypes</name> + <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/possibleconnectiontypes/valueProcess.js</valueProcess> + <expose v="true" /> + </entityParameter> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <maximumDbRows v="0" /> + <fromClauseProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> + <conditionProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <orderClauseProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> + <onDBInsert>%aditoprj%/entity/Offer_entity/recordcontainers/db/onDBInsert.js</onDBInsert> + <onDBDelete>%aditoprj%/entity/Offer_entity/recordcontainers/db/onDBDelete.js</onDBDelete> + <linkInformation> + <linkInformation> + <name>681f6893-d11a-430c-a8ca-87215054d86f</name> + <tableName>OFFER</tableName> + <primaryKey>OFFERID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + <linkInformation> + <name>acdf69f0-c6ad-431a-90c7-5bd0b3dc3d8e</name> + <tableName>CONTACT</tableName> + <primaryKey>CONTACTID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> + <linkInformation> + <name>b129928e-886e-4482-99da-463135008fef</name> + <tableName>SALESPROJECT</tableName> + <primaryKey>SALESPROJECTID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>CURRENCY.value</name> + <recordfield>OFFER.CURRENCY</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>HEADER.value</name> + <recordfield>OFFER.HEADER</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LANGUAGE.value</name> + <recordfield>OFFER.LANGUAGE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>NET.value</name> + <recordfield>OFFER.NET</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OFFERCODE.value</name> + <recordfield>OFFER.OFFERCODE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OFFERDATE.value</name> + <recordfield>OFFER.OFFERDATE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OFFERID.value</name> + <recordfield>OFFER.OFFERID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PROBABILITY.value</name> + <recordfield>OFFER.PROBABILITY</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATUS.value</name> + <recordfield>OFFER.STATUS</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>VAT.value</name> + <recordfield>OFFER.VAT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>VERSNR.value</name> + <recordfield>OFFER.VERSNR</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CONTACT_ORG_ID.value</name> + <recordfield>CONTACT.ORGANISATION_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CONTACT_PERSON_ID.value</name> + <recordfield>CONTACT.PERSON_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ADDRESS.value</name> + <recordfield>OFFER.ADDRESS</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CURRENCY.displayValue</name> + <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATUS.displayValue</name> + <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LANGUAGE.displayValue</name> + <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PROBABILITY.displayValue</name> + <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/probability.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PAYMENTTERMS.value</name> + <recordfield>OFFER.PAYMENTTERMS</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DELIVERYTERMS.value</name> + <recordfield>OFFER.DELIVERYTERMS</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DELIVERYTERMS.displayValue</name> + <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/deliveryterms.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PAYMENTTERMS.displayValue</name> + <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/paymentterms.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>INFO.value</name> + <recordfield>OFFER.INFO</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>OFFER.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>OFFER.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>OFFER.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>OFFER.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.value</name> + <recordfield>OFFER.OBJECT_ROWID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>FOOTER.value</name> + <recordfield>OFFER.FOOTER</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_TYPE.value</name> + <recordfield>OFFER.OBJECT_TYPE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.displayValue</name> + <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CONTACT_ID.value</name> + <recordfield>OFFER.CONTACT_ID</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Offer_entity/conditionProcess.js b/entity/Offer_entity/conditionProcess.js index 30a86e4e5f568fd555a1a52ded71f3ab23481034..b14a501b815b431fb104bad81e46125ecaca45eb 100644 --- a/entity/Offer_entity/conditionProcess.js +++ b/entity/Offer_entity/conditionProcess.js @@ -3,7 +3,7 @@ import("system.result"); import("Sql_lib"); var cond = new SqlCondition(); -cond.andPrepareVars("OFFER.OBJECT_ROWID", "$param.SalesprojectId_param"); +cond.andPrepareVars("OFFER.OBJECT_ROWID", "$param.ObjectRowId_param"); //TODO: use a preparedCondition when available #1030812 #1034026 result.string(db.translateCondition(cond.build("1 = 1"))); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/anycontacts/children/contactid_param/valueProcess.js b/entity/Offer_entity/entityfields/anycontacts/children/contactid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..c41e20315c6fbf1f10f4978391c9af3f762b2274 --- /dev/null +++ b/entity/Offer_entity/entityfields/anycontacts/children/contactid_param/valueProcess.js @@ -0,0 +1,17 @@ +import("system.result"); +import("system.vars"); + +var contactId = ""; +if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param")) { + contactId = vars.get("$param.ContactId_param"); +} +else if ((vars.exists("$param.ObjectType_param") + && vars.get("$param.ObjectType_param") + && vars.exists("$param.ObjectRowId_param") + && vars.get("$param.ObjectRowId_param"))) +{ + contactId = ContextUtils.getContactId(vars.get("$param.ObjectType_param"), vars.get("$param.ObjectRowId_param")); +} + +if (contactId) + result.string(contactId); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js b/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js index 08ad146eeefe97e12cfe29fc61672ae76f34c01b..d8f47a34a6c795199277bc1d2930775b4b29e253 100644 --- a/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js +++ b/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js @@ -1,7 +1,7 @@ -import("system.result"); -import("system.vars"); -import("Contact_lib"); -import("system.neon"); - - +import("system.result"); +import("system.vars"); +import("Contact_lib"); +import("system.neon"); + + result.string(ContactUtils.getFullTitleByContactId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/contact_id/documentation.adoc b/entity/Offer_entity/entityfields/contact_id/documentation.adoc index f8989a2242e89dd5d4eeca7ccb59e9ca0cccedc0..5812dd624daeeb2a97ec0d796bf3a3dba0fade26 100644 --- a/entity/Offer_entity/entityfields/contact_id/documentation.adoc +++ b/entity/Offer_entity/entityfields/contact_id/documentation.adoc @@ -1,10 +1,10 @@ -= CONTACT_ID -:hardbreaks: - -Over this field the company or contact person of customer is linked. - -== onValueChange - -If set in the selected company or contact person, the following field value are taken over: - += CONTACT_ID +:hardbreaks: + +Over this field the company or contact person of customer is linked. + +== onValueChange + +If set in the selected company or contact person, the following field value are taken over: + * LANGUAGE \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js b/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js index 2e504d63e3b5a3f71b54b072798b3ad09c50984b..c6e221c7440633d683f94fcc2505ba548d581b1b 100644 --- a/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js +++ b/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js @@ -1,5 +1,5 @@ -import("system.vars"); -import("system.result"); -import("Contact_lib"); - +import("system.vars"); +import("system.result"); +import("Contact_lib"); + result.string(ContactUtils.getContextByContactId(vars.getString("$field.CONTACT_ID"))); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/contact_id/onValueChange.js b/entity/Offer_entity/entityfields/contact_id/onValueChange.js index 21017ee1ee7962854598b28f6b669380403ecac1..2aab8d05a139fa179c4f98c2d4a548b1ec5cedc4 100644 --- a/entity/Offer_entity/entityfields/contact_id/onValueChange.js +++ b/entity/Offer_entity/entityfields/contact_id/onValueChange.js @@ -1,19 +1,25 @@ -import("system.neon"); -import("system.vars"); -import("system.db"); -import("Util_lib"); -import("Entity_lib"); -import("Contact_lib"); - -var contactid = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTACT_ID")); -if(contactid != "") -{ - //Language Preset - var relData = db.array(db.ROW, "select LANGUAGE from CONTACT where CONTACTID = '" + contactid + "'"); - if(relData[0] != "") - neon.setFieldValue("field.LANGUAGE", relData[0]); - - // set $field.CONTATCT_ORG_ID per contactid - var orgid = ContactUtils.getPersOrgIds(contactid); - neon.setFieldValue("$field.CONTACT_ORG_ID", orgid[2]); +import("system.neon"); +import("system.vars"); +import("system.db"); +import("Util_lib"); +import("Entity_lib"); +import("Contact_lib"); + +var contactid = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTACT_ID")); +if(contactid != "") +{ + //Language Preset + var relData = db.array(db.ROW, "select LANGUAGE from CONTACT where CONTACTID = '" + contactid + "'"); + if(relData[0] != "") + neon.setFieldValue("field.LANGUAGE", relData[0]); + + // set $field.CONTATCT_ORG_ID per contactid + var orgid = ContactUtils.getPersOrgIds(contactid); + neon.setFieldValue("$field.CONTACT_ORG_ID", orgid[2]); +} +else +{ + neon.setFieldValue("$field.CONTACT_ORG_ID", ""); + neon.setFieldValue("$field.LANGUAGE", ""); + neon.setFieldValue("$field.OBJECT_ROWID", ""); } \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/contact_id/stateProcess.js b/entity/Offer_entity/entityfields/contact_id/stateProcess.js index dc6fd1b10e00d0339454f749a9fe9f88c68457fe..f246db11722b6d2cca8a3a3144177f2dcd78a677 100644 --- a/entity/Offer_entity/entityfields/contact_id/stateProcess.js +++ b/entity/Offer_entity/entityfields/contact_id/stateProcess.js @@ -2,5 +2,6 @@ import("system.result"); import("system.vars"); import("system.neon"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT || + (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param"))) result.string(neon.COMPONENTSTATE_READONLY); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/contact_id/valueProcess.js b/entity/Offer_entity/entityfields/contact_id/valueProcess.js index de8555de92b5ab107b544f7169220c0a5f5372b9..1fca2af19c495e073b9eac4eb9dd3f036b3a89c7 100644 --- a/entity/Offer_entity/entityfields/contact_id/valueProcess.js +++ b/entity/Offer_entity/entityfields/contact_id/valueProcess.js @@ -1,22 +1,30 @@ +import("system.logging"); import("system.neon"); import("system.db"); import("system.result"); import("system.vars"); import("Sql_lib"); +import("Context_lib"); -if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param")) +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) +var contactId = ""; +if ((!vars.exists("$param.ContactId_param") || !vars.get("$param.ContactId_param")) + && (vars.exists("$param.ObjectType_param") + && vars.get("$param.ObjectType_param") + && vars.exists("$param.ObjectRowId_param") + && vars.get("$param.ObjectRowId_param"))) { - var contactid = vars.get("$param.ContactId_param"); - var relData = db.array(db.ROW, "select LANGUAGE from CONTACT where CONTACTID = '" + contactid + "'"); + contactId = ContextUtils.getContactId(vars.get("$param.ObjectType_param"), vars.get("$param.ObjectRowId_param")) +} else if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param")) { + contactId = vars.get("$param.ContactId_param"); +} + +if (contactId) +{ + var relData = db.array(db.ROW, "select LANGUAGE from CONTACT where CONTACTID = '" + contactId + "'"); if(relData[0] != "") neon.setFieldValue("field.LANGUAGE", relData[0]); - result.string(vars.get("$param.ContactId_param")); -} -else if (vars.exists("$param.SalesprojectId_param") && vars.get("$param.SalesprojectId_param")) -{ - result.string(db.cell(SqlCondition.begin() - .andPrepareVars("SALESPROJECT.SALESPROJECTID", "$param.SalesprojectId_param") - .buildSql("select CONTACT_ID from SALESPROJECT", "1=2"))); + result.string(contactId); } \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/contexts/children/whitelist/valueProcess.js b/entity/Offer_entity/entityfields/contexts/children/whitelist/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..928bc6a94ca7787626928dc47c2262baabb82854 --- /dev/null +++ b/entity/Offer_entity/entityfields/contexts/children/whitelist/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$param.PossibleConnectionTypes")) \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js b/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js index eecb29ab0dc13c1d69af8cf28578deb153d74bb8..4dc0b8f10aade72bb70fc84b11368e1f42993366 100644 --- a/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js +++ b/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js @@ -10,9 +10,10 @@ var footer = vars.getString("$field.FOOTER"); var offerId = vars.getString("$field.OFFERID"); var deliveryTerm = vars.getString("$field.DELIVERYTERMS"); var paymentTerm = vars.getString("$field.PAYMENTTERMS"); -var salesprojectId = vars.getString("$field.OBJECT_ROWID"); +var rowId = vars.getString("$field.OBJECT_ROWID"); +var objectType = vars.getString("$field.OBJECT_TYPE"); -OfferUtils.copyOffer(offerId, contactId, language, currency, header, footer, deliveryTerm, paymentTerm, salesprojectId); +OfferUtils.copyOffer(offerId, contactId, language, currency, header, footer, deliveryTerm, paymentTerm, objectType, rowId); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/links/children/possibleconnectiontypes/valueProcess.js b/entity/Offer_entity/entityfields/links/children/possibleconnectiontypes/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4ac5b0e3eff22ae1ef817e6e862c16b1e4618049 --- /dev/null +++ b/entity/Offer_entity/entityfields/links/children/possibleconnectiontypes/valueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); + +if (vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param")) + result.object([vars.get("$param.ObjectType_param")]); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js b/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js index 5087acef8c931156ad1abf76fd4d118e992c0769..66b368d8e0178f9601c77a600619d542fa2c14ff 100644 --- a/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js +++ b/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js @@ -4,7 +4,8 @@ import("Offer_lib"); var params = { "ContactId_param" : vars.get("$field.CONTACT_ID"), - "SalesprojectId_param" : vars.get("$field.OBJECT_ROWID"), + "ObjectType_param" : vars.get("$field.OBJECT_TYPE"), + "ObjectRowId_param" : vars.get("$field.OBJECT_ROWID"), "OfferLanguage_param" : vars.get("$field.LANGUAGE"), "OfferOriginal_Id_param" : vars.get("$field.OFFERID"), "OfferCode_param" : vars.get("$field.OFFERCODE"), diff --git a/entity/Offer_entity/entityfields/object_rowid/displayValueProcess.js b/entity/Offer_entity/entityfields/object_rowid/displayValueProcess.js index 8b080bceea92c146a676b0f33cc7cb87d4e86b9d..56d86282f48b1a4469aa61f7817b24edde6e5123 100644 --- a/entity/Offer_entity/entityfields/object_rowid/displayValueProcess.js +++ b/entity/Offer_entity/entityfields/object_rowid/displayValueProcess.js @@ -4,7 +4,7 @@ import("system.db"); import("system.result"); import("Context_lib"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.OBJECT_ROWID")) { +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) { result.string(""); } else if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) { result.string(db.cell(ContextUtils.getNameSql(vars.get("$field.OBJECT_TYPE"), vars.get("$field.OBJECT_ROWID")))); diff --git a/entity/Offer_entity/entityfields/object_rowid/mandatoryProcess.js b/entity/Offer_entity/entityfields/object_rowid/mandatoryProcess.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4736fe4bfc8bfa641c18710e9b5a5303e967b9a6 100644 --- a/entity/Offer_entity/entityfields/object_rowid/mandatoryProcess.js +++ b/entity/Offer_entity/entityfields/object_rowid/mandatoryProcess.js @@ -0,0 +1,7 @@ +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +var type = ContactUtils.getContactType(vars.get("$field.CONTACT_ID"), vars.get("$field.CONTACT_PERSON_ID"), vars.get("$field.CONTACT_ORG_ID")); + +result.string(type != 2); diff --git a/entity/Offer_entity/entityfields/object_rowid/stateProcess.js b/entity/Offer_entity/entityfields/object_rowid/stateProcess.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..68e51e8c391f18996f9f92aaf3f24453702fd0b3 100644 --- a/entity/Offer_entity/entityfields/object_rowid/stateProcess.js +++ b/entity/Offer_entity/entityfields/object_rowid/stateProcess.js @@ -0,0 +1,17 @@ +import("system.neon"); +import("system.result"); +import("system.vars"); +import("Entity_lib"); + +switch (vars.get("$sys.recordstate")) +{ + case neon.OPERATINGSTATE_NEW: + //only EDITABLE if $field.CONTACT_ID is set and not objectrowid preset + if(vars.get("$field.CONTACT_ID") && !(vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param") && vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param"))) + result.object(neon.COMPONENTSTATE_EDITABLE); + else + result.object(neon.COMPONENTSTATE_READONLY); + break; + default: + result.object(neon.COMPONENTSTATE_READONLY); +} diff --git a/entity/Offer_entity/entityfields/object_rowid/valueProcess.js b/entity/Offer_entity/entityfields/object_rowid/valueProcess.js index 09d845d6f59f097036ad418f74975808ec568bb6..752a1b6b75422488d7490688c686a6a5a0d59dc0 100644 --- a/entity/Offer_entity/entityfields/object_rowid/valueProcess.js +++ b/entity/Offer_entity/entityfields/object_rowid/valueProcess.js @@ -2,4 +2,4 @@ import("system.vars"); import("system.result"); if(vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param")) - result.string(vars.get("$param.ObjectRowId_param")); \ No newline at end of file + result.string(vars.get("$param.ObjectRowId_param")); diff --git a/entity/Offer_entity/entityfields/object_type/mandatoryProcess.js b/entity/Offer_entity/entityfields/object_type/mandatoryProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4736fe4bfc8bfa641c18710e9b5a5303e967b9a6 --- /dev/null +++ b/entity/Offer_entity/entityfields/object_type/mandatoryProcess.js @@ -0,0 +1,7 @@ +import("system.vars"); +import("system.result"); +import("Contact_lib"); + +var type = ContactUtils.getContactType(vars.get("$field.CONTACT_ID"), vars.get("$field.CONTACT_PERSON_ID"), vars.get("$field.CONTACT_ORG_ID")); + +result.string(type != 2); diff --git a/entity/Offer_entity/entityfields/object_type/valueProcess.js b/entity/Offer_entity/entityfields/object_type/valueProcess.js index 18543dfe49df8c16f06d8dacbb0a1e34d97dfb42..93f98305df0261d0421a5e19c4f7d0f03e6c9fce 100644 --- a/entity/Offer_entity/entityfields/object_type/valueProcess.js +++ b/entity/Offer_entity/entityfields/object_type/valueProcess.js @@ -1,7 +1,20 @@ +import("system.logging"); +import("system.neon"); import("system.vars"); import("system.result"); import("Context_lib") -if(vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param")) - result.string(vars.get("$param.ObjectType_param")); -else result.string(ContextUtils.getCurrentContextId()) \ No newline at end of file +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) +{ + if (vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param")) + { + result.string(vars.get("$param.ObjectType_param")); + } + else if (vars.exists("$param.PossibleConnectionTypes") && vars.get("$param.PossibleConnectionTypes")) + { + var possible = JSON.parse(vars.getString("$param.PossibleConnectionTypes")); + if (possible.length > 0) + result.string(possible[0]); + } +} + \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/objects/children/contactid_param/valueProcess.js b/entity/Offer_entity/entityfields/objects/children/contactid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..22a6e045a3a3c037f3081a29d3d34810375564f9 --- /dev/null +++ b/entity/Offer_entity/entityfields/objects/children/contactid_param/valueProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("system.vars"); +import("Contact_lib"); + +if (vars.get("$field.CONTACT_ID")) +{ + var ids = ContactUtils.getPersOrgIds(vars.getString("$field.CONTACT_ID")); + if (ids.length >= 3 && ids[2]) + result.string(ContactUtils.getPersOrgIds(vars.getString("$field.CONTACT_ID"))[2]); +} \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/objects/children/objecttype_param/valueProcess.js b/entity/Offer_entity/entityfields/objects/children/objecttype_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4238ef7d3313d43079cfa870caa675f766839cf6 --- /dev/null +++ b/entity/Offer_entity/entityfields/objects/children/objecttype_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.result"); +import("system.vars"); + +result.string(vars.get("$field.OBJECT_TYPE")); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/possibleconnectiontypes/valueProcess.js b/entity/Offer_entity/entityfields/possibleconnectiontypes/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e4878ba3eaca6d7a3944c9e2b9e100142f47c298 --- /dev/null +++ b/entity/Offer_entity/entityfields/possibleconnectiontypes/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.object(["Salesproject"]); \ No newline at end of file diff --git a/entity/Offer_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js b/entity/Offer_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..9232f51b2e090002d80c469239ab003444411400 --- /dev/null +++ b/entity/Offer_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Entity_lib"); + +result.string(ProcessHandlingUtils.getOnValidationValue(vars.get("$field.CONTACT_ORG_ID"))); diff --git a/entity/Offer_entity/recordcontainers/db/conditionProcess.js b/entity/Offer_entity/recordcontainers/db/conditionProcess.js index 4538e37b37538159dabb6e7c037e5ba15e88fef3..25a5d52c1d4d1808cee87b68e601d8f6bf2a346f 100644 --- a/entity/Offer_entity/recordcontainers/db/conditionProcess.js +++ b/entity/Offer_entity/recordcontainers/db/conditionProcess.js @@ -1,11 +1,15 @@ +import("system.vars"); import("system.db"); import("system.result"); import("Sql_lib"); var cond = new SqlCondition(); -cond.andPrepareVars("OFFER.OBJECT_ROWID", "$param.ObjectRowId_param"); -cond.andPrepareVars("OFFER.OBJECT_TYPE", "$param.ObjectType_param"); -cond.andPrepareVars("OFFER.CONTACT_ID", "$param.ContactId_param"); +if(vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param")) + cond.andPrepareVars("OFFER.CONTACT_ID", "$param.ContactId_param"); +else { + cond.andPrepareVars("OFFER.OBJECT_ROWID", "$param.ObjectRowId_param"); + cond.andPrepareVars("OFFER.OBJECT_TYPE", "$param.ObjectType_param"); +} //TODO: use a preparedCondition when available #1030812 #1034026 result.string(db.translateCondition(cond.build("1 = 1"))); \ No newline at end of file diff --git a/entity/Organisation_entity/entityfields/newoffer/onActionProcess.js b/entity/Organisation_entity/entityfields/newoffer/onActionProcess.js index a7172e4cec347fa3e63060898a4d88f438dcc53d..e9a139362426db55f1f53c2df01304a9ded97941 100644 --- a/entity/Organisation_entity/entityfields/newoffer/onActionProcess.js +++ b/entity/Organisation_entity/entityfields/newoffer/onActionProcess.js @@ -1,4 +1,4 @@ import("system.vars"); import("Offer_lib"); -OfferUtils.createNewOffer(null, vars.getString("$field.CONTACTID")); \ No newline at end of file +OfferUtils.createNewOffer(null, null, vars.getString("$field.CONTACTID")); \ No newline at end of file diff --git a/entity/PermissionDetail_entity/entityfields/condition/stateProcess.js b/entity/PermissionDetail_entity/entityfields/condition/stateProcess.js index f6b4510443313add8e02e610d18165a834e48bd1..ad116179661d269a520ee40204edef68ddb22c6c 100644 --- a/entity/PermissionDetail_entity/entityfields/condition/stateProcess.js +++ b/entity/PermissionDetail_entity/entityfields/condition/stateProcess.js @@ -5,5 +5,5 @@ import("system.neon"); if(vars.get("$field.ACCESSTYPE") == "E") { result.string(neon.COMPONENTSTATE_DISABLED); } else { - result.string(neon.COMPONENTSTATE_AUTO); + result.string(neon.COMPONENTSTATE_EDITABLE); } \ No newline at end of file diff --git a/entity/PermissionDetail_entity/entityfields/field/dropDownProcess.js b/entity/PermissionDetail_entity/entityfields/field/dropDownProcess.js index 123b0887b475ce6f8f0395511b849638dfd658cf..531be41df5558d08f05b6f5ff71d5966d69ac31e 100644 --- a/entity/PermissionDetail_entity/entityfields/field/dropDownProcess.js +++ b/entity/PermissionDetail_entity/entityfields/field/dropDownProcess.js @@ -3,9 +3,9 @@ import("system.vars"); import("system.project"); var entityTitle = vars.get("$field.ENTITY"); +var res = []; if (entityTitle != undefined && entityTitle != null && entityTitle != "") { var entityStructure = project.getEntityStructure(entityTitle); - var res = []; for (var field in entityStructure.fields) { field = entityStructure.fields[field]; @@ -13,11 +13,11 @@ if (entityTitle != undefined && entityTitle != null && entityTitle != "") { var name = field.name; var title = field.title; if (title != undefined && title != null && title != "") { - res.push([title, title]); + res.push([name, title]); } else { res.push([name, name]); } } } - result.object(res); -} \ No newline at end of file +} +result.object(res); \ No newline at end of file diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js index a8b90871694702f7e892d3b6f96a05ceecb102eb..055d366a91c0bfede177ae7d76c2840318023c9e 100644 --- a/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js @@ -1,3 +1,4 @@ +import("system.logging"); import("system.util"); import("system.vars"); import("system.db"); @@ -10,16 +11,27 @@ var sqlStr; var whereCond = " where"; var alias = "_____SYSTEMALIAS"; var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY); +var entityStructure; var entitiesUsePermFlagSet = []; +var fieldsUsePermFlagSet = []; // gets all names of the entites which have the 'usePermission'-flag set (positive list) +// gets all names of the fields which have the 'usePermission'-flag set (positive list) for each (let entityMetaData in entitiesMetaData) { if (entityMetaData[6] == "true") { entitiesUsePermFlagSet.push(entityMetaData[0]) - } + entityStructure = project.getEntityStructure(entityMetaData[0]); + for (fieldname in entityStructure.fields) { + field = entityStructure.fields[fieldname]; + if (field.usePermissions == true) { + fieldsUsePermFlagSet.push(field.name); + } + } + } } whereCond += " ENTITY_ID in ('" + entitiesUsePermFlagSet.join("','") + "')"; +whereCond += " and (FIELD_ID in ('" + fieldsUsePermFlagSet.join("','") + "') or FIELD_ID is NULL)"; if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) { whereCond += " and ASYS_PERMISSIONSET.ROLE_ID = '" + vars.getString("$param.RoleTitle_param") + "'"; diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod index 9e4e5dea7acccd0c6d1649a504f13c63eea3a126..69cdcfe7e4382bd72aaed8ca1107ab42d3e8b80c 100644 --- a/entity/Person_entity/Person_entity.aod +++ b/entity/Person_entity/Person_entity.aod @@ -1,1043 +1,1066 @@ -<?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> - <name>Person_entity</name> - <description>former Pers</description> - <majorModelMode>DISTRIBUTED</majorModelMode> - <documentation>%aditoprj%/entity/Person_entity/documentation.adoc</documentation> - <title>Contact</title> - <contentTitleProcess>%aditoprj%/entity/Person_entity/contentTitleProcess.js</contentTitleProcess> - <afterUiInit>%aditoprj%/entity/Person_entity/afterUiInit.js</afterUiInit> - <onValidation>%aditoprj%/entity/Person_entity/onValidation.js</onValidation> - <iconId>VAADIN:USERS</iconId> - <imageProcess>%aditoprj%/entity/Person_entity/imageProcess.js</imageProcess> - <titlePlural>Contacts</titlePlural> - <recordContainer>db</recordContainer> - <entityFields> - <entityField> - <name>DATEOFBIRTH</name> - <title>Date of birth</title> - <contentType>DATE</contentType> - <resolution>DAY</resolution> - <outputFormat>dd.MM.yyyy</outputFormat> - <inputFormat>dd.MM.yyyy</inputFormat> - <onValidation>%aditoprj%/entity/Person_entity/entityfields/dateofbirth/onValidation.js</onValidation> - </entityField> - <entityField> - <name>FIRSTNAME</name> - <title>Firstname</title> - </entityField> - <entityField> - <name>GENDER</name> - <title>Gender</title> - <consumer>KeywordGenders</consumer> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/gender/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/gender/displayValueProcess.js</displayValueProcess> - <onValueChange>%aditoprj%/entity/Person_entity/entityfields/gender/onValueChange.js</onValueChange> - <onValueChangeTypes> - <element>MASK</element> - </onValueChangeTypes> - </entityField> - <entityField> - <name>LASTNAME</name> - <title>Lastname</title> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/lastname/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>MIDDLENAME</name> - <title>Middlename</title> - </entityField> - <entityField> - <name>PERSONID</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/personid/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>SALUTATION</name> - <title>Salutation</title> - <consumer>Salutations</consumer> - <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/salutation/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>TITLE</name> - <title>Title</title> - <consumer>SalutationTitles</consumer> - <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/title/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>TITLESUFFIX</name> - <searchable v="false" /> - </entityField> - <entityParameter> - <name>OrgId_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityFieldGroup> - <name>NAME_fieldGroup</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/name_fieldgroup/valueProcess.js</valueProcess> - <description>FIELDGROUP</description> - <fields> - <element>FIRSTNAME</element> - <element>LASTNAME</element> - </fields> - </entityFieldGroup> - <entityConsumer> - <name>Activities</name> - <dependency> - <name>dependency</name> - <entityName>Activity_entity</entityName> - <fieldName>LinkedObjects</fieldName> - </dependency> - <children> - <entityParameter> - <name>RowId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>PresetLinks_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>CONTACTID</name> - <searchable v="false" /> - </entityField> - <entityProvider> - <name>OrganisationRelated</name> - <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>41952879-c2f0-411f-8ca1-36c38914a629</name> - <entityName>Organisation_entity</entityName> - <fieldName>Contact</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>ContactId_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>OrgId_param</name> - <expose v="true" /> - </entityParameter> - </children> - </entityProvider> - <entityField> - <name>PERSON_ID</name> - <documentation>%aditoprj%/entity/Person_entity/entityfields/person_id/documentation.adoc</documentation> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/person_id/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>ORGANISATION_ID</name> - <title>Company</title> - <consumer>Organisations</consumer> - <linkedContextProcess>%aditoprj%/entity/Person_entity/entityfields/organisation_id/linkedContextProcess.js</linkedContextProcess> - <mandatory v="false" /> - <searchable v="true" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/organisation_id/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/organisation_id/displayValueProcess.js</displayValueProcess> - <onValueChange>%aditoprj%/entity/Person_entity/entityfields/organisation_id/onValueChange.js</onValueChange> - <onValidation>%aditoprj%/entity/Person_entity/entityfields/organisation_id/onValidation.js</onValidation> - </entityField> - <entityConsumer> - <name>PersAddresses</name> - <dependency> - <name>dependency</name> - <entityName>Address_entity</entityName> - <fieldName>ContactAddresses</fieldName> - </dependency> - <children> - <entityParameter> - <name>DefaultAddressId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/persaddresses/children/defaultaddressid_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/persaddresses/children/contactid_param/valueProcess.js</valueProcess> - <expose v="false" /> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Communications</name> - <dependency> - <name>dependency</name> - <entityName>Communication_entity</entityName> - <fieldName>AllCommunications</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/communications/children/contactid_param/valueProcess.js</valueProcess> - <expose v="false" /> - <triggerRecalculation v="true" /> - <description>This parameter is used for specifing a related &quot;CONTACTID&quot; to a COMMUNICATION-entry. -Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Organisations</name> - <selectionMode>SINGLE</selectionMode> - <dependency> - <name>dependency</name> - <entityName>Organisation_entity</entityName> - <fieldName>WithPersonIdFilter</fieldName> - </dependency> - <children> - <entityParameter> - <name>ExcludeOrganisationsByPersonId</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/organisations/children/excludeorganisationsbypersonid/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Contracts</name> - <dependency> - <name>dependency</name> - <entityName>Contract_entity</entityName> - <fieldName>Contracts</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contracts/children/contactid_param/valueProcess.js</valueProcess> - <expose v="false" /> - <triggerRecalculation v="true" /> - <mandatory v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Pricelists</name> - <state>AUTO</state> - <stateProcess>%aditoprj%/entity/Person_entity/entityfields/pricelists/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>Productprice_entity</entityName> - <fieldName>Productprices</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/pricelists/children/contactid_param/valueProcess.js</valueProcess> - <expose v="false" /> - <triggerRecalculation v="false" /> - <mandatory v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Genders</name> - <dependency> - <name>dependency</name> - <entityName>Gender_keyword</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - </entityConsumer> - <entityProvider> - <name>#PROVIDER</name> - <dependencies> - <entityDependency> - <name>ec66d6b0-a1fa-40a1-9612-34775d3e89a9</name> - <entityName>Object_entity</entityName> - <fieldName>Persons</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - </entityProvider> - <entityField> - <name>LANGUAGE</name> - <title>Language</title> - <consumer>Languages</consumer> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/language/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/language/displayValueProcess.js</displayValueProcess> - <onValueChange>%aditoprj%/entity/Person_entity/entityfields/language/onValueChange.js</onValueChange> - <onValueChangeTypes> - <element>MASK</element> - </onValueChangeTypes> - </entityField> - <entityConsumer> - <name>Documents</name> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>Documents</fieldName> - </dependency> - <children> - <entityParameter> - <name>AssignmentRowId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentTable_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityParameter> - <name>ContactId_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityFieldGroup> - <name>FULL_NAME_fieldGroup</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/full_name_fieldgroup/valueProcess.js</valueProcess> - <title>Name</title> - <description>FIELDGROUP</description> - <fields> - <element>SALUTATION</element> - <element>TITLE</element> - <element>FIRSTNAME</element> - <element>MIDDLENAME</element> - <element>LASTNAME</element> - </fields> - </entityFieldGroup> - <entityProvider> - <name>Contact</name> - <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>12c5350a-3159-449b-a94e-d57658b4c124</name> - <entityName>Member_entity</entityName> - <fieldName>CurrentContact</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>OrgId_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>ContactId_param</name> - <expose v="true" /> - <mandatory v="true" /> - </entityParameter> - <entityParameter> - <name>ExcludedContactIds_param</name> - <expose v="false" /> - </entityParameter> - </children> - </entityProvider> - <entityConsumer> - <name>OrgAddresses</name> - <state>READONLY</state> - <stateProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>Address_entity</entityName> - <fieldName>OrganisationAddressesByContact</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/children/contactid_param/valueProcess.js</valueProcess> - <expose v="false" /> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>DefaultAddressId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/children/defaultaddressid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>REL_RELATIONSHIP</name> - <title>Relationship</title> - <description>TODO: Beziehung zu der Relation 1024846 (z.B. per Ampelsystem)</description> - <contentType>NUMBER</contentType> - <mandatory v="false" /> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/rel_relationship/valueProcess.js</valueProcess> - </entityField> - <entityActionField> - <name>openEditDefaultsView</name> - <title>Edit defaults</title> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/openeditdefaultsview/onActionProcess.js</onActionProcess> - <iconId>VAADIN:WRENCH</iconId> - </entityActionField> - <entityActionField> - <name>newOffer</name> - <title>New offer</title> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newoffer/onActionProcess.js</onActionProcess> - <iconId>VAADIN:CART</iconId> - </entityActionField> - <entityField> - <name>STANDARD_EMAIL_COMMUNICATION</name> - <title>E-Mail</title> - <consumer>EmailCommunications</consumer> - <searchable v="false" /> - <onValueChange>%aditoprj%/entity/Person_entity/entityfields/standard_email_communication/onValueChange.js</onValueChange> - <onValueChangeTypes> - <element>MASK</element> - <element>PROCESS</element> - <element>PROCESS_SETVALUE</element> - </onValueChangeTypes> - </entityField> - <entityField> - <name>STANDARD_PHONE_COMMUNICATION</name> - <title>Phone</title> - <consumer>PhoneCommunications</consumer> - <searchable v="false" /> - <onValueChange>%aditoprj%/entity/Person_entity/entityfields/standard_phone_communication/onValueChange.js</onValueChange> - </entityField> - <entityConsumer> - <name>PhoneCommunications</name> - <description>Used for standard communication</description> - <dependency> - <name>dependency</name> - <entityName>Communication_entity</entityName> - <fieldName>PhoneCommunications</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/phonecommunications/children/contactid_param/valueProcess.js</valueProcess> - <expose v="false" /> - <description>This parameter is used for specifing a related &quot;CONTACTID&quot; to a COMMUNICATION-entry. -Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>EmailCommunications</name> - <description>Used for standard communication</description> - <dependency> - <name>dependency</name> - <entityName>Communication_entity</entityName> - <fieldName>EmailCommunications</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/emailcommunications/children/contactid_param/valueProcess.js</valueProcess> - <expose v="false" /> - <description>This parameter is used for specifing a related &quot;CONTACTID&quot; to a COMMUNICATION-entry. -Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>ADDRESS_ID</name> - <title>Address</title> - <consumer>ContactAndOrganisationAddresses</consumer> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/address_id/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/address_id/displayValueProcess.js</displayValueProcess> - </entityField> - <entityActionField> - <name>newActivity</name> - <title>New activity</title> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> - <iconId>VAADIN:HOURGLASS_END</iconId> - <tooltip>New activity</tooltip> - <tooltipProcess>%aditoprj%/entity/Person_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> - </entityActionField> - <entityConsumer> - <name>ObjectRelations</name> - <dependency> - <name>dependency</name> - </dependency> - <children> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objectrelations/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectRowid_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objectrelations/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>KeywordGenders</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/keywordgenders/children/containername_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Languages</name> - <dependency> - <name>dependency</name> - <entityName>Language_entity</entityName> - <fieldName>ISO3Name</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>Offers</name> - <dependency> - <name>dependency</name> - <entityName>Offer_entity</entityName> - <fieldName>ContactOffers</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/offers/children/contactid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Salutations</name> - <dependency> - <name>dependency</name> - <entityName>SalutationDistinct_entity</entityName> - <fieldName>Salutations</fieldName> - </dependency> - <children> - <entityParameter> - <name>Language_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutations/children/language_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Attributes</name> - <onValidation>%aditoprj%/entity/Person_entity/entityfields/attributes/onValidation.js</onValidation> - <dependency> - <name>dependency</name> - <entityName>AttributeRelation_entity</entityName> - <fieldName>AttributeRelations</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>SalutationTitles</name> - <dependency> - <name>dependency</name> - <entityName>SalutationTitleDistinct_entity</entityName> - <fieldName>SalutationTitles</fieldName> - </dependency> - <children> - <entityParameter> - <name>Salutation_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutationtitles/children/salutation_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>Language_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutationtitles/children/language_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>newTask</name> - <title>New task</title> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newtask/onActionProcess.js</onActionProcess> - <iconId>VAADIN:TASKS</iconId> - </entityActionField> - <entityConsumer> - <name>Tasks</name> - <stateProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>Task_entity</entityName> - <fieldName>Tasks</fieldName> - </dependency> - <children> - <entityParameter> - <name>RowId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>PresetLinks_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>ObjectTrees</name> - <dependency> - <name>dependency</name> - <entityName>ObjectTree_entity</entityName> - <fieldName>TreeProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objecttrees/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>STATUS</name> - <title>Status</title> - <consumer>KeywordContactStates</consumer> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/status/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/status/displayValueProcess.js</displayValueProcess> - </entityField> - <entityConsumer> - <name>KeywordContactStates</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/keywordcontactstates/children/containername_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>ContactAndOrganisationAddresses</name> - <dependency> - <name>dependency</name> - <entityName>Address_entity</entityName> - <fieldName>OrganisationAndContactAddresses</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contactandorganisationaddresses/children/contactid_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>OrganisationId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contactandorganisationaddresses/children/organisationid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>DEPARTMENT</name> - <title>Department</title> - <dropDownProcess>%aditoprj%/entity/Person_entity/entityfields/department/dropDownProcess.js</dropDownProcess> - <textInputAllowed v="true" /> - </entityField> - <entityField> - <name>POSITION</name> - <title>Position</title> - <dropDownProcess>%aditoprj%/entity/Person_entity/entityfields/position/dropDownProcess.js</dropDownProcess> - <textInputAllowed v="true" /> - </entityField> - <entityField> - <name>CONTACTROLE</name> - <title>Contactrole</title> - <dropDownProcess>%aditoprj%/entity/Person_entity/entityfields/contactrole/dropDownProcess.js</dropDownProcess> - <textInputAllowed v="true" /> - </entityField> - <entityConsumer> - <name>LogHistoryConsumer</name> - <dependency> - <name>dependency</name> - <entityName>LogHistory_entity</entityName> - <fieldName>LogHistoryProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>tablenames_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>OtherContacts</name> - <dependency> - <name>dependency</name> - <entityName>Contact_entity</entityName> - <fieldName>PersonsContactsExceptOwn</fieldName> - </dependency> - <children> - <entityParameter> - <name>OwnContactId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/othercontacts/children/owncontactid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>LanguageKey_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/othercontacts/children/languagekey_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>ORGANISATION_NAME</name> - <searchable v="false" /> - </entityField> - <entityParameter> - <name>ExcludedContactIds_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityProvider> - <name>Contacts</name> - <dependencies> - <entityDependency> - <name>e46dcd73-64a8-4b3e-b976-1b4643c54ebb</name> - <entityName>CampaignStep_entity</entityName> - <fieldName>ContactsConsumer</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>4d317eb3-6a4e-40c6-946e-d54289dcd99b</name> - <entityName>Member_entity</entityName> - <fieldName>Contacts</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>ContactId_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>ExcludedContactIds_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>OrgId_param</name> - <expose v="false" /> - </entityParameter> - </children> - </entityProvider> - <entityConsumer> - <name>360DegreeObjects</name> - <dependency> - <name>dependency</name> - <entityName>360Degree_entity</entityName> - <fieldName>PersonObjects</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/360degreeobjects/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>addToCampaign</name> - <title>Add to Campaign</title> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/addtocampaign/onActionProcess.js</onActionProcess> - <actionOrder v="1" /> - <iconId>NEON:GROUP_APPOINTMENT</iconId> - <tooltip>Choose a campaign and a step to add the contact to a campaign</tooltip> - </entityActionField> - <entityConsumer> - <name>AttributeTree</name> - <dependency> - <name>dependency</name> - <entityName>AttributeRelation_entity</entityName> - <fieldName>TreeProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>DATE_NEW</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/date_new/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>USER_NEW</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/user_new/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>USER_EDIT</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/user_edit/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>DATE_EDIT</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/date_edit/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>DATE_NEW_CONTACT</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/date_new_contact/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>USER_NEW_CONTACT</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/user_new_contact/valueProcess.js</valueProcess> - </entityField> - <entityParameter> - <name>AdditionalActivityTaskLinks_param</name> - <title></title> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/additionalactivitytasklinks_param/valueProcess.js</valueProcess> - <description>PARAMETER</description> - </entityParameter> - <entityField> - <name>PICTURE</name> - <title>Picture</title> - <contentType>IMAGE</contentType> - <searchable v="false" /> - <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/picture/displayValueProcess.js</displayValueProcess> - </entityField> - <entityParameter> - <name>AvatarText_param</name> - <valueProcess>%aditoprj%/entity/Person_entity/entityfields/avatartext_param/valueProcess.js</valueProcess> - <description>PARAMETER</description> - </entityParameter> - <entityActionGroup> - <name>campaignActionGroup</name> - <title>Campaign</title> - <children> - <entityActionField> - <name>addToCampaignFromTable</name> - <title>Add to Campaign</title> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/onActionProcess.js</onActionProcess> - <isMenuAction v="true" /> - <isObjectAction v="false" /> - <isSelectionAction v="true" /> - <iconId>NEON:GROUP_APPOINTMENT</iconId> - <tooltip>Add the selection to a campaign</tooltip> - <tooltipProcess>%aditoprj%/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/tooltipProcess.js</tooltipProcess> - </entityActionField> - </children> - </entityActionGroup> - <entityActionField> - <name>newEmail</name> - <title>Write email</title> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newemail/onActionProcess.js</onActionProcess> - <iconId>VAADIN:AT</iconId> - </entityActionField> - <entityActionField> - <name>newAppointment</name> - <title>New appointment</title> - <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newappointment/onActionProcess.js</onActionProcess> - <iconId>VAADIN:CALENDAR</iconId> - <tooltip>New Appointment</tooltip> - </entityActionField> - </entityFields> - <recordContainers> - <dbRecordContainer> - <name>db</name> - <alias>Data_alias</alias> - <fromClauseProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> - <conditionProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/conditionProcess.js</conditionProcess> - <orderClauseProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> - <onDBUpdate>%aditoprj%/entity/Person_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate> - <linkInformation> - <linkInformation> - <name>3afdecb0-515e-43d2-872f-04c82ecca9ae</name> - <tableName>PERSON</tableName> - <primaryKey>PERSONID</primaryKey> - <isUIDTable v="false" /> - <readonly v="false" /> - </linkInformation> - <linkInformation> - <name>217d431f-018c-4573-b786-d1b6b88f4b64</name> - <tableName>CONTACT</tableName> - <primaryKey>CONTACTID</primaryKey> - <isUIDTable v="true" /> - <readonly v="false" /> - </linkInformation> - <linkInformation> - <name>19877118-eb80-4672-bd73-cf10dbbb052a</name> - <tableName>ORGANISATION</tableName> - <primaryKey>ORGANISATIONID</primaryKey> - <isUIDTable v="false" /> - <readonly v="true" /> - </linkInformation> - <linkInformation> - <name>64f188c2-e53d-44b5-9980-c867282eff7e</name> - <tableName>ADDRESS</tableName> - <primaryKey>ADDRESSID</primaryKey> - <isUIDTable v="false" /> - <readonly v="true" /> - </linkInformation> - </linkInformation> - <recordFieldMappings> - <dbRecordFieldMapping> - <name>PERSONID.value</name> - <recordfield>PERSON.PERSONID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DATEOFBIRTH.value</name> - <recordfield>PERSON.DATEOFBIRTH</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>FIRSTNAME.value</name> - <recordfield>PERSON.FIRSTNAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>GENDER.value</name> - <recordfield>PERSON.GENDER</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>LANGUAGE.value</name> - <recordfield>CONTACT.LANGUAGE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PERSON_ID.value</name> - <recordfield>CONTACT.PERSON_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>LASTNAME.value</name> - <recordfield>PERSON.LASTNAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>MIDDLENAME.value</name> - <recordfield>PERSON.MIDDLENAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CONTACTID.value</name> - <recordfield>CONTACT.CONTACTID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>SALUTATION.value</name> - <recordfield>PERSON.SALUTATION</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>TITLE.value</name> - <recordfield>PERSON.TITLE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>TITLESUFFIX.value</name> - <recordfield>PERSON.TITLESUFFIX</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORGANISATION_ID.value</name> - <recordfield>CONTACT.ORGANISATION_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>REL_RELATIONSHIP.value</name> - <recordfield>CONTACT.RELATIONSHIP</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STANDARD_EMAIL_COMMUNICATION.displayValue</name> - <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/standard_email_communication.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STANDARD_PHONE_COMMUNICATION.displayValue</name> - <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/standard_phone_communication.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ADDRESS_ID.value</name> - <recordfield>CONTACT.ADDRESS_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORGANISATION_ID.displayValue</name> - <recordfield>ORGANISATION.NAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>GENDER.displayValue</name> - <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/gender.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>LANGUAGE.displayValue</name> - <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>SALUTATION.displayValue</name> - <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/salutation.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>TITLE.displayValue</name> - <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/title.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STATUS.value</name> - <recordfield>CONTACT.STATUS</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>POSITION.value</name> - <recordfield>CONTACT.POSITION</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DEPARTMENT.value</name> - <recordfield>CONTACT.DEPARTMENT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CONTACTROLE.value</name> - <recordfield>CONTACT.CONTACTROLE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ORGANISATION_NAME.value</name> - <recordfield>ORGANISATION.NAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>USER_NEW.value</name> - <recordfield>PERSON.USER_NEW</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>USER_EDIT.value</name> - <recordfield>PERSON.USER_EDIT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DATE_NEW.value</name> - <recordfield>PERSON.DATE_NEW</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DATE_EDIT.value</name> - <recordfield>PERSON.DATE_EDIT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DATE_NEW_CONTACT.value</name> - <recordfield>CONTACT.DATE_NEW</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>USER_NEW_CONTACT.value</name> - <recordfield>CONTACT.USER_NEW</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>ADDRESS_ID.displayValue</name> - <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/address_id.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PICTURE.value</name> - <recordfield>PERSON.PICTURE</recordfield> - </dbRecordFieldMapping> - </recordFieldMappings> - </dbRecordContainer> - </recordContainers> -</entity> +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> + <name>Person_entity</name> + <description>former Pers</description> + <majorModelMode>DISTRIBUTED</majorModelMode> + <documentation>%aditoprj%/entity/Person_entity/documentation.adoc</documentation> + <title>Contact</title> + <contentTitleProcess>%aditoprj%/entity/Person_entity/contentTitleProcess.js</contentTitleProcess> + <afterUiInit>%aditoprj%/entity/Person_entity/afterUiInit.js</afterUiInit> + <onValidation>%aditoprj%/entity/Person_entity/onValidation.js</onValidation> + <iconId>VAADIN:USERS</iconId> + <imageProcess>%aditoprj%/entity/Person_entity/imageProcess.js</imageProcess> + <titlePlural>Contacts</titlePlural> + <recordContainer>db</recordContainer> + <entityFields> + <entityField> + <name>DATEOFBIRTH</name> + <title>Date of birth</title> + <contentType>DATE</contentType> + <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> + <inputFormat>dd.MM.yyyy</inputFormat> + <onValidation>%aditoprj%/entity/Person_entity/entityfields/dateofbirth/onValidation.js</onValidation> + </entityField> + <entityField> + <name>FIRSTNAME</name> + <title>Firstname</title> + </entityField> + <entityField> + <name>GENDER</name> + <title>Gender</title> + <consumer>KeywordGenders</consumer> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/gender/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/gender/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/Person_entity/entityfields/gender/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + </onValueChangeTypes> + </entityField> + <entityField> + <name>LASTNAME</name> + <title>Lastname</title> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/lastname/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>MIDDLENAME</name> + <title>Middlename</title> + </entityField> + <entityField> + <name>PERSONID</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/personid/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>SALUTATION</name> + <title>Salutation</title> + <consumer>Salutations</consumer> + <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/salutation/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>TITLE</name> + <title>Title</title> + <consumer>SalutationTitles</consumer> + <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/title/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>TITLESUFFIX</name> + <searchable v="false" /> + </entityField> + <entityParameter> + <name>OrgId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityFieldGroup> + <name>NAME_fieldGroup</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/name_fieldgroup/valueProcess.js</valueProcess> + <description>FIELDGROUP</description> + <fields> + <element>FIRSTNAME</element> + <element>LASTNAME</element> + </fields> + </entityFieldGroup> + <entityConsumer> + <name>Activities</name> + <dependency> + <name>dependency</name> + <entityName>Activity_entity</entityName> + <fieldName>LinkedObjects</fieldName> + </dependency> + <children> + <entityParameter> + <name>RowId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>PresetLinks_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>CONTACTID</name> + <searchable v="false" /> + </entityField> + <entityProvider> + <name>OrganisationRelated</name> + <recordContainer>db</recordContainer> + <dependencies> + <entityDependency> + <name>41952879-c2f0-411f-8ca1-36c38914a629</name> + <entityName>Organisation_entity</entityName> + <fieldName>Contact</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>OrgId_param</name> + <expose v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityField> + <name>PERSON_ID</name> + <documentation>%aditoprj%/entity/Person_entity/entityfields/person_id/documentation.adoc</documentation> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/person_id/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>ORGANISATION_ID</name> + <title>Company</title> + <consumer>Organisations</consumer> + <linkedContextProcess>%aditoprj%/entity/Person_entity/entityfields/organisation_id/linkedContextProcess.js</linkedContextProcess> + <mandatory v="false" /> + <searchable v="true" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/organisation_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/organisation_id/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/Person_entity/entityfields/organisation_id/onValueChange.js</onValueChange> + <onValidation>%aditoprj%/entity/Person_entity/entityfields/organisation_id/onValidation.js</onValidation> + </entityField> + <entityConsumer> + <name>PersAddresses</name> + <dependency> + <name>dependency</name> + <entityName>Address_entity</entityName> + <fieldName>ContactAddresses</fieldName> + </dependency> + <children> + <entityParameter> + <name>DefaultAddressId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/persaddresses/children/defaultaddressid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/persaddresses/children/contactid_param/valueProcess.js</valueProcess> + <expose v="false" /> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Communications</name> + <dependency> + <name>dependency</name> + <entityName>Communication_entity</entityName> + <fieldName>AllCommunications</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/communications/children/contactid_param/valueProcess.js</valueProcess> + <expose v="false" /> + <triggerRecalculation v="true" /> + <description>This parameter is used for specifing a related &quot;CONTACTID&quot; to a COMMUNICATION-entry. +Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Organisations</name> + <selectionMode>SINGLE</selectionMode> + <dependency> + <name>dependency</name> + <entityName>Organisation_entity</entityName> + <fieldName>WithPersonIdFilter</fieldName> + </dependency> + <children> + <entityParameter> + <name>ExcludeOrganisationsByPersonId</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/organisations/children/excludeorganisationsbypersonid/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Contracts</name> + <dependency> + <name>dependency</name> + <entityName>Contract_entity</entityName> + <fieldName>Contracts</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contracts/children/contactid_param/valueProcess.js</valueProcess> + <expose v="false" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Pricelists</name> + <state>AUTO</state> + <stateProcess>%aditoprj%/entity/Person_entity/entityfields/pricelists/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>Productprice_entity</entityName> + <fieldName>Productprices</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/pricelists/children/contactid_param/valueProcess.js</valueProcess> + <expose v="false" /> + <triggerRecalculation v="false" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Genders</name> + <dependency> + <name>dependency</name> + <entityName>Gender_keyword</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + </entityConsumer> + <entityProvider> + <name>#PROVIDER</name> + <dependencies> + <entityDependency> + <name>ec66d6b0-a1fa-40a1-9612-34775d3e89a9</name> + <entityName>Object_entity</entityName> + <fieldName>Persons</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + </entityProvider> + <entityField> + <name>LANGUAGE</name> + <title>Language</title> + <consumer>Languages</consumer> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/language/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/language/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/Person_entity/entityfields/language/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + </onValueChangeTypes> + </entityField> + <entityConsumer> + <name>Documents</name> + <dependency> + <name>dependency</name> + <entityName>Document_entity</entityName> + <fieldName>Documents</fieldName> + </dependency> + <children> + <entityParameter> + <name>AssignmentRowId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentTable_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <description>PARAMETER</description> + </entityParameter> + <entityFieldGroup> + <name>FULL_NAME_fieldGroup</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/full_name_fieldgroup/valueProcess.js</valueProcess> + <title>Name</title> + <description>FIELDGROUP</description> + <fields> + <element>SALUTATION</element> + <element>TITLE</element> + <element>FIRSTNAME</element> + <element>MIDDLENAME</element> + <element>LASTNAME</element> + </fields> + </entityFieldGroup> + <entityProvider> + <name>Contact</name> + <recordContainer>db</recordContainer> + <dependencies> + <entityDependency> + <name>12c5350a-3159-449b-a94e-d57658b4c124</name> + <entityName>Member_entity</entityName> + <fieldName>CurrentContact</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>OrgId_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + <entityParameter> + <name>ExcludedContactIds_param</name> + <expose v="false" /> + </entityParameter> + </children> + </entityProvider> + <entityConsumer> + <name>OrgAddresses</name> + <state>READONLY</state> + <stateProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>Address_entity</entityName> + <fieldName>OrganisationAddressesByContact</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/children/contactid_param/valueProcess.js</valueProcess> + <expose v="false" /> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>DefaultAddressId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/children/defaultaddressid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>REL_RELATIONSHIP</name> + <title>Relationship</title> + <description>TODO: Beziehung zu der Relation 1024846 (z.B. per Ampelsystem)</description> + <contentType>NUMBER</contentType> + <mandatory v="false" /> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/rel_relationship/valueProcess.js</valueProcess> + </entityField> + <entityActionField> + <name>openEditDefaultsView</name> + <title>Edit defaults</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/openeditdefaultsview/onActionProcess.js</onActionProcess> + <iconId>VAADIN:WRENCH</iconId> + </entityActionField> + <entityActionField> + <name>newOffer</name> + <title>New offer</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newoffer/onActionProcess.js</onActionProcess> + <iconId>VAADIN:CART</iconId> + </entityActionField> + <entityField> + <name>STANDARD_EMAIL_COMMUNICATION</name> + <title>E-Mail</title> + <consumer>EmailCommunications</consumer> + <searchable v="false" /> + <onValueChange>%aditoprj%/entity/Person_entity/entityfields/standard_email_communication/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> + </entityField> + <entityField> + <name>STANDARD_PHONE_COMMUNICATION</name> + <title>Phone</title> + <consumer>PhoneCommunications</consumer> + <searchable v="false" /> + <onValueChange>%aditoprj%/entity/Person_entity/entityfields/standard_phone_communication/onValueChange.js</onValueChange> + </entityField> + <entityConsumer> + <name>PhoneCommunications</name> + <description>Used for standard communication</description> + <dependency> + <name>dependency</name> + <entityName>Communication_entity</entityName> + <fieldName>PhoneCommunications</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/phonecommunications/children/contactid_param/valueProcess.js</valueProcess> + <expose v="false" /> + <description>This parameter is used for specifing a related &quot;CONTACTID&quot; to a COMMUNICATION-entry. +Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>EmailCommunications</name> + <description>Used for standard communication</description> + <dependency> + <name>dependency</name> + <entityName>Communication_entity</entityName> + <fieldName>EmailCommunications</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/emailcommunications/children/contactid_param/valueProcess.js</valueProcess> + <expose v="false" /> + <description>This parameter is used for specifing a related &quot;CONTACTID&quot; to a COMMUNICATION-entry. +Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>ADDRESS_ID</name> + <title>Address</title> + <consumer>ContactAndOrganisationAddresses</consumer> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/address_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/address_id/displayValueProcess.js</displayValueProcess> + </entityField> + <entityActionField> + <name>newActivity</name> + <title>New activity</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> + <iconId>VAADIN:HOURGLASS_END</iconId> + <tooltip>New activity</tooltip> + <tooltipProcess>%aditoprj%/entity/Person_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> + </entityActionField> + <entityConsumer> + <name>ObjectRelations</name> + <dependency> + <name>dependency</name> + </dependency> + <children> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objectrelations/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectRowid_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objectrelations/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordGenders</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/keywordgenders/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Languages</name> + <dependency> + <name>dependency</name> + <entityName>Language_entity</entityName> + <fieldName>ISO3Name</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>Offers</name> + <dependency> + <name>dependency</name> + <entityName>Offer_entity</entityName> + <fieldName>ContactOffers</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/offers/children/contactid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Salutations</name> + <dependency> + <name>dependency</name> + <entityName>SalutationDistinct_entity</entityName> + <fieldName>Salutations</fieldName> + </dependency> + <children> + <entityParameter> + <name>Language_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutations/children/language_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Attributes</name> + <onValidation>%aditoprj%/entity/Person_entity/entityfields/attributes/onValidation.js</onValidation> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>AttributeRelations</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>SalutationTitles</name> + <dependency> + <name>dependency</name> + <entityName>SalutationTitleDistinct_entity</entityName> + <fieldName>SalutationTitles</fieldName> + </dependency> + <children> + <entityParameter> + <name>Salutation_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutationtitles/children/salutation_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>Language_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/salutationtitles/children/language_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>newTask</name> + <title>New task</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newtask/onActionProcess.js</onActionProcess> + <iconId>VAADIN:TASKS</iconId> + </entityActionField> + <entityConsumer> + <name>Tasks</name> + <stateProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>Task_entity</entityName> + <fieldName>Tasks</fieldName> + </dependency> + <children> + <entityParameter> + <name>RowId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>PresetLinks_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>ObjectTrees</name> + <dependency> + <name>dependency</name> + <entityName>ObjectTree_entity</entityName> + <fieldName>TreeProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objecttrees/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>STATUS</name> + <title>Status</title> + <consumer>KeywordContactStates</consumer> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/status/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/status/displayValueProcess.js</displayValueProcess> + </entityField> + <entityConsumer> + <name>KeywordContactStates</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/keywordcontactstates/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>ContactAndOrganisationAddresses</name> + <dependency> + <name>dependency</name> + <entityName>Address_entity</entityName> + <fieldName>OrganisationAndContactAddresses</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contactandorganisationaddresses/children/contactid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>OrganisationId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/contactandorganisationaddresses/children/organisationid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>DEPARTMENT</name> + <title>Department</title> + <dropDownProcess>%aditoprj%/entity/Person_entity/entityfields/department/dropDownProcess.js</dropDownProcess> + <textInputAllowed v="true" /> + </entityField> + <entityField> + <name>POSITION</name> + <title>Position</title> + <dropDownProcess>%aditoprj%/entity/Person_entity/entityfields/position/dropDownProcess.js</dropDownProcess> + <textInputAllowed v="true" /> + </entityField> + <entityField> + <name>CONTACTROLE</name> + <title>Contactrole</title> + <dropDownProcess>%aditoprj%/entity/Person_entity/entityfields/contactrole/dropDownProcess.js</dropDownProcess> + <textInputAllowed v="true" /> + </entityField> + <entityConsumer> + <name>LogHistoryConsumer</name> + <dependency> + <name>dependency</name> + <entityName>LogHistory_entity</entityName> + <fieldName>LogHistoryProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>tablenames_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>OtherContacts</name> + <dependency> + <name>dependency</name> + <entityName>Contact_entity</entityName> + <fieldName>PersonsContactsExceptOwn</fieldName> + </dependency> + <children> + <entityParameter> + <name>OwnContactId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/othercontacts/children/owncontactid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>LanguageKey_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/othercontacts/children/languagekey_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>ORGANISATION_NAME</name> + <searchable v="false" /> + </entityField> + <entityParameter> + <name>ExcludedContactIds_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityProvider> + <name>Contacts</name> + <dependencies> + <entityDependency> + <name>e46dcd73-64a8-4b3e-b976-1b4643c54ebb</name> + <entityName>CampaignStep_entity</entityName> + <fieldName>ContactsConsumer</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>4d317eb3-6a4e-40c6-946e-d54289dcd99b</name> + <entityName>Member_entity</entityName> + <fieldName>Contacts</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>ContactId_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>ExcludedContactIds_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>OrgId_param</name> + <expose v="false" /> + </entityParameter> + </children> + </entityProvider> + <entityConsumer> + <name>360DegreeObjects</name> + <dependency> + <name>dependency</name> + <entityName>360Degree_entity</entityName> + <fieldName>PersonObjects</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/360degreeobjects/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>addToCampaign</name> + <title>Add to Campaign</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/addtocampaign/onActionProcess.js</onActionProcess> + <actionOrder v="1" /> + <iconId>NEON:GROUP_APPOINTMENT</iconId> + <tooltip>Choose a campaign and a step to add the contact to a campaign</tooltip> + </entityActionField> + <entityConsumer> + <name>AttributeTree</name> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>TreeProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>DATE_NEW</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/date_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_NEW</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/user_new/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_EDIT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/user_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_EDIT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/date_edit/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>DATE_NEW_CONTACT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/date_new_contact/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>USER_NEW_CONTACT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/user_new_contact/valueProcess.js</valueProcess> + </entityField> + <entityParameter> + <name>AdditionalActivityTaskLinks_param</name> + <title></title> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/additionalactivitytasklinks_param/valueProcess.js</valueProcess> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>PICTURE</name> + <title>Picture</title> + <contentType>IMAGE</contentType> + <searchable v="false" /> + <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/picture/displayValueProcess.js</displayValueProcess> + </entityField> + <entityParameter> + <name>AvatarText_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/avatartext_param/valueProcess.js</valueProcess> + <description>PARAMETER</description> + </entityParameter> + <entityActionGroup> + <name>campaignActionGroup</name> + <title>Campaign</title> + <children> + <entityActionField> + <name>addToCampaignFromTable</name> + <title>Add to Campaign</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/onActionProcess.js</onActionProcess> + <isMenuAction v="true" /> + <isObjectAction v="false" /> + <isSelectionAction v="true" /> + <iconId>NEON:GROUP_APPOINTMENT</iconId> + <tooltip>Add the selection to a campaign</tooltip> + <tooltipProcess>%aditoprj%/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/tooltipProcess.js</tooltipProcess> + </entityActionField> + </children> + </entityActionGroup> + <entityActionField> + <name>newEmail</name> + <title>Write email</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newemail/onActionProcess.js</onActionProcess> + <iconId>VAADIN:AT</iconId> + </entityActionField> + <entityActionField> + <name>newAppointment</name> + <title>New appointment</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newappointment/onActionProcess.js</onActionProcess> + <iconId>VAADIN:CALENDAR</iconId> + <tooltip>New Appointment</tooltip> + </entityActionField> + <entityConsumer> + <name>CommRestrictions</name> + <dependency> + <name>dependency</name> + <entityName>CommRestriction_Entity</entityName> + <fieldName>PersonsCommRestriction</fieldName> + </dependency> + <children> + <entityParameter> + <name>PersonId_param</name> + <valueProcess>%aditoprj%/entity/Person_entity/entityfields/commrestrictions/children/personid_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>newLetter</name> + <title>New letter</title> + <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newletter/onActionProcess.js</onActionProcess> + <iconId>VAADIN:ENVELOPE</iconId> + </entityActionField> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <fromClauseProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> + <conditionProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <orderClauseProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> + <onDBUpdate>%aditoprj%/entity/Person_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate> + <linkInformation> + <linkInformation> + <name>3afdecb0-515e-43d2-872f-04c82ecca9ae</name> + <tableName>PERSON</tableName> + <primaryKey>PERSONID</primaryKey> + <isUIDTable v="false" /> + <readonly v="false" /> + </linkInformation> + <linkInformation> + <name>217d431f-018c-4573-b786-d1b6b88f4b64</name> + <tableName>CONTACT</tableName> + <primaryKey>CONTACTID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + <linkInformation> + <name>19877118-eb80-4672-bd73-cf10dbbb052a</name> + <tableName>ORGANISATION</tableName> + <primaryKey>ORGANISATIONID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> + <linkInformation> + <name>64f188c2-e53d-44b5-9980-c867282eff7e</name> + <tableName>ADDRESS</tableName> + <primaryKey>ADDRESSID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>PERSONID.value</name> + <recordfield>PERSON.PERSONID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATEOFBIRTH.value</name> + <recordfield>PERSON.DATEOFBIRTH</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>FIRSTNAME.value</name> + <recordfield>PERSON.FIRSTNAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>GENDER.value</name> + <recordfield>PERSON.GENDER</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LANGUAGE.value</name> + <recordfield>CONTACT.LANGUAGE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PERSON_ID.value</name> + <recordfield>CONTACT.PERSON_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LASTNAME.value</name> + <recordfield>PERSON.LASTNAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>MIDDLENAME.value</name> + <recordfield>PERSON.MIDDLENAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CONTACTID.value</name> + <recordfield>CONTACT.CONTACTID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SALUTATION.value</name> + <recordfield>PERSON.SALUTATION</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TITLE.value</name> + <recordfield>PERSON.TITLE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TITLESUFFIX.value</name> + <recordfield>PERSON.TITLESUFFIX</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ORGANISATION_ID.value</name> + <recordfield>CONTACT.ORGANISATION_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>REL_RELATIONSHIP.value</name> + <recordfield>CONTACT.RELATIONSHIP</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STANDARD_EMAIL_COMMUNICATION.displayValue</name> + <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/standard_email_communication.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STANDARD_PHONE_COMMUNICATION.displayValue</name> + <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/standard_phone_communication.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ADDRESS_ID.value</name> + <recordfield>CONTACT.ADDRESS_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ORGANISATION_ID.displayValue</name> + <recordfield>ORGANISATION.NAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>GENDER.displayValue</name> + <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/gender.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>LANGUAGE.displayValue</name> + <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SALUTATION.displayValue</name> + <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/salutation.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TITLE.displayValue</name> + <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/title.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATUS.value</name> + <recordfield>CONTACT.STATUS</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>POSITION.value</name> + <recordfield>CONTACT.POSITION</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DEPARTMENT.value</name> + <recordfield>CONTACT.DEPARTMENT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CONTACTROLE.value</name> + <recordfield>CONTACT.CONTACTROLE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ORGANISATION_NAME.value</name> + <recordfield>ORGANISATION.NAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW.value</name> + <recordfield>PERSON.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_EDIT.value</name> + <recordfield>PERSON.USER_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW.value</name> + <recordfield>PERSON.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_EDIT.value</name> + <recordfield>PERSON.DATE_EDIT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DATE_NEW_CONTACT.value</name> + <recordfield>CONTACT.DATE_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>USER_NEW_CONTACT.value</name> + <recordfield>CONTACT.USER_NEW</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ADDRESS_ID.displayValue</name> + <expression>%aditoprj%/entity/Person_entity/recordcontainers/db/recordfieldmappings/address_id.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PICTURE.value</name> + <recordfield>PERSON.PICTURE</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Person_entity/entityfields/commrestrictions/children/personid_param/valueProcess.js b/entity/Person_entity/entityfields/commrestrictions/children/personid_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e3241c7d2dd258a8a9cf0863cf1c6790b6278ee5 --- /dev/null +++ b/entity/Person_entity/entityfields/commrestrictions/children/personid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.result"); +import("system.vars"); + +result.string(vars.getString("$field.PERSONID")); \ No newline at end of file diff --git a/entity/Person_entity/entityfields/newletter/onActionProcess.js b/entity/Person_entity/entityfields/newletter/onActionProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..7b45fb04f877160700a49e15514b61011a5b655f --- /dev/null +++ b/entity/Person_entity/entityfields/newletter/onActionProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("DocumentTemplate_lib"); + +LetterUtils.openNewLetter(vars.get("$field.CONTACTID")); \ No newline at end of file diff --git a/entity/Person_entity/entityfields/newoffer/onActionProcess.js b/entity/Person_entity/entityfields/newoffer/onActionProcess.js index a7172e4cec347fa3e63060898a4d88f438dcc53d..e9a139362426db55f1f53c2df01304a9ded97941 100644 --- a/entity/Person_entity/entityfields/newoffer/onActionProcess.js +++ b/entity/Person_entity/entityfields/newoffer/onActionProcess.js @@ -1,4 +1,4 @@ import("system.vars"); import("Offer_lib"); -OfferUtils.createNewOffer(null, vars.getString("$field.CONTACTID")); \ No newline at end of file +OfferUtils.createNewOffer(null, null, vars.getString("$field.CONTACTID")); \ No newline at end of file diff --git a/entity/Productprice_entity/entityfields/attributes/children/filteredattributes_param/valueProcess.js b/entity/Productprice_entity/entityfields/attributes/children/filteredattributes_param/valueProcess.js index 4e35cfba9da893b0ecb7870591d10cbb20fa9b9b..8e1a22ffe0d6b4fbed6611161f1fa121edbdc428 100644 --- a/entity/Productprice_entity/entityfields/attributes/children/filteredattributes_param/valueProcess.js +++ b/entity/Productprice_entity/entityfields/attributes/children/filteredattributes_param/valueProcess.js @@ -1,3 +1,3 @@ import("system.db"); import("system.result"); -result.object(db.array(db.ROW, "select AB_ATTRIBUTEID from ADITO.AB_ATTRIBUTE where ATTRIBUTE_PARENT_ID = 'ab545654-1fce-4993-b763-0ec469781302'")); \ No newline at end of file +result.object(db.array(db.ROW, "select AB_ATTRIBUTEID from AB_ATTRIBUTE where ATTRIBUTE_PARENT_ID = 'ab545654-1fce-4993-b763-0ec469781302'")); \ No newline at end of file diff --git a/entity/SalesprojectAnalyses_entity/entityfields/overall_forecast/valueProcess.js b/entity/SalesprojectAnalyses_entity/entityfields/overall_forecast/valueProcess.js index 38822523a7c5999867dbfff1d157e5e59ce99056..d6f89d038debab8b78a11020bdcc2b989341414d 100644 --- a/entity/SalesprojectAnalyses_entity/entityfields/overall_forecast/valueProcess.js +++ b/entity/SalesprojectAnalyses_entity/entityfields/overall_forecast/valueProcess.js @@ -7,8 +7,7 @@ import("Sql_lib"); import("system.SQLTYPES") var forecast = db.cell(SqlCondition.begin() - .buildSql("select sum(VOLUME) from SALESPROJECT_FORECAST", "1=2")); - .andPrepare("FORECAST.DATE_START", datetime.toDate(vars.get("$sys.date"), "yyyy"), "year(#) = ?", SQLTYPES.INTEGER) - .buildSql("select sum(VOLUME) from FORECAST", "1=2")); + .andPrepare("FORECAST.DATE_START", datetime.toDate(vars.get("$sys.date"), "yyyy"), "year(#) = ?", SQLTYPES.INTEGER) + .buildSql("select sum(VOLUME) from FORECAST", "1=2")); result.string(forecast); \ No newline at end of file diff --git a/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod b/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod index f443b20ebe2ee148a68fac1c12fde522faee60db..eb599011b163d94c4ea7c68d8da0f249c2227428 100644 --- a/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod +++ b/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod @@ -3,6 +3,7 @@ <name>SalesprojectSource_entity</name> <majorModelMode>DISTRIBUTED</majorModelMode> <title>Touchpoint</title> + <iconId>VAADIN:HANDSHAKE</iconId> <titlePlural>Touchpoints</titlePlural> <recordContainer>db</recordContainer> <entityFields> @@ -40,8 +41,6 @@ <contentType>DATE</contentType> <resolution>DAY</resolution> <outputFormat>dd.MM.yyyy</outputFormat> - <title>Information</title> - <contentType>LONG_TEXT</contentType> </entityField> <entityField> <name>SALESPROJECT_ID</name> @@ -73,6 +72,16 @@ </entityParameter> </children> </entityConsumer> + <entityField> + <name>INFO</name> + <title>Information</title> + <contentType>LONG_TEXT</contentType> + </entityField> + <entityField> + <name>ICON</name> + <contentType>IMAGE</contentType> + <valueProcess>%aditoprj%/entity/SalesprojectSource_entity/entityfields/icon/valueProcess.js</valueProcess> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> @@ -93,10 +102,6 @@ <name>ENTRYDATE.value</name> <recordfield>SALESPROJECT_SOURCE.ENTRYDATE</recordfield> </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>INFO.value</name> - <recordfield>SALESPROJECT_SOURCE.INFO</recordfield> - </dbRecordFieldMapping> <dbRecordFieldMapping> <name>SALESPROJECT_ID.value</name> <recordfield>SALESPROJECT_SOURCE.SALESPROJECT_ID</recordfield> @@ -113,6 +118,10 @@ <name>SOURCE.displayValue</name> <expression>%aditoprj%/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/source.displayvalue/expression.js</expression> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>INFO.value</name> + <recordfield>SALESPROJECT_SOURCE.INFO</recordfield> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/SalesprojectSource_entity/entityfields/icon/valueProcess.js b/entity/SalesprojectSource_entity/entityfields/icon/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..860f5656a20ddabd85f30a928382bf22de8a81d1 --- /dev/null +++ b/entity/SalesprojectSource_entity/entityfields/icon/valueProcess.js @@ -0,0 +1,14 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +var category = vars.getString("$field.SOURCE"); +var icon; +if (category) +{ + var keywordAttributes = KeywordUtils.getAttributeRelationsByKey(category, $KeywordRegistry.salesprojectSource()) + icon = keywordAttributes.defaultAvatarRepresentation; + result.string(icon); +} diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index a2c2f769da61385613cab85c72eee74026008961..12b451a31182fed2c4850802e2a9955c1895ff7a 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -1,724 +1,742 @@ -<?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> - <name>Salesproject_entity</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <title>Salesproject</title> - <contentTitleProcess>%aditoprj%/entity/Salesproject_entity/contentTitleProcess.js</contentTitleProcess> - <afterUiInit>%aditoprj%/entity/Salesproject_entity/afterUiInit.js</afterUiInit> - <onValidation>%aditoprj%/entity/Salesproject_entity/onValidation.js</onValidation> - <afterOperatingState>%aditoprj%/entity/Salesproject_entity/afterOperatingState.js</afterOperatingState> - <iconId>VAADIN:BOOK_DOLLAR</iconId> - <titlePlural>Salesprojects</titlePlural> - <recordContainer>db</recordContainer> - <entityFields> - <entityProvider> - <name>#PROVIDER</name> - <dependencies> - <entityDependency> - <name>497657f7-ebd7-4c9c-b8ab-da447a1556e5</name> - <entityName>Order_entity</entityName> - <fieldName>Salesprojects</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>f010781d-453d-4df3-b330-75c1336e4d4c</name> - <entityName>Object_entity</entityName> - <fieldName>Salesprojects</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - </entityProvider> - <entityField> - <name>ENDDATE</name> - <title>Rollout</title> - <contentType>DATE</contentType> - <resolution>DAY</resolution> - <outputFormat>dd.MM.yyyy</outputFormat> - <inputFormat>dd.MM.yyyy</inputFormat> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/enddate/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>INFO</name> - <title>Information</title> - <contentType>LONG_TEXT</contentType> - </entityField> - <entityField> - <name>PHASE</name> - <title>Phase</title> - <consumer>KeywordPhases</consumer> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/phase/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/phase/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>PROJECTCODE</name> - <documentation>%aditoprj%/entity/Salesproject_entity/entityfields/projectcode/documentation.adoc</documentation> - <title>Project number</title> - <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/projectcode/valueProcess.js</valueProcess> - <onValidation>%aditoprj%/entity/Salesproject_entity/entityfields/projectcode/onValidation.js</onValidation> - </entityField> - <entityField> - <name>PROJECTTITLE</name> - <title>Project title</title> - <mandatory v="true" /> - </entityField> - <entityField> - <name>CONTACT_ID</name> - <title>Company</title> - <consumer>Organisations</consumer> - <linkedContext>Organisation</linkedContext> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/contact_id/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/contact_id/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>SALESPROJECTID</name> - <searchable v="false" /> - <state>AUTO</state> - </entityField> - <entityField> - <name>STARTDATE</name> - <title>Project start</title> - <contentType>DATE</contentType> - <resolution>DAY</resolution> - <outputFormat>dd.MM.yyyy</outputFormat> - <inputFormat>dd.MM.yyyy</inputFormat> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/startdate/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>STATE</name> - <title>Status</title> - <consumer>KeywordStates</consumer> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/state/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/state/displayValueProcess.js</displayValueProcess> - <onValueChange>%aditoprj%/entity/Salesproject_entity/entityfields/state/onValueChange.js</onValueChange> - <onValueChangeTypes> - <element>MASK</element> - </onValueChangeTypes> - </entityField> - <entityField> - <name>VOLUME</name> - <title>Volume</title> - <description></description> - <contentType>NUMBER</contentType> - <inputFormat>#0</inputFormat> - <searchable v="true" /> - <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/volume/displayValueProcess.js</displayValueProcess> - </entityField> - <entityConsumer> - <name>Organisations</name> - <dependency> - <name>dependency</name> - <entityName>Organisation_entity</entityName> - <fieldName>Organisations</fieldName> - </dependency> - </entityConsumer> - <entityField> - <name>PROBABILITY</name> - <title>Probability</title> - <consumer>KeywordProbabilties</consumer> - <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/probability/displayValueProcess.js</displayValueProcess> - </entityField> - <entityConsumer> - <name>SalesprojectSources</name> - <dependency> - <name>dependency</name> - <entityName>SalesprojectSource_entity</entityName> - <fieldName>SalesprojectSouces</fieldName> - </dependency> - <children> - <entityParameter> - <name>SalesprojectId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectsources/children/salesprojectid_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>SalesprojectPhaseMilestones</name> - <dependency> - <name>dependency</name> - <entityName>SalesprojectMilestone_entity</entityName> - <fieldName>PhaseMilestones</fieldName> - </dependency> - <children> - <entityParameter> - <name>SalesprojectId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectphasemilestones/children/salesprojectid_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Forecasts</name> - <dependency> - <name>dependency</name> - <entityName>Forecast_entity</entityName> - <fieldName>Links</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/forecasts/children/objecttype_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/forecasts/children/objectrowid_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Competitions</name> - <selectionMode>MULTI</selectionMode> - <dependency> - <name>dependency</name> - <entityName>Competition_entity</entityName> - <fieldName>Links</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/competitions/children/objectrowid_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/competitions/children/objecttype_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Offers</name> - <dependency> - <name>dependency</name> - <entityName>Offer_entity</entityName> - <fieldName>Links</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/offers/children/objectrowid_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/offers/children/objecttype_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Activities</name> - <dependency> - <name>dependency</name> - <entityName>Activity_entity</entityName> - <fieldName>LinkedObjects</fieldName> - </dependency> - <children> - <entityParameter> - <name>PresetLinks_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>RowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>ObjectId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Members</name> - <dependency> - <name>dependency</name> - <entityName>Member_entity</entityName> - <fieldName>Links</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/members/children/objectrowid_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/members/children/objecttype_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>newOffer</name> - <documentation>%aditoprj%/entity/Salesproject_entity/entityfields/newoffer/documentation.adoc</documentation> - <title>New offer</title> - <description>Opens the Offer context in NEW-Mode and fills salesproject and contact.</description> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newoffer/onActionProcess.js</onActionProcess> - <iconId>VAADIN:CART</iconId> - </entityActionField> - <entityConsumer> - <name>Timetrackings</name> - <dependency> - <name>dependency</name> - <entityName>Timetracking_entity</entityName> - <fieldName>Timetrackings</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackings/children/objectid_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>RowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackings/children/rowid_param/valueProcess.js</valueProcess> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> - <entityParameter> - <name>ContactId_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityConsumer> - <name>ObjectRelations</name> - <dependency> - <name>dependency</name> - </dependency> - </entityConsumer> - <entityField> - <name>TIMETRACKINGSUM</name> - <title>Time expenses</title> - <description>the total hours of all time trackings related to the salesproject</description> - <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackingsum/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>IMAGE</name> - <contentType>IMAGE</contentType> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/image/valueProcess.js</valueProcess> - </entityField> - <entityConsumer> - <name>Documents</name> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>Documents</fieldName> - </dependency> - <children> - <entityParameter> - <name>AssignmentName_param</name> - </entityParameter> - <entityParameter> - <name>AssignmentRowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentTable_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>MainDocuments</name> - <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/maindocuments/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>MainDocuments</fieldName> - </dependency> - <children> - <entityParameter> - <name>AssignmentName_param</name> - </entityParameter> - <entityParameter> - <name>AssignmentRowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentTable_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>newTimetracking</name> - <title>New time tracking</title> - <description>Opens the time tracking context in new-mode for the selected salesproject</description> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtimetracking/onActionProcess.js</onActionProcess> - <iconId>VAADIN:STOPWATCH</iconId> - </entityActionField> - <entityConsumer> - <name>KeywordProbabilties</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <title></title> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordprobabilties/children/containername_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>KeywordStates</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>KeywordPhases</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordphases/children/containername_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>newActivity</name> - <title>New activity</title> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> - <iconId>VAADIN:HOURGLASS_END</iconId> - <tooltip>New activity</tooltip> - <tooltipProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> - </entityActionField> - <entityField> - <name>InactiveTime</name> - <title>Days inactive</title> - <contentType>NUMBER</contentType> - <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/inactivetime/valueProcess.js</valueProcess> - </entityField> - <entityConsumer> - <name>KeywordWonLost</name> - <selectionMode>MULTI</selectionMode> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>REASONS</name> - <title>Reason</title> - <mandatoryProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js</mandatoryProcess> - <dropDownProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/dropDownProcess.js</dropDownProcess> - <searchable v="true" /> - <selectionMode>MULTI</selectionMode> - <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/stateProcess.js</stateProcess> - <onValueChangeTypes> - <element>MASK</element> - <element>PROCESS</element> - <element>PROCESS_SETVALUE</element> - </onValueChangeTypes> - </entityField> - <entityProvider> - <name>Salesprojects</name> - <dependencies> - <entityDependency> - <name>0925d17f-a26a-4641-aaf4-0f74796fefa7</name> - <entityName>Organisation_entity</entityName> - <fieldName>Salesprojects</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>ContactId_param</name> - <expose v="true" /> - <mandatory v="true" /> - </entityParameter> - </children> - </entityProvider> - <entityActionField> - <name>newTask</name> - <title>New task</title> - <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtask/onActionProcess.js</onActionProcess> - <iconId>VAADIN:TASKS</iconId> - </entityActionField> - <entityConsumer> - <name>Tasks</name> - <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/tasks/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>Task_entity</entityName> - <fieldName>Tasks</fieldName> - </dependency> - <children> - <entityParameter> - <name>RowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>PresetLinks_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityProvider> - <name>openSalesprojects</name> - <dependencies> - <entityDependency> - <name>631f55f9-fb0f-4205-bdb8-6e3476268ab4</name> - <entityName>Offer_entity</entityName> - <fieldName>Salesprojects</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>State_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/opensalesprojects/children/state_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityProvider> - <entityParameter> - <name>State_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityConsumer> - <name>SalesprojectStateMilestones</name> - <dependency> - <name>dependency</name> - <entityName>SalesprojectMilestone_entity</entityName> - <fieldName>StateMilestones</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>Attributes</name> - <onValidation>%aditoprj%/entity/Salesproject_entity/entityfields/attributes/onValidation.js</onValidation> - <dependency> - <name>dependency</name> - <entityName>AttributeRelation_entity</entityName> - <fieldName>AttributeRelations</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>AttributeTree</name> - <dependency> - <name>dependency</name> - <entityName>AttributeRelation_entity</entityName> - <fieldName>TreeProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>LogHistoryConsumer</name> - <dependency> - <name>dependency</name> - <entityName>LogHistory_entity</entityName> - <fieldName>LogHistoryProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>tablenames_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Classifications</name> - <dependency> - <name>dependency</name> - <entityName>Classification_entity</entityName> - <fieldName>Classifications</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowid_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classifications/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classifications/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ClassificationType_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classifications/children/classificationtype_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>RemainingTime</name> - <title>Days remaining</title> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/remainingtime/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>RunTime</name> - <title>Days running</title> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/runtime/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>ClassificationResult</name> - <title>Classification</title> - <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classificationresult/valueProcess.js</valueProcess> - </entityField> - </entityFields> - <recordContainers> - <dbRecordContainer> - <name>db</name> - <alias>Data_alias</alias> - <fromClauseProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> - <conditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js</conditionProcess> - <orderClauseProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> - <onDBInsert>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js</onDBInsert> - <onDBUpdate>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate> - <onDBDelete>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js</onDBDelete> - <linkInformation> - <linkInformation> - <name>02eb2f4c-3b85-409f-ac13-c8b26804da44</name> - <tableName>SALESPROJECT</tableName> - <primaryKey>SALESPROJECTID</primaryKey> - <isUIDTable v="true" /> - <readonly v="false" /> - </linkInformation> - <linkInformation> - <name>485af2f8-d91d-442f-89c7-c44915dda990</name> - <tableName>ORGANISATION</tableName> - <primaryKey>ORGANISATIONID</primaryKey> - <isUIDTable v="false" /> - <readonly v="true" /> - </linkInformation> - </linkInformation> - <recordFieldMappings> - <dbRecordFieldMapping> - <name>ENDDATE.value</name> - <recordfield>SALESPROJECT.ENDDATE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>INFO.value</name> - <recordfield>SALESPROJECT.INFO</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PHASE.value</name> - <recordfield>SALESPROJECT.PHASE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROBABILITY.value</name> - <recordfield>SALESPROJECT.PROBABILITY</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROJECTCODE.value</name> - <recordfield>SALESPROJECT.PROJECTCODE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROJECTTITLE.value</name> - <recordfield>SALESPROJECT.PROJECTTITLE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>SALESPROJECTID.value</name> - <recordfield>SALESPROJECT.SALESPROJECTID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STARTDATE.value</name> - <recordfield>SALESPROJECT.STARTDATE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STATE.value</name> - <recordfield>SALESPROJECT.STATE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>VOLUME.value</name> - <recordfield>SALESPROJECT.VOLUME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CONTACT_ID.value</name> - <recordfield>SALESPROJECT.CONTACT_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>CONTACT_ID.displayValue</name> - <recordfield>ORGANISATION.NAME</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROBABILITY.displayValue</name> - <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/probability.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STATE.displayValue</name> - <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PHASE.displayValue</name> - <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/phase.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>REASONS.value</name> - <recordfield>SALESPROJECT.REASONS</recordfield> - </dbRecordFieldMapping> - </recordFieldMappings> - </dbRecordContainer> - </recordContainers> -</entity> +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> + <name>Salesproject_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <title>Salesproject</title> + <contentTitleProcess>%aditoprj%/entity/Salesproject_entity/contentTitleProcess.js</contentTitleProcess> + <afterUiInit>%aditoprj%/entity/Salesproject_entity/afterUiInit.js</afterUiInit> + <onValidation>%aditoprj%/entity/Salesproject_entity/onValidation.js</onValidation> + <afterOperatingState>%aditoprj%/entity/Salesproject_entity/afterOperatingState.js</afterOperatingState> + <iconId>VAADIN:BOOK_DOLLAR</iconId> + <titlePlural>Salesprojects</titlePlural> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + <dependencies> + <entityDependency> + <name>497657f7-ebd7-4c9c-b8ab-da447a1556e5</name> + <entityName>Order_entity</entityName> + <fieldName>Salesprojects</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>f010781d-453d-4df3-b330-75c1336e4d4c</name> + <entityName>Object_entity</entityName> + <fieldName>Salesprojects</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + </entityProvider> + <entityField> + <name>ENDDATE</name> + <title>Rollout</title> + <contentType>DATE</contentType> + <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> + <inputFormat>dd.MM.yyyy</inputFormat> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/enddate/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>INFO</name> + <title>Information</title> + <contentType>LONG_TEXT</contentType> + </entityField> + <entityField> + <name>PHASE</name> + <title>Phase</title> + <consumer>KeywordPhases</consumer> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/phase/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/phase/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>PROJECTCODE</name> + <documentation>%aditoprj%/entity/Salesproject_entity/entityfields/projectcode/documentation.adoc</documentation> + <title>Project number</title> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/projectcode/valueProcess.js</valueProcess> + <onValidation>%aditoprj%/entity/Salesproject_entity/entityfields/projectcode/onValidation.js</onValidation> + </entityField> + <entityField> + <name>PROJECTTITLE</name> + <title>Project title</title> + <mandatory v="true" /> + </entityField> + <entityField> + <name>CONTACT_ID</name> + <title>Company</title> + <consumer>Organisations</consumer> + <linkedContext>Organisation</linkedContext> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/contact_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/contact_id/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>SALESPROJECTID</name> + <searchable v="false" /> + <state>AUTO</state> + </entityField> + <entityField> + <name>STARTDATE</name> + <title>Project start</title> + <contentType>DATE</contentType> + <resolution>DAY</resolution> + <outputFormat>dd.MM.yyyy</outputFormat> + <inputFormat>dd.MM.yyyy</inputFormat> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/startdate/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>STATE</name> + <title>Status</title> + <consumer>KeywordStates</consumer> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/state/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/state/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/Salesproject_entity/entityfields/state/onValueChange.js</onValueChange> + <onValueChangeTypes> + <element>MASK</element> + </onValueChangeTypes> + </entityField> + <entityField> + <name>VOLUME</name> + <title>Volume</title> + <description></description> + <contentType>NUMBER</contentType> + <inputFormat>#0</inputFormat> + <searchable v="true" /> + <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/volume/displayValueProcess.js</displayValueProcess> + </entityField> + <entityConsumer> + <name>Organisations</name> + <dependency> + <name>dependency</name> + <entityName>Organisation_entity</entityName> + <fieldName>Organisations</fieldName> + </dependency> + </entityConsumer> + <entityField> + <name>PROBABILITY</name> + <title>Probability</title> + <consumer>KeywordProbabilties</consumer> + <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/probability/displayValueProcess.js</displayValueProcess> + </entityField> + <entityConsumer> + <name>SalesprojectSources</name> + <dependency> + <name>dependency</name> + <entityName>SalesprojectSource_entity</entityName> + <fieldName>SalesprojectSouces</fieldName> + </dependency> + <children> + <entityParameter> + <name>SalesprojectId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectsources/children/salesprojectid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>SalesprojectPhaseMilestones</name> + <dependency> + <name>dependency</name> + <entityName>SalesprojectMilestone_entity</entityName> + <fieldName>PhaseMilestones</fieldName> + </dependency> + <children> + <entityParameter> + <name>SalesprojectId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectphasemilestones/children/salesprojectid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Forecasts</name> + <dependency> + <name>dependency</name> + <entityName>Forecast_entity</entityName> + <fieldName>Links</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/forecasts/children/objecttype_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/forecasts/children/objectrowid_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Competitions</name> + <selectionMode>MULTI</selectionMode> + <dependency> + <name>dependency</name> + <entityName>Competition_entity</entityName> + <fieldName>Links</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/competitions/children/objectrowid_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/competitions/children/objecttype_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Offers</name> + <dependency> + <name>dependency</name> + <entityName>Offer_entity</entityName> + <fieldName>Links</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/offers/children/objectrowid_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/offers/children/objecttype_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Activities</name> + <dependency> + <name>dependency</name> + <entityName>Activity_entity</entityName> + <fieldName>LinkedObjects</fieldName> + </dependency> + <children> + <entityParameter> + <name>PresetLinks_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/activities/children/presetlinks_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>RowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/activities/children/objectid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Members</name> + <dependency> + <name>dependency</name> + <entityName>Member_entity</entityName> + <fieldName>Links</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/members/children/objectrowid_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/members/children/objecttype_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>newOffer</name> + <documentation>%aditoprj%/entity/Salesproject_entity/entityfields/newoffer/documentation.adoc</documentation> + <title>New offer</title> + <description>Opens the Offer context in NEW-Mode and fills salesproject and contact.</description> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newoffer/onActionProcess.js</onActionProcess> + <iconId>VAADIN:CART</iconId> + </entityActionField> + <entityConsumer> + <name>Timetrackings</name> + <dependency> + <name>dependency</name> + <entityName>Timetracking_entity</entityName> + <fieldName>Timetrackings</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackings/children/objectid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + <entityParameter> + <name>RowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackings/children/rowid_param/valueProcess.js</valueProcess> + <triggerRecalculation v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityConsumer> + <name>ObjectRelations</name> + <dependency> + <name>dependency</name> + </dependency> + </entityConsumer> + <entityField> + <name>TIMETRACKINGSUM</name> + <title>Time expenses</title> + <description>the total hours of all time trackings related to the salesproject</description> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackingsum/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>IMAGE</name> + <contentType>IMAGE</contentType> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/image/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>Documents</name> + <dependency> + <name>dependency</name> + <entityName>Document_entity</entityName> + <fieldName>Documents</fieldName> + </dependency> + <children> + <entityParameter> + <name>AssignmentRowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentTable_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>MainDocuments</name> + <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/maindocuments/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>Document_entity</entityName> + <fieldName>MainDocuments</fieldName> + </dependency> + <children> + <entityParameter> + <name>AssignmentRowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentTable_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>newTimetracking</name> + <title>New time tracking</title> + <description>Opens the time tracking context in new-mode for the selected salesproject</description> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtimetracking/onActionProcess.js</onActionProcess> + <iconId>VAADIN:STOPWATCH</iconId> + </entityActionField> + <entityConsumer> + <name>KeywordProbabilties</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <title></title> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordprobabilties/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordStates</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordPhases</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordphases/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>newActivity</name> + <title>New activity</title> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> + <iconId>VAADIN:HOURGLASS_END</iconId> + <tooltip>New activity</tooltip> + <tooltipProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> + </entityActionField> + <entityField> + <name>InactiveTime</name> + <title>Days inactive</title> + <contentType>NUMBER</contentType> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/inactivetime/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>KeywordWonLost</name> + <selectionMode>MULTI</selectionMode> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>REASONS</name> + <title>Reason</title> + <mandatoryProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js</mandatoryProcess> + <dropDownProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/dropDownProcess.js</dropDownProcess> + <searchable v="true" /> + <selectionMode>MULTI</selectionMode> + <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/stateProcess.js</stateProcess> + <onValueChangeTypes> + <element>MASK</element> + <element>PROCESS</element> + <element>PROCESS_SETVALUE</element> + </onValueChangeTypes> + </entityField> + <entityProvider> + <name>Salesprojects</name> + <dependencies> + <entityDependency> + <name>0925d17f-a26a-4641-aaf4-0f74796fefa7</name> + <entityName>Organisation_entity</entityName> + <fieldName>Salesprojects</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>bdea1358-ebf2-4356-8df1-af3eb1e6338a</name> + <entityName>Offer_entity</entityName> + <fieldName>Salesprojects</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>ContactId_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityActionField> + <name>newTask</name> + <title>New task</title> + <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtask/onActionProcess.js</onActionProcess> + <iconId>VAADIN:TASKS</iconId> + </entityActionField> + <entityConsumer> + <name>Tasks</name> + <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/tasks/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>Task_entity</entityName> + <fieldName>Tasks</fieldName> + </dependency> + <children> + <entityParameter> + <name>RowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>PresetLinks_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/tasks/children/objectid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityProvider> + <name>openSalesprojects</name> + <dependencies> + <entityDependency> + <name>631f55f9-fb0f-4205-bdb8-6e3476268ab4</name> + <entityName>Offer_entity</entityName> + <fieldName>Salesprojects</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>State_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/opensalesprojects/children/state_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityProvider> + <entityParameter> + <name>State_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityConsumer> + <name>SalesprojectStateMilestones</name> + <dependency> + <name>dependency</name> + <entityName>SalesprojectMilestone_entity</entityName> + <fieldName>StateMilestones</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>Attributes</name> + <onValidation>%aditoprj%/entity/Salesproject_entity/entityfields/attributes/onValidation.js</onValidation> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>AttributeRelations</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>AttributeTree</name> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>TreeProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>LogHistoryConsumer</name> + <dependency> + <name>dependency</name> + <entityName>LogHistory_entity</entityName> + <fieldName>LogHistoryProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>tablenames_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Classifications</name> + <dependency> + <name>dependency</name> + <entityName>Classification_entity</entityName> + <fieldName>Classifications</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowid_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classifications/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classifications/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ClassificationType_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classifications/children/classificationtype_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>RemainingTime</name> + <title>Days remaining</title> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/remainingtime/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>RunTime</name> + <title>Days running</title> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/runtime/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>ClassificationResult</name> + <title>Classification</title> + <state>READONLY</state> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/classificationresult/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>SalesprojectForecastCharts</name> + <dependency> + <name>dependency</name> + <entityName>Turnover_entity</entityName> + <fieldName>FilteredTurnovers</fieldName> + </dependency> + <children> + <entityParameter> + <name>SalesprojectId_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectforecastcharts/children/salesprojectid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ShowTurnover_param</name> + <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectforecastcharts/children/showturnover_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <fromClauseProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> + <conditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <orderClauseProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> + <onDBInsert>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js</onDBInsert> + <onDBUpdate>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate> + <onDBDelete>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js</onDBDelete> + <linkInformation> + <linkInformation> + <name>02eb2f4c-3b85-409f-ac13-c8b26804da44</name> + <tableName>SALESPROJECT</tableName> + <primaryKey>SALESPROJECTID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + <linkInformation> + <name>485af2f8-d91d-442f-89c7-c44915dda990</name> + <tableName>ORGANISATION</tableName> + <primaryKey>ORGANISATIONID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>ENDDATE.value</name> + <recordfield>SALESPROJECT.ENDDATE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>INFO.value</name> + <recordfield>SALESPROJECT.INFO</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PHASE.value</name> + <recordfield>SALESPROJECT.PHASE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PROBABILITY.value</name> + <recordfield>SALESPROJECT.PROBABILITY</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PROJECTCODE.value</name> + <recordfield>SALESPROJECT.PROJECTCODE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PROJECTTITLE.value</name> + <recordfield>SALESPROJECT.PROJECTTITLE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SALESPROJECTID.value</name> + <recordfield>SALESPROJECT.SALESPROJECTID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STARTDATE.value</name> + <recordfield>SALESPROJECT.STARTDATE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATE.value</name> + <recordfield>SALESPROJECT.STATE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>VOLUME.value</name> + <recordfield>SALESPROJECT.VOLUME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CONTACT_ID.value</name> + <recordfield>SALESPROJECT.CONTACT_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>CONTACT_ID.displayValue</name> + <recordfield>ORGANISATION.NAME</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PROBABILITY.displayValue</name> + <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/probability.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATE.displayValue</name> + <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PHASE.displayValue</name> + <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/phase.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>REASONS.value</name> + <recordfield>SALESPROJECT.REASONS</recordfield> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Salesproject_entity/entityfields/newoffer/onActionProcess.js b/entity/Salesproject_entity/entityfields/newoffer/onActionProcess.js index 45f61d0f0e68a2691eb4ab77f9f054293c747ae5..36d7296f70c4408f55162126c738573999fcd406 100644 --- a/entity/Salesproject_entity/entityfields/newoffer/onActionProcess.js +++ b/entity/Salesproject_entity/entityfields/newoffer/onActionProcess.js @@ -1,4 +1,5 @@ +import("Context_lib"); import("system.vars"); import("Offer_lib"); -OfferUtils.createNewOffer(vars.get("$field.SALESPROJECTID"), vars.get("$field.CONTACT_ID")); \ No newline at end of file +OfferUtils.createNewOffer(ContextUtils.getCurrentContextId(), vars.get("$field.SALESPROJECTID"), vars.get("$field.CONTACT_ID")); \ No newline at end of file diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod index 9fc98a92cb538970b95f286f69fa5bb7c08d7e7b..7951ac126e9af75d0787c05408db6de5e5e77f9d 100644 --- a/entity/Task_entity/Task_entity.aod +++ b/entity/Task_entity/Task_entity.aod @@ -1,609 +1,619 @@ -<?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> - <name>Task_entity</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <documentation>%aditoprj%/entity/Task_entity/documentation.adoc</documentation> - <title>Task</title> +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> + <name>Task_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <documentation>%aditoprj%/entity/Task_entity/documentation.adoc</documentation> + <title>Task</title> <contentTitleProcess>%aditoprj%/entity/Task_entity/contentTitleProcess.js</contentTitleProcess> - <afterUiInit>%aditoprj%/entity/Task_entity/afterUiInit.js</afterUiInit> - <onValidation>%aditoprj%/entity/Task_entity/onValidation.js</onValidation> - <iconId>VAADIN:TASKS</iconId> - <iconIdProcess>%aditoprj%/entity/Task_entity/iconIdProcess.js</iconIdProcess> - <titlePlural>Tasks</titlePlural> - <recordContainer>db</recordContainer> - <entityFields> - <entityProvider> - <name>#PROVIDER</name> - <recordContainer>db</recordContainer> - </entityProvider> - <entityField> - <name>CODE</name> - <title>task number</title> - <contentType>NUMBER</contentType> - <outputFormat>0000000</outputFormat> - <inputFormat>0000000</inputFormat> - <searchable v="false" /> - <state>DISABLED</state> - <stateProcess>%aditoprj%/entity/Task_entity/entityfields/code/stateProcess.js</stateProcess> - </entityField> - <entityField> - <name>SUBJECT</name> - <title>subject</title> - <mandatory v="true" /> - </entityField> - <entityField> - <name>STATUS</name> - <title>{$TASK_STATUS}</title> - <colorProcess>%aditoprj%/entity/Task_entity/entityfields/status/colorProcess.js</colorProcess> - <consumer>KeywordStates</consumer> - <groupable v="true" /> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/status/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/status/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>PRIORITY</name> - <title>Priority</title> - <consumer>KeywordPriorities</consumer> - <groupable v="true" /> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/priority/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/priority/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>REQUESTOR_CONTACT_ID</name> - <title>{$TASK_REQUESTOR}</title> - <consumer>ContactRequestors</consumer> - <linkedContext>Person</linkedContext> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/requestor_contact_id/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/requestor_contact_id/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>EDITOR_CONTACT_ID</name> - <title>{$TASK_EDITOR}</title> - <consumer>ContactEditors</consumer> - <linkedContext>Person</linkedContext> - <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/editor_contact_id/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>START_DATE</name> - <title>Begin</title> - <contentType>DATE</contentType> - <resolution>MINUTE</resolution> - <outputFormat>dd.MM.yyyy HH:mm</outputFormat> - <inputFormat>dd.MM.yyyy HH:mm</inputFormat> - <groupable v="true" /> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/start_date/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>MATURITY_DATE</name> - <title>Maturity</title> - <contentType>DATE</contentType> - <resolution>MINUTE</resolution> - <outputFormat>dd.MM.yyyy HH:mm</outputFormat> - <inputFormat>dd.MM.yyyy HH:mm</inputFormat> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/maturity_date/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>TYPE</name> - <title>type</title> - <consumer>KeywordTypes</consumer> - <groupable v="true" /> - <searchable v="true" /> + <afterUiInit>%aditoprj%/entity/Task_entity/afterUiInit.js</afterUiInit> + <onValidation>%aditoprj%/entity/Task_entity/onValidation.js</onValidation> + <iconId>VAADIN:TASKS</iconId> + <iconIdProcess>%aditoprj%/entity/Task_entity/iconIdProcess.js</iconIdProcess> + <titlePlural>Tasks</titlePlural> + <recordContainer>db</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + <recordContainer>db</recordContainer> + </entityProvider> + <entityField> + <name>CODE</name> + <title>task number</title> + <contentType>NUMBER</contentType> + <outputFormat>0000000</outputFormat> + <inputFormat>0000000</inputFormat> + <searchable v="false" /> + <state>DISABLED</state> + <stateProcess>%aditoprj%/entity/Task_entity/entityfields/code/stateProcess.js</stateProcess> + </entityField> + <entityField> + <name>SUBJECT</name> + <title>subject</title> + <mandatory v="true" /> + </entityField> + <entityField> + <name>STATUS</name> + <title>{$TASK_STATUS}</title> + <colorProcess>%aditoprj%/entity/Task_entity/entityfields/status/colorProcess.js</colorProcess> + <consumer>KeywordStates</consumer> + <groupable v="true" /> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/status/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/status/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>PRIORITY</name> + <title>Priority</title> + <consumer>KeywordPriorities</consumer> + <groupable v="true" /> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/priority/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/priority/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>REQUESTOR_CONTACT_ID</name> + <title>{$TASK_REQUESTOR}</title> + <consumer>ContactRequestors</consumer> + <linkedContext>Person</linkedContext> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/requestor_contact_id/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/requestor_contact_id/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>EDITOR_CONTACT_ID</name> + <title>{$TASK_EDITOR}</title> + <consumer>ContactEditors</consumer> + <linkedContext>Person</linkedContext> + <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/editor_contact_id/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>START_DATE</name> + <title>Begin</title> + <contentType>DATE</contentType> + <resolution>MINUTE</resolution> + <outputFormat>dd.MM.yyyy HH:mm</outputFormat> + <inputFormat>dd.MM.yyyy HH:mm</inputFormat> + <groupable v="true" /> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/start_date/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>MATURITY_DATE</name> + <title>Maturity</title> + <contentType>DATE</contentType> + <resolution>MINUTE</resolution> + <outputFormat>dd.MM.yyyy HH:mm</outputFormat> + <inputFormat>dd.MM.yyyy HH:mm</inputFormat> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/maturity_date/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>TYPE</name> + <title>type</title> + <consumer>KeywordTypes</consumer> + <groupable v="true" /> + <searchable v="true" /> <state>READONLY</state> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/type/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/type/displayValueProcess.js</displayValueProcess> - </entityField> - <entityField> - <name>DESCRIPTION</name> - <title>description</title> - <contentType>LONG_TEXT</contentType> - </entityField> - <entityField> - <name>PROTECTIONLEVEL</name> - <title>Protected</title> - <contentType>BOOLEAN</contentType> - <contentTypeProcess>%aditoprj%/entity/Task_entity/entityfields/protectionlevel/contentTypeProcess.js</contentTypeProcess> - <dropDownProcess>%aditoprj%/entity/Task_entity/entityfields/protectionlevel/dropDownProcess.js</dropDownProcess> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/protectionlevel/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>TASKID</name> - <mandatory v="true" /> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/taskid/valueProcess.js</valueProcess> - </entityField> - <entityConsumer> - <name>ContactEditors</name> - <dependency> - <name>dependency</name> - <entityName>Employee_entity</entityName> - <fieldName>Employees</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>ContactRequestors</name> - <dependency> - <name>dependency</name> - <entityName>Employee_entity</entityName> - <fieldName>Employees</fieldName> - </dependency> - </entityConsumer> - <entityConsumer> - <name>MainDocuments</name> - <stateProcess>%aditoprj%/entity/Task_entity/entityfields/maindocuments/stateProcess.js</stateProcess> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>#PROVIDER</fieldName> - </dependency> - <children> - <entityParameter> - <name>AssignmentRowId_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentTable_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>KeywordStates</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>KeywordTypes</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordtypes/children/containername_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>ModuleTrees</name> - <dependency> - <name>dependency</name> - <entityName>ModuleTree_entity</entityName> - <fieldName>TreeProviders</fieldName> - </dependency> - <children> - <entityParameter> - <name>ID_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/moduletrees/children/id_param/valueProcess.js</valueProcess> - <expose v="false" /> - <mandatory v="false" /> - </entityParameter> - <entityParameter> - <name>ContextName_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/moduletrees/children/contextname_param/valueProcess.js</valueProcess> - <expose v="false" /> - <mandatory v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityField> - <name>PARENT_CONTEXT</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/parent_context/valueProcess.js</valueProcess> - </entityField> - <entityField> - <name>PARENT_ID</name> - <searchable v="false" /> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/parent_id/valueProcess.js</valueProcess> - </entityField> - <entityParameter> - <name>ParentId_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>ParentContext_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityActionField> - <name>newActivity</name> - <title>New activity</title> - <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> - <iconId>VAADIN:HOURGLASS_END</iconId> - <tooltip>New activity</tooltip> - <tooltipProcess>%aditoprj%/entity/Task_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> - </entityActionField> - <entityActionField> - <name>newTask</name> - <title>New task</title> - <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newtask/onActionProcess.js</onActionProcess> - <actionOrder v="1" /> - <iconId>VAADIN:TASKS</iconId> - </entityActionField> - <entityParameter> - <name>RowId_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>ObjectId_param</name> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityConsumer> - <name>KeywordPriorities</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordpriorities/children/containername_param/valueProcess.js</valueProcess> - <expose v="false" /> - </entityParameter> - </children> - </entityConsumer> - <entityActionField> - <name>newOffer</name> - <title>New offer</title> - <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newoffer/onActionProcess.js</onActionProcess> - <actionOrder v="0" /> - <iconId>VAADIN:CART</iconId> - </entityActionField> - <entityField> - <name>PROGRESS</name> - <title>Progress</title> - <consumer>KeywordProgress</consumer> - <mandatory v="true" /> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/progress/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/progress/displayValueProcess.js</displayValueProcess> - </entityField> - <entityConsumer> - <name>KeywordProgress</name> - <dependency> - <name>dependency</name> - <entityName>KeywordEntry_entity</entityName> - <fieldName>SpecificContainerKeywords</fieldName> - </dependency> - <children> - <entityParameter> - <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Links</name> - <dependency> - <name>dependency</name> - <entityName>TaskLink_entity</entityName> - <fieldName>Link</fieldName> - </dependency> - <children> - <entityParameter> - <name>TaskId_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityProvider> - <name>Tasks</name> - <dependencies> - <entityDependency> - <name>dd79df43-264c-494b-9c92-cadf19e61db6</name> - <entityName>Organisation_entity</entityName> - <fieldName>Tasks</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>dc29832e-15da-4f64-b17a-f1dd978ef47b</name> - <entityName>Person_entity</entityName> - <fieldName>Tasks</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>c6507834-cd91-4202-bdf7-6566f968edb4</name> - <entityName>Salesproject_entity</entityName> - <fieldName>Tasks</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>26b9b221-de02-40ef-a400-d4b5e356da0b</name> - <entityName>Offer_entity</entityName> - <fieldName>Tasks</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>b2bb448a-b647-40c8-baec-16356f3e23f5</name> - <entityName>Order_entity</entityName> - <fieldName>Tasks</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>a93f1e7e-f929-438f-8f37-21e4af8b53b6</name> - <entityName>Product_entity</entityName> - <fieldName>Tasks</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>2b0c15eb-fa9a-4ee8-a8b1-5d0f344ddad6</name> - <entityName>Contract_entity</entityName> - <fieldName>Tasks</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>335e31ad-ab67-4567-b4ea-3668f04922b2</name> - <entityName>Campaign_entity</entityName> - <fieldName>Tasks</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>fbaa2f6c-0ba1-4c93-acae-d7b636581679</name> - <entityName>CampaignStep_entity</entityName> - <fieldName>Tasks</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>RowId_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>PresetLinks_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>ParentId_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>ParentContext_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>ObjectId_param</name> - <expose v="true" /> - </entityParameter> - </children> - </entityProvider> - <entityParameter> - <name>PresetLinks_param</name> - <expose v="true" /> - <documentation>%aditoprj%/entity/Task_entity/entityfields/presetlinks_param/documentation.adoc</documentation> - <description>PARAMETER</description> - </entityParameter> - <entityField> - <name>SUBJECT_DETAILS</name> - <title>subject</title> - <linkedContext>Task</linkedContext> - </entityField> - <entityParameter> - <name>FilterOnlyOwnTask_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/filteronlyowntask_param/valueProcess.js</valueProcess> - <expose v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityField> - <name>PRIORITY_ICON</name> - <colorProcess>%aditoprj%/entity/Task_entity/entityfields/priority_icon/colorProcess.js</colorProcess> - <contentType>IMAGE</contentType> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/priority_icon/valueProcess.js</valueProcess> - </entityField> - <entityConsumer> - <name>LogHistories</name> - <dependency> - <name>dependency</name> - <entityName>LogHistory_entity</entityName> - <fieldName>LogHistoryProvider</fieldName> - </dependency> - <children> - <entityParameter> - <name>tablenames_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Documents</name> - <dependency> - <name>dependency</name> - <entityName>Document_entity</entityName> - <fieldName>Documents</fieldName> - </dependency> - <children> - <entityParameter> - <name>AssignmentRowId_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>AssignmentTable_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityConsumer> - <name>Attributes</name> - <stateProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/stateProcess.js</stateProcess> - <onValidation>%aditoprj%/entity/Task_entity/entityfields/attributes/onValidation.js</onValidation> - <dependency> - <name>dependency</name> - <entityName>AttributeRelation_entity</entityName> - <fieldName>AttributeRelations</fieldName> - </dependency> - <children> - <entityParameter> - <name>ObjectRowId_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>ShowEmpty_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/children/showempty_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>FilteredAttributeIds_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>DisplaySimpleName_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - <entityParameter> - <name>Type_param</name> - <valueProcess>%aditoprj%/entity/Task_entity/entityfields/type_param/valueProcess.js</valueProcess> - <expose v="true" /> - </entityParameter> - <entityActionGroup> - <name>tableActions</name> - <children> - <entityActionField> - <name>newBugTicket</name> - <title>New Bugticket</title> - <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/tableactions/children/newbugticket/onActionProcess.js</onActionProcess> - <iconId>VAADIN:PUZZLE_PIECE</iconId> - <tooltip>New Bugticket</tooltip> - </entityActionField> - <entityActionField> - <name>newSupportTicket</name> - <title>New Supportticket</title> - <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/tableactions/children/newsupportticket/onActionProcess.js</onActionProcess> - <iconId>VAADIN:QUESTION</iconId> - <tooltip>New Supportticket</tooltip> - </entityActionField> - </children> - </entityActionGroup> - </entityFields> - <recordContainers> - <dbRecordContainer> - <name>db</name> - <alias>Data_alias</alias> - <conditionProcess>%aditoprj%/entity/Task_entity/recordcontainers/db/conditionProcess.js</conditionProcess> - <orderClauseProcess>%aditoprj%/entity/Task_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> - <onDBInsert>%aditoprj%/entity/Task_entity/recordcontainers/db/onDBInsert.js</onDBInsert> - <onDBDelete>%aditoprj%/entity/Task_entity/recordcontainers/db/onDBDelete.js</onDBDelete> - <linkInformation> - <linkInformation> - <name>47e1b4a5-6901-48b0-85ba-bec39b86a2d7</name> - <tableName>TASK</tableName> - <primaryKey>TASKID</primaryKey> - <isUIDTable v="true" /> - <readonly v="false" /> - </linkInformation> - </linkInformation> - <recordFieldMappings> - <dbRecordFieldMapping> - <name>CODE.value</name> - <recordfield>TASK.CODE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>DESCRIPTION.value</name> - <recordfield>TASK.DESCRIPTION</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>EDITOR_CONTACT_ID.value</name> - <recordfield>TASK.EDITOR_CONTACT_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>MATURITY_DATE.value</name> - <recordfield>TASK.MATURITY_DATE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PRIORITY.value</name> - <recordfield>TASK.PRIORITY</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROTECTIONLEVEL.value</name> - <recordfield>TASK.PROTECTIONLEVEL</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>REQUESTOR_CONTACT_ID.value</name> - <recordfield>TASK.REQUESTOR_CONTACT_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>START_DATE.value</name> - <recordfield>TASK.START_DATE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STATUS.value</name> - <recordfield>TASK.STATUS</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>SUBJECT.value</name> - <recordfield>TASK.SUBJECT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>TASKID.value</name> - <recordfield>TASK.TASKID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>TYPE.value</name> - <recordfield>TASK.TYPE</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>EDITOR_CONTACT_ID.displayValue</name> - <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/editor_contact_id.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>REQUESTOR_CONTACT_ID.displayValue</name> - <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/requestor_contact_id.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>TYPE.displayValue</name> - <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PARENT_CONTEXT.value</name> - <recordfield>TASK.PARENT_CONTEXT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PARENT_ID.value</name> - <recordfield>TASK.PARENT_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PRIORITY.displayValue</name> - <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/priority.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROGRESS.value</name> - <recordfield>TASK.PROGRESS</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>PROGRESS.displayValue</name> - <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>SUBJECT_DETAILS.value</name> - <recordfield>TASK.SUBJECT</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>STATUS.displayValue</name> - <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression> - </dbRecordFieldMapping> - </recordFieldMappings> - </dbRecordContainer> - </recordContainers> -</entity> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/type/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/type/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>DESCRIPTION</name> + <title>description</title> + <contentType>LONG_TEXT</contentType> + </entityField> + <entityField> + <name>PROTECTIONLEVEL</name> + <title>Protected</title> + <contentType>BOOLEAN</contentType> + <contentTypeProcess>%aditoprj%/entity/Task_entity/entityfields/protectionlevel/contentTypeProcess.js</contentTypeProcess> + <dropDownProcess>%aditoprj%/entity/Task_entity/entityfields/protectionlevel/dropDownProcess.js</dropDownProcess> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/protectionlevel/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>TASKID</name> + <mandatory v="true" /> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/taskid/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>ContactEditors</name> + <dependency> + <name>dependency</name> + <entityName>Employee_entity</entityName> + <fieldName>Employees</fieldName> + </dependency> + <children> + <entityParameter> + <name>OnlyActives_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/contacteditors/children/onlyactives_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>ContactRequestors</name> + <dependency> + <name>dependency</name> + <entityName>Employee_entity</entityName> + <fieldName>Employees</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>MainDocuments</name> + <stateProcess>%aditoprj%/entity/Task_entity/entityfields/maindocuments/stateProcess.js</stateProcess> + <dependency> + <name>dependency</name> + <entityName>Document_entity</entityName> + <fieldName>#PROVIDER</fieldName> + </dependency> + <children> + <entityParameter> + <name>AssignmentRowId_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentTable_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/maindocuments/children/assignmenttable_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordStates</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>WhitelistIds_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordstates/children/whitelistids_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>KeywordTypes</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordtypes/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>ModuleTrees</name> + <dependency> + <name>dependency</name> + <entityName>ModuleTree_entity</entityName> + <fieldName>TreeProviders</fieldName> + </dependency> + <children> + <entityParameter> + <name>ID_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/moduletrees/children/id_param/valueProcess.js</valueProcess> + <expose v="false" /> + <mandatory v="false" /> + </entityParameter> + <entityParameter> + <name>ContextName_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/moduletrees/children/contextname_param/valueProcess.js</valueProcess> + <expose v="false" /> + <mandatory v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityField> + <name>PARENT_CONTEXT</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/parent_context/valueProcess.js</valueProcess> + </entityField> + <entityField> + <name>PARENT_ID</name> + <searchable v="false" /> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/parent_id/valueProcess.js</valueProcess> + </entityField> + <entityParameter> + <name>ParentId_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>ParentContext_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityActionField> + <name>newActivity</name> + <title>New activity</title> + <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newactivity/onActionProcess.js</onActionProcess> + <iconId>VAADIN:HOURGLASS_END</iconId> + <tooltip>New activity</tooltip> + <tooltipProcess>%aditoprj%/entity/Task_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess> + </entityActionField> + <entityActionField> + <name>newTask</name> + <title>New task</title> + <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newtask/onActionProcess.js</onActionProcess> + <actionOrder v="1" /> + <iconId>VAADIN:TASKS</iconId> + </entityActionField> + <entityParameter> + <name>RowId_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityConsumer> + <name>KeywordPriorities</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordpriorities/children/containername_param/valueProcess.js</valueProcess> + <expose v="false" /> + </entityParameter> + </children> + </entityConsumer> + <entityActionField> + <name>newOffer</name> + <title>New offer</title> + <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newoffer/onActionProcess.js</onActionProcess> + <actionOrder v="0" /> + <iconId>VAADIN:CART</iconId> + </entityActionField> + <entityField> + <name>PROGRESS</name> + <title>Progress</title> + <consumer>KeywordProgress</consumer> + <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/progress/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/progress/displayValueProcess.js</displayValueProcess> + </entityField> + <entityConsumer> + <name>KeywordProgress</name> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>ContainerName_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Links</name> + <dependency> + <name>dependency</name> + <entityName>TaskLink_entity</entityName> + <fieldName>Link</fieldName> + </dependency> + <children> + <entityParameter> + <name>TaskId_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityProvider> + <name>Tasks</name> + <dependencies> + <entityDependency> + <name>dd79df43-264c-494b-9c92-cadf19e61db6</name> + <entityName>Organisation_entity</entityName> + <fieldName>Tasks</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>dc29832e-15da-4f64-b17a-f1dd978ef47b</name> + <entityName>Person_entity</entityName> + <fieldName>Tasks</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>c6507834-cd91-4202-bdf7-6566f968edb4</name> + <entityName>Salesproject_entity</entityName> + <fieldName>Tasks</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>26b9b221-de02-40ef-a400-d4b5e356da0b</name> + <entityName>Offer_entity</entityName> + <fieldName>Tasks</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>b2bb448a-b647-40c8-baec-16356f3e23f5</name> + <entityName>Order_entity</entityName> + <fieldName>Tasks</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>a93f1e7e-f929-438f-8f37-21e4af8b53b6</name> + <entityName>Product_entity</entityName> + <fieldName>Tasks</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>2b0c15eb-fa9a-4ee8-a8b1-5d0f344ddad6</name> + <entityName>Contract_entity</entityName> + <fieldName>Tasks</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>335e31ad-ab67-4567-b4ea-3668f04922b2</name> + <entityName>Campaign_entity</entityName> + <fieldName>Tasks</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>fbaa2f6c-0ba1-4c93-acae-d7b636581679</name> + <entityName>CampaignStep_entity</entityName> + <fieldName>Tasks</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>RowId_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>PresetLinks_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>ParentId_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>ParentContext_param</name> + <expose v="false" /> + </entityParameter> + <entityParameter> + <name>ObjectId_param</name> + <expose v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityParameter> + <name>PresetLinks_param</name> + <expose v="true" /> + <documentation>%aditoprj%/entity/Task_entity/entityfields/presetlinks_param/documentation.adoc</documentation> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>SUBJECT_DETAILS</name> + <title>subject</title> + <linkedContext>Task</linkedContext> + </entityField> + <entityParameter> + <name>FilterOnlyOwnTask_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/filteronlyowntask_param/valueProcess.js</valueProcess> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityField> + <name>PRIORITY_ICON</name> + <colorProcess>%aditoprj%/entity/Task_entity/entityfields/priority_icon/colorProcess.js</colorProcess> + <contentType>IMAGE</contentType> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/priority_icon/valueProcess.js</valueProcess> + </entityField> + <entityConsumer> + <name>LogHistories</name> + <dependency> + <name>dependency</name> + <entityName>LogHistory_entity</entityName> + <fieldName>LogHistoryProvider</fieldName> + </dependency> + <children> + <entityParameter> + <name>tablenames_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Documents</name> + <dependency> + <name>dependency</name> + <entityName>Document_entity</entityName> + <fieldName>Documents</fieldName> + </dependency> + <children> + <entityParameter> + <name>AssignmentRowId_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>AssignmentTable_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Attributes</name> + <stateProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/stateProcess.js</stateProcess> + <onValidation>%aditoprj%/entity/Task_entity/entityfields/attributes/onValidation.js</onValidation> + <dependency> + <name>dependency</name> + <entityName>AttributeRelation_entity</entityName> + <fieldName>AttributeRelations</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectRowId_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ShowEmpty_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/children/showempty_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>FilteredAttributeIds_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>DisplaySimpleName_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/children/displaysimplename_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>Type_param</name> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/type_param/valueProcess.js</valueProcess> + <expose v="true" /> + </entityParameter> + <entityActionGroup> + <name>tableActions</name> + <children> + <entityActionField> + <name>newBugTicket</name> + <title>New Bugticket</title> + <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/tableactions/children/newbugticket/onActionProcess.js</onActionProcess> + <iconId>VAADIN:PUZZLE_PIECE</iconId> + <tooltip>New Bugticket</tooltip> + </entityActionField> + <entityActionField> + <name>newSupportTicket</name> + <title>New Supportticket</title> + <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/tableactions/children/newsupportticket/onActionProcess.js</onActionProcess> + <iconId>VAADIN:QUESTION</iconId> + <tooltip>New Supportticket</tooltip> + </entityActionField> + </children> + </entityActionGroup> + </entityFields> + <recordContainers> + <dbRecordContainer> + <name>db</name> + <alias>Data_alias</alias> + <conditionProcess>%aditoprj%/entity/Task_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <orderClauseProcess>%aditoprj%/entity/Task_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> + <onDBInsert>%aditoprj%/entity/Task_entity/recordcontainers/db/onDBInsert.js</onDBInsert> + <onDBDelete>%aditoprj%/entity/Task_entity/recordcontainers/db/onDBDelete.js</onDBDelete> + <linkInformation> + <linkInformation> + <name>47e1b4a5-6901-48b0-85ba-bec39b86a2d7</name> + <tableName>TASK</tableName> + <primaryKey>TASKID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> + </linkInformation> + <recordFieldMappings> + <dbRecordFieldMapping> + <name>CODE.value</name> + <recordfield>TASK.CODE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>DESCRIPTION.value</name> + <recordfield>TASK.DESCRIPTION</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>EDITOR_CONTACT_ID.value</name> + <recordfield>TASK.EDITOR_CONTACT_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>MATURITY_DATE.value</name> + <recordfield>TASK.MATURITY_DATE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PRIORITY.value</name> + <recordfield>TASK.PRIORITY</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PROTECTIONLEVEL.value</name> + <recordfield>TASK.PROTECTIONLEVEL</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>REQUESTOR_CONTACT_ID.value</name> + <recordfield>TASK.REQUESTOR_CONTACT_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>START_DATE.value</name> + <recordfield>TASK.START_DATE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATUS.value</name> + <recordfield>TASK.STATUS</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SUBJECT.value</name> + <recordfield>TASK.SUBJECT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TASKID.value</name> + <recordfield>TASK.TASKID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TYPE.value</name> + <recordfield>TASK.TYPE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>EDITOR_CONTACT_ID.displayValue</name> + <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/editor_contact_id.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>REQUESTOR_CONTACT_ID.displayValue</name> + <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/requestor_contact_id.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>TYPE.displayValue</name> + <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PARENT_CONTEXT.value</name> + <recordfield>TASK.PARENT_CONTEXT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PARENT_ID.value</name> + <recordfield>TASK.PARENT_ID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PRIORITY.displayValue</name> + <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/priority.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PROGRESS.value</name> + <recordfield>TASK.PROGRESS</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>PROGRESS.displayValue</name> + <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>SUBJECT_DETAILS.value</name> + <recordfield>TASK.SUBJECT</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>STATUS.displayValue</name> + <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression> + </dbRecordFieldMapping> + </recordFieldMappings> + </dbRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Task_entity/entityfields/contacteditors/children/onlyactives_param/valueProcess.js b/entity/Task_entity/entityfields/contacteditors/children/onlyactives_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js b/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js index d2a77dbd123cda7f78fb2c8f4d8f24b97b18c51d..11ba0b2c2f6c6bf296b1de10854c1a1a0ccba54b 100644 --- a/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js +++ b/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js @@ -1,5 +1,5 @@ +import("KeywordRegistry_basic"); import("system.vars"); -import("ActivityTask_lib"); import("system.result"); -result.string(TaskUtils.getTypeStatusKeyword(vars.get("$field.TYPE"))); \ No newline at end of file +result.string($KeywordRegistry.taskStatus()); \ No newline at end of file diff --git a/entity/Task_entity/entityfields/keywordstates/children/whitelistids_param/valueProcess.js b/entity/Task_entity/entityfields/keywordstates/children/whitelistids_param/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..e9a933ca7ebe5479c050dbe91d569683d07d3507 --- /dev/null +++ b/entity/Task_entity/entityfields/keywordstates/children/whitelistids_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("ActivityTask_lib"); + +result.object(TaskUtils.getAvailableStatus(vars.get("$field.TYPE"))); \ No newline at end of file diff --git a/entity/Task_entity/entityfields/newoffer/onActionProcess.js b/entity/Task_entity/entityfields/newoffer/onActionProcess.js index 550d39bb7b56c99d28972f0ddc71b0e2a524e12d..63640f70c29a2fa71bb1ebda7aea6f728e54722c 100644 --- a/entity/Task_entity/entityfields/newoffer/onActionProcess.js +++ b/entity/Task_entity/entityfields/newoffer/onActionProcess.js @@ -1,4 +1,4 @@ import("system.vars"); import("Offer_lib"); -OfferUtils.createNewOffer(null, vars.getString("$field.TASKID")); \ No newline at end of file +OfferUtils.createNewOffer(null, null, vars.getString("$field.TASKID")); \ No newline at end of file diff --git a/entity/Task_entity/entityfields/priority_icon/valueProcess.js b/entity/Task_entity/entityfields/priority_icon/valueProcess.js index 74ff67f1f27ad41536797fc61cac709a3c2299c4..5dc868f87908b415ce527da1d5ef7101e806da85 100644 --- a/entity/Task_entity/entityfields/priority_icon/valueProcess.js +++ b/entity/Task_entity/entityfields/priority_icon/valueProcess.js @@ -3,4 +3,4 @@ import("ActivityTask_lib"); import("KeywordRegistry_basic"); import("system.result"); -result.string(TaskUtils.getStatusIcon(vars.getString("$field.TYPE"), vars.getString("$field.STATUS"))); \ No newline at end of file +result.string(TaskUtils.getStatusIcon(vars.getString("$field.STATUS"))); \ No newline at end of file diff --git a/entity/Task_entity/entityfields/status/displayValueProcess.js b/entity/Task_entity/entityfields/status/displayValueProcess.js index 38abbb7de7a0411c01486d243c0cc215f694157f..70a16871e4c5aa547b58b32aa525adb2cf587f04 100644 --- a/entity/Task_entity/entityfields/status/displayValueProcess.js +++ b/entity/Task_entity/entityfields/status/displayValueProcess.js @@ -1,6 +1,6 @@ -import("ActivityTask_lib"); +import("KeywordRegistry_basic"); import("system.vars"); import("system.result"); import("Keyword_lib"); -result.string(KeywordUtils.getViewValue(TaskUtils.getTypeStatusKeyword(vars.get("$field.TYPE")), vars.get("$field.STATUS"))); \ No newline at end of file +result.string(KeywordUtils.getViewValue($KeywordRegistry.taskStatus(), vars.get("$field.STATUS"))); \ No newline at end of file diff --git a/entity/Task_entity/entityfields/status/valueProcess.js b/entity/Task_entity/entityfields/status/valueProcess.js index 15024ad9a4247e1020dc9527666d3d6d8145b2e4..7381489b6267e26f60ce7ad52b9cb07f73de400d 100644 --- a/entity/Task_entity/entityfields/status/valueProcess.js +++ b/entity/Task_entity/entityfields/status/valueProcess.js @@ -6,15 +6,8 @@ import("system.vars"); import("KeywordRegistry_basic"); import("Keyword_lib"); -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value")) { - var states = KeywordUtils.getEntryNamesAndIdsByContainer(TaskUtils.getTypeStatusKeyword(vars.get("$field.TYPE"))) - if (states.length > 0) - { - result.string(states[0][0]); - } - else - { - result.string(""); - } + var defaultState = TaskUtils.getDefaultStatus(vars.get("$field.TYPE")); + result.string(defaultState); } \ No newline at end of file diff --git a/entity/Timetracking_entity/Timetracking_entity.aod b/entity/Timetracking_entity/Timetracking_entity.aod index 99696a060a4775c562003a3a594d30c31f6da154..506168abf8cdace750a89a7ce5ffa1f05ba1a780 100644 --- a/entity/Timetracking_entity/Timetracking_entity.aod +++ b/entity/Timetracking_entity/Timetracking_entity.aod @@ -101,6 +101,22 @@ <fieldName>Employees</fieldName> </dependency> </entityConsumer> + <entityField> + <name>TOTALTIME</name> + <title>Total time</title> + <color>$priority-low-color</color> + <valueProcess>%aditoprj%/entity/Timetracking_entity/entityfields/totaltime/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Timetracking_entity/entityfields/totaltime/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>YEAR</name> + <title>Year</title> + <contentType>DATE</contentType> + <outputFormat>yyyy</outputFormat> + <inputFormat>dd.MM.yyyy</inputFormat> + <valueProcess>%aditoprj%/entity/Timetracking_entity/entityfields/year/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Timetracking_entity/entityfields/year/displayValueProcess.js</displayValueProcess> + </entityField> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/Timetracking_entity/entityfields/totaltime/displayValueProcess.js b/entity/Timetracking_entity/entityfields/totaltime/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8512eee2ee5f8894587fa80b179e20ccdae30373 --- /dev/null +++ b/entity/Timetracking_entity/entityfields/totaltime/displayValueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Timetracking_lib"); + +result.string(Timetracking.minutesToReadableHour(parseInt(vars.getString("$field.TOTALTIME")))); \ No newline at end of file diff --git a/entity/Timetracking_entity/entityfields/totaltime/valueProcess.js b/entity/Timetracking_entity/entityfields/totaltime/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..a290a185f34580375697ab2d4796d54ff12a2a7c --- /dev/null +++ b/entity/Timetracking_entity/entityfields/totaltime/valueProcess.js @@ -0,0 +1,7 @@ +import("system.db"); +import("system.vars"); +import("system.result"); + +var minutes = db.cell("select sum(MINUTES) from TIMETRACKING"); + +result.string(minutes); \ No newline at end of file diff --git a/entity/Timetracking_entity/entityfields/year/displayValueProcess.js b/entity/Timetracking_entity/entityfields/year/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..cca3354bb5c6d32131dc7d447fba92126dc3f590 --- /dev/null +++ b/entity/Timetracking_entity/entityfields/year/displayValueProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("system.vars"); +import("system.datetime"); + +result.string(datetime.toDate(vars.get("$field.YEAR"), "MMMM.yyyy")); \ No newline at end of file diff --git a/entity/Timetracking_entity/entityfields/year/valueProcess.js b/entity/Timetracking_entity/entityfields/year/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..748a5cd78eae9a53d2f1ca0f4cdc11afa86c21c5 --- /dev/null +++ b/entity/Timetracking_entity/entityfields/year/valueProcess.js @@ -0,0 +1,7 @@ +import("system.vars"); +import("system.result"); +import("system.neon"); + +var year = vars.get("$field.DATE") + +result.string(year); \ No newline at end of file diff --git a/entity/TurnoverTree_entity/TurnoverTree_entity.aod b/entity/TurnoverTree_entity/TurnoverTree_entity.aod index 677abbe530472051bfe828aa97b88f1dec317adc..b8db83ea16b1af670135db8660a962a0c02ef0a3 100644 --- a/entity/TurnoverTree_entity/TurnoverTree_entity.aod +++ b/entity/TurnoverTree_entity/TurnoverTree_entity.aod @@ -1,103 +1,117 @@ -<?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> - <name>TurnoverTree_entity</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <title>Tree</title> - <iconId>NEON:LOGO</iconId> - <recordContainer>jdito</recordContainer> - <entityFields> - <entityProvider> - <name>#PROVIDER</name> - </entityProvider> - <entityField> - <name>UID</name> - </entityField> - <entityField> - <name>CATEGORY</name> - <groupable v="true" /> - </entityField> - <entityField> - <name>TURNOVERPRICE</name> - <title>Turnover</title> - <contentType>NUMBER</contentType> - <outputFormat>#,##0.00</outputFormat> - <inputFormat>#,##0.00</inputFormat> - </entityField> - <entityParameter> - <name>YearCountToShow_param</name> - <valueProcess>%aditoprj%/entity/TurnoverTree_entity/entityfields/yearcounttoshow_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <documentation>%aditoprj%/entity/TurnoverTree_entity/entityfields/yearcounttoshow_param/documentation.adoc</documentation> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>MaxYear_param</name> - <valueProcess>%aditoprj%/entity/TurnoverTree_entity/entityfields/maxyear_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <documentation>%aditoprj%/entity/TurnoverTree_entity/entityfields/maxyear_param/documentation.adoc</documentation> - <description>PARAMETER</description> - </entityParameter> - <entityProvider> - <name>FilteredTurnovers</name> - <dependencies> - <entityDependency> - <name>0ea4ad47-985b-4a9c-81d8-946be324ae04</name> - <entityName>Turnover_entity</entityName> - <fieldName>Turnover_tree</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>YearCountToShow_param</name> - <expose v="true" /> - </entityParameter> - </children> - </entityProvider> - <entityField> - <name>PARENT</name> - </entityField> - <entityField> - <name>GROUP</name> - <title>Product group</title> - </entityField> - <entityField> - <name>FORECASTPRICE</name> - <title>Forecast</title> - <contentType>NUMBER</contentType> - <outputFormat>#,##0.00</outputFormat> - <inputFormat>#,##0.00</inputFormat> - </entityField> - <entityField> - <name>YEAR</name> - </entityField> - <entityField> - <name>MONTH</name> - </entityField> - <entityField> - <name>LAYER</name> - </entityField> - </entityFields> - <recordContainers> - <jDitoRecordContainer> - <name>jdito</name> - <jDitoRecordAlias>Data_alias</jDitoRecordAlias> - <contentProcess>%aditoprj%/entity/TurnoverTree_entity/recordcontainers/jdito/contentProcess.js</contentProcess> - <recordFields> - <element>UID.value</element> - <element>PARENT.value</element> - <element>GROUP.value</element> - <element>CATEGORY.value</element> - <element>TURNOVERPRICE.value</element> - <element>FORECASTPRICE.value</element> - <element>YEAR.value</element> - <element>MONTH.value</element> - <element>LAYER.value</element> - </recordFields> - </jDitoRecordContainer> - </recordContainers> -</entity> +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> + <name>TurnoverTree_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <title>Tree</title> + <iconId>NEON:LOGO</iconId> + <recordContainer>jdito</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + </entityProvider> + <entityField> + <name>UID</name> + </entityField> + <entityField> + <name>CATEGORY</name> + <groupable v="true" /> + </entityField> + <entityField> + <name>TURNOVERPRICE</name> + <title>Turnover</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> + <inputFormat>#,##0.00</inputFormat> + </entityField> + <entityParameter> + <name>YearCountToShow_param</name> + <valueProcess>%aditoprj%/entity/TurnoverTree_entity/entityfields/yearcounttoshow_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <documentation>%aditoprj%/entity/TurnoverTree_entity/entityfields/yearcounttoshow_param/documentation.adoc</documentation> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>MaxYear_param</name> + <valueProcess>%aditoprj%/entity/TurnoverTree_entity/entityfields/maxyear_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <documentation>%aditoprj%/entity/TurnoverTree_entity/entityfields/maxyear_param/documentation.adoc</documentation> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>SalesprojectId_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>ShowForecast_param</name> + <valueProcess>%aditoprj%/entity/TurnoverTree_entity/entityfields/showforecast_param/valueProcess.js</valueProcess> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>ShowTurnover_param</name> + <valueProcess>%aditoprj%/entity/TurnoverTree_entity/entityfields/showturnover_param/valueProcess.js</valueProcess> + <expose v="true" /> + </entityParameter> + <entityProvider> + <name>FilteredTurnovers</name> + <dependencies> + <entityDependency> + <name>0ea4ad47-985b-4a9c-81d8-946be324ae04</name> + <entityName>Turnover_entity</entityName> + <fieldName>Turnover_tree</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>YearCountToShow_param</name> + <expose v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityField> + <name>PARENT</name> + </entityField> + <entityField> + <name>GROUP</name> + <title>Product group</title> + </entityField> + <entityField> + <name>FORECASTPRICE</name> + <title>Forecast</title> + <contentType>NUMBER</contentType> + <outputFormat>#,##0.00</outputFormat> + <inputFormat>#,##0.00</inputFormat> + </entityField> + <entityField> + <name>YEAR</name> + </entityField> + <entityField> + <name>MONTH</name> + </entityField> + <entityField> + <name>LAYER</name> + </entityField> + </entityFields> + <recordContainers> + <jDitoRecordContainer> + <name>jdito</name> + <jDitoRecordAlias>Data_alias</jDitoRecordAlias> + <contentProcess>%aditoprj%/entity/TurnoverTree_entity/recordcontainers/jdito/contentProcess.js</contentProcess> + <recordFields> + <element>UID.value</element> + <element>PARENT.value</element> + <element>GROUP.value</element> + <element>CATEGORY.value</element> + <element>TURNOVERPRICE.value</element> + <element>FORECASTPRICE.value</element> + <element>YEAR.value</element> + <element>MONTH.value</element> + <element>LAYER.value</element> + </recordFields> + </jDitoRecordContainer> + </recordContainers> +</entity> diff --git a/entity/TurnoverTree_entity/recordcontainers/jdito/contentProcess.js b/entity/TurnoverTree_entity/recordcontainers/jdito/contentProcess.js index 84bc46e9e44282f8b28d87aaffd23ce01e78fd45..d12d20da8e7b6d59c27b87c298a673f940788fe6 100644 --- a/entity/TurnoverTree_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/TurnoverTree_entity/recordcontainers/jdito/contentProcess.js @@ -1,106 +1,117 @@ -import("Turnover_lib"); -import("system.vars"); -import("system.result"); -import("Money_lib"); -import("Util_lib"); -import("system.datetime"); -import("KeywordRegistry_basic"); -import("Keyword_lib"); -import("system.translate"); - -var turnoverCategory = translate.text('Turnover'); -var forecastCategory = translate.text('Forecast'); - -var maxYear = parseInt(vars.get("$param.MaxYear_param")); -var yearCountToShow = parseInt(vars.get("$param.YearCountToShow_param")); -var minYear = maxYear - yearCountToShow + 1; - -var turnover = TurnoverUtil.getTurnoverData(maxYear, yearCountToShow); -var forecast = TurnoverUtil.getForecastData(maxYear, yearCountToShow); - -var columns = { - type: 0, - year: 1, - month: 2, - discount: 3, - vat: 4, - price: 5, - quantity: 6, - groupcodeId: 7, - groupcodeName: 8 -}; - -// combine both data sources - - -var treeData = []; -var countData = {}; - -turnover.forEach(function(row) -{ - var monthDate = new Date(row[columns.year], row[columns.month]-1); - monthDate = datetime.toDate(monthDate.getTime(), "MMM yyyy", "UTC"); - _addCount([row[columns.year], [row[columns.month], monthDate], [row[columns.groupcodeId], row[columns.groupcodeName]]], row[columns.type], row[columns.year], row[columns.month], - MoneyUtils.getGross( - (row[columns.vat] ? parseFloat(row[columns.vat]) : 0.0), - (row[columns.price] ? parseFloat(row[columns.price]) : 0.0), - (row[columns.quantity] ? parseFloat(row[columns.quantity]) : 0.0), - (row[columns.discount] ? parseFloat(row[columns.discount]) : 0.0))); -}); - -forecast.forEach(function(row) -{ - var monthDate = new Date(row[columns.year], row[columns.month]-1); - monthDate = datetime.toDate(monthDate.getTime(), "MMM yyyy", "UTC"); - _addCount([row[columns.year], [row[columns.month], monthDate], [row[columns.groupcodeId], row[columns.groupcodeName]]], row[columns.type], row[columns.year], row[columns.month], row[columns.price]); -}); - -// create tree -for (let key in countData) { - var countDataSet = countData[key]; - treeData.push([key, countDataSet.parent, countDataSet.groupName, countDataSet.category, countDataSet[turnoverCategory], countDataSet[forecastCategory], parseInt(countDataSet.year), parseInt(countDataSet.month), parseInt(countDataSet.layer)]); -} - -treeData = TreeUtils.treeOrderBy(treeData, 8, [[6, true], [7, false], [2, false]]) -result.object(treeData); - -/** - * add the counts to countData for the given key and value - * @param {Array} pKeys an array containing all keys for this value. If the x-value for one key is different from the key-value: add an array [key, value] instead of only the key - * the first key is year - * @param {String} pCategory the category to add - * @param {integer} pYear the year - * @param {integer} pMonth the month - * @param {float} pValue the value to display - */ -function _addCount(pKeys, pCategory, pYear, pMonth, pValue) { - var key = ""; - - for (let i = 0; i < pKeys.length; i++) { - let keyId; - let keyName; - - if (typeof pKeys[i] != "object") - { - keyId = pKeys[i]; - keyName = pKeys[i]; - } - else // handle array: first is id seccond is name for X-value - { - keyId = pKeys[i][0]; - keyName = pKeys[i][1]; - } - var parent = key; - - key += ";" + keyId; - - if (countData[key] == undefined) - { - countData[key] = {parent: parent, category: pCategory, groupName: keyName, data: pKeys[i], year: pYear, month: pMonth, layer: i}; // keys[0] is the category - countData[key][forecastCategory] = 0.0; - countData[key][turnoverCategory] = 0.0; - } - - countData[key][pCategory] += parseFloat(pValue); - } +import("Turnover_lib"); +import("system.vars"); +import("system.result"); +import("Money_lib"); +import("Util_lib"); +import("system.datetime"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.translate"); + +var turnoverCategory = translate.text('Turnover'); +var forecastCategory = translate.text('Forecast'); + +var maxYear = parseInt(vars.get("$param.MaxYear_param")); +var yearCountToShow = parseInt(vars.get("$param.YearCountToShow_param")); +var minYear = maxYear - yearCountToShow + 1; + +var salesprojectId = vars.exists("$param.SalesprojectId_param") && vars.get("$param.SalesprojectId_param") ? vars.get("$param.SalesprojectId_param") : undefined; + +var showForecast = vars.exists("$param.ShowForecast_param") && vars.get("$param.ShowForecast_param") == "true"; +var showTurnover = vars.exists("$param.ShowTurnover_param") && vars.get("$param.ShowTurnover_param") == "true"; + +var turnover = []; +var forecast = []; + +if (showTurnover) + turnover = TurnoverUtil.getTurnoverData(maxYear, yearCountToShow, salesprojectId); + +if (showForecast) + forecast = TurnoverUtil.getForecastData(maxYear, yearCountToShow, salesprojectId); + +var columns = { + type: 0, + year: 1, + month: 2, + discount: 3, + vat: 4, + price: 5, + quantity: 6, + groupcodeId: 7, + groupcodeName: 8 +}; + +// combine both data sources + + +var treeData = []; +var countData = {}; + +turnover.forEach(function(row) +{ + var monthDate = new Date(row[columns.year], row[columns.month]-1); + monthDate = datetime.toDate(monthDate.getTime(), "MMM yyyy", "UTC"); + _addCount([row[columns.year], [row[columns.month], monthDate], [row[columns.groupcodeId], row[columns.groupcodeName]]], row[columns.type], row[columns.year], row[columns.month], + MoneyUtils.getGross( + (row[columns.vat] ? parseFloat(row[columns.vat]) : 0.0), + (row[columns.price] ? parseFloat(row[columns.price]) : 0.0), + (row[columns.quantity] ? parseFloat(row[columns.quantity]) : 0.0), + (row[columns.discount] ? parseFloat(row[columns.discount]) : 0.0))); +}); + +forecast.forEach(function(row) +{ + var monthDate = new Date(row[columns.year], row[columns.month]-1); + monthDate = datetime.toDate(monthDate.getTime(), "MMM yyyy", "UTC"); + _addCount([row[columns.year], [row[columns.month], monthDate], [row[columns.groupcodeId], row[columns.groupcodeName]]], row[columns.type], row[columns.year], row[columns.month], row[columns.price]); +}); + +// create tree +for (let key in countData) { + var countDataSet = countData[key]; + treeData.push([key, countDataSet.parent, countDataSet.groupName, countDataSet.category, countDataSet[turnoverCategory], countDataSet[forecastCategory], parseInt(countDataSet.year), parseInt(countDataSet.month), parseInt(countDataSet.layer)]); +} + +treeData = TreeUtils.treeOrderBy(treeData, 8, [[6, true], [7, false], [2, false]]) +result.object(treeData); + +/** + * add the counts to countData for the given key and value + * @param {Array} pKeys an array containing all keys for this value. If the x-value for one key is different from the key-value: add an array [key, value] instead of only the key + * the first key is year + * @param {String} pCategory the category to add + * @param {integer} pYear the year + * @param {integer} pMonth the month + * @param {float} pValue the value to display + */ +function _addCount(pKeys, pCategory, pYear, pMonth, pValue) { + var key = ""; + + for (let i = 0; i < pKeys.length; i++) { + let keyId; + let keyName; + + if (typeof pKeys[i] != "object") + { + keyId = pKeys[i]; + keyName = pKeys[i]; + } + else // handle array: first is id seccond is name for X-value + { + keyId = pKeys[i][0]; + keyName = pKeys[i][1]; + } + var parent = key; + + key += ";" + keyId; + + if (countData[key] == undefined) + { + countData[key] = {parent: parent, category: pCategory, groupName: keyName, data: pKeys[i], year: pYear, month: pMonth, layer: i}; // keys[0] is the category + countData[key][forecastCategory] = 0.0; + countData[key][turnoverCategory] = 0.0; + } + + countData[key][pCategory] += parseFloat(pValue); + } } \ No newline at end of file diff --git a/entity/Turnover_entity/Turnover_entity.aod b/entity/Turnover_entity/Turnover_entity.aod index 6c0f3b465bf10066800c6e56b117a90239061399..c586a65eeabff7e8e901d920442780c568cb6f19 100644 --- a/entity/Turnover_entity/Turnover_entity.aod +++ b/entity/Turnover_entity/Turnover_entity.aod @@ -1,99 +1,133 @@ -<?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> - <name>Turnover_entity</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <documentation>%aditoprj%/entity/Turnover_entity/documentation.adoc</documentation> - <title>Turnover</title> - <iconId>VAADIN:CHART</iconId> - <recordContainer>jdito</recordContainer> - <entityFields> - <entityProvider> - <name>#PROVIDER</name> - <recordContainer>jdito</recordContainer> - </entityProvider> - <entityField> - <name>UID</name> - <title>Year</title> - </entityField> - <entityField> - <name>Y</name> - <titleProcess>%aditoprj%/entity/Turnover_entity/entityfields/y/titleProcess.js</titleProcess> - </entityField> - <entityField> - <name>PARENT</name> - <title>Parent</title> - </entityField> - <entityField> - <name>CATEGORY</name> - <title>Category</title> - </entityField> - <entityField> - <name>X</name> - <title>Year</title> - <contentType>TEXT</contentType> - </entityField> - <entityParameter> - <name>YearCountToShow_param</name> - <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/yearcounttoshow_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <documentation>%aditoprj%/entity/Turnover_entity/entityfields/yearcounttoshow_param/documentation.adoc</documentation> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>MaxYear_param</name> - <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/maxyear_param/valueProcess.js</valueProcess> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="false" /> - <documentation>%aditoprj%/entity/Turnover_entity/entityfields/maxyear_param/documentation.adoc</documentation> - <description>PARAMETER</description> - </entityParameter> - <entityProvider> - <name>FilteredTurnovers</name> - <children> - <entityParameter> - <name>MaxYear_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>YearCountToShow_param</name> - <expose v="true" /> - </entityParameter> - </children> - </entityProvider> - <entityConsumer> - <name>Turnover_tree</name> - <dependency> - <name>dependency</name> - <entityName>TurnoverTree_entity</entityName> - <fieldName>FilteredTurnovers</fieldName> - </dependency> - <children> - <entityParameter> - <name>MaxYear_param</name> - <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/turnover_tree/children/maxyear_param/valueProcess.js</valueProcess> - </entityParameter> - <entityParameter> - <name>YearCountToShow_param</name> - <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/turnover_tree/children/yearcounttoshow_param/valueProcess.js</valueProcess> - </entityParameter> - </children> - </entityConsumer> - </entityFields> - <recordContainers> - <jDitoRecordContainer> - <name>jdito</name> - <jDitoRecordAlias>Data_alias</jDitoRecordAlias> - <contentProcess>%aditoprj%/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js</contentProcess> - <recordFields> - <element>UID.value</element> - <element>PARENT.value</element> - <element>CATEGORY.value</element> - <element>X.value</element> - <element>Y.value</element> - </recordFields> - </jDitoRecordContainer> - </recordContainers> -</entity> +<?xml version="1.0" encoding="UTF-8"?> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6"> + <name>Turnover_entity</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <documentation>%aditoprj%/entity/Turnover_entity/documentation.adoc</documentation> + <title>Turnover</title> + <iconId>VAADIN:CHART</iconId> + <recordContainer>jdito</recordContainer> + <entityFields> + <entityProvider> + <name>#PROVIDER</name> + <recordContainer>jdito</recordContainer> + </entityProvider> + <entityField> + <name>UID</name> + <title>Year</title> + </entityField> + <entityField> + <name>Y</name> + <titleProcess>%aditoprj%/entity/Turnover_entity/entityfields/y/titleProcess.js</titleProcess> + </entityField> + <entityField> + <name>PARENT</name> + <title>Parent</title> + </entityField> + <entityField> + <name>CATEGORY</name> + <title>Category</title> + </entityField> + <entityField> + <name>X</name> + <title>Year</title> + <contentType>TEXT</contentType> + </entityField> + <entityParameter> + <name>YearCountToShow_param</name> + <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/yearcounttoshow_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <documentation>%aditoprj%/entity/Turnover_entity/entityfields/yearcounttoshow_param/documentation.adoc</documentation> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>MaxYear_param</name> + <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/maxyear_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="false" /> + <documentation>%aditoprj%/entity/Turnover_entity/entityfields/maxyear_param/documentation.adoc</documentation> + <description>PARAMETER</description> + </entityParameter> + <entityProvider> + <name>FilteredTurnovers</name> + <dependencies> + <entityDependency> + <name>51106aba-bd82-4ac5-8de6-fc56d53c6117</name> + <entityName>Salesproject_entity</entityName> + <fieldName>SalesprojectForecastCharts</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>MaxYear_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>YearCountToShow_param</name> + <expose v="true" /> + </entityParameter> + </children> + </entityProvider> + <entityConsumer> + <name>Turnover_tree</name> + <dependency> + <name>dependency</name> + <entityName>TurnoverTree_entity</entityName> + <fieldName>FilteredTurnovers</fieldName> + </dependency> + <children> + <entityParameter> + <name>MaxYear_param</name> + <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/turnover_tree/children/maxyear_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>YearCountToShow_param</name> + <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/turnover_tree/children/yearcounttoshow_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ShowForecast_param</name> + <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/turnover_tree/children/showforecast_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>ShowTurnover_param</name> + <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/turnover_tree/children/showturnover_param/valueProcess.js</valueProcess> + </entityParameter> + <entityParameter> + <name>SalesprojectId_param</name> + <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/turnover_tree/children/salesprojectid_param/valueProcess.js</valueProcess> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>SalesprojectId_param</name> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>ShowForecast_param</name> + <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/showforecast_param/valueProcess.js</valueProcess> + <expose v="true" /> + </entityParameter> + <entityParameter> + <name>ShowTurnover_param</name> + <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/showturnover_param/valueProcess.js</valueProcess> + <expose v="true" /> + </entityParameter> + </entityFields> + <recordContainers> + <jDitoRecordContainer> + <name>jdito</name> + <jDitoRecordAlias>Data_alias</jDitoRecordAlias> + <contentProcess>%aditoprj%/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js</contentProcess> + <recordFields> + <element>UID.value</element> + <element>PARENT.value</element> + <element>CATEGORY.value</element> + <element>X.value</element> + <element>Y.value</element> + </recordFields> + </jDitoRecordContainer> + </recordContainers> +</entity> diff --git a/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js b/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js index 4f94c77a16d4c1158c06232d605d56ad62009d08..4bc466e09a0b790d85e446e033b8c9215ea310a3 100644 --- a/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js @@ -1,3 +1,4 @@ +import("system.logging"); import("Turnover_lib"); import("system.vars"); import("system.result"); @@ -14,7 +15,12 @@ var maxYear = parseInt(vars.get("$param.MaxYear_param")); var yearCountToShow = parseInt(vars.get("$param.YearCountToShow_param")); var minYear = maxYear - yearCountToShow + 1; -var data = TurnoverUtil.getTurnoverAndForecastData(maxYear, yearCountToShow); +var showForecast = vars.exists("$param.ShowForecast_param") && vars.get("$param.ShowForecast_param") == "true"; +var showTurnover = vars.exists("$param.ShowTurnover_param") && vars.get("$param.ShowTurnover_param") == "true"; + +var salesprojectId = vars.exists("$param.SalesprojectId_param") && vars.get("$param.SalesprojectId_param") ? vars.get("$param.SalesprojectId_param") : undefined; + +var data = TurnoverUtil.getTurnoverAndForecastData(maxYear, yearCountToShow, showForecast, showTurnover, salesprojectId); var columns = { type: 0, @@ -40,8 +46,12 @@ for (let y = minYear; y <= maxYear; y++) { monthDate = new Date(y, m-1); monthDate = datetime.toDate(monthDate.getTime(), "MMM yyyy", "UTC"); - _addCount([forecastCategory, ""+y, [m, monthDate]], 0.0); - _addCount([turnoverCategory, ""+y, [m, monthDate]], 0.0); + + if (showForecast) + _addCount([forecastCategory, ""+y, [m, monthDate]], 0.0); + + if (showTurnover) + _addCount([turnoverCategory, ""+y, [m, monthDate]], 0.0); } } diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index d2d589154dd5ac77102343155628cb70a1f8e57c..b30b51786c72e5988b9b20011f93baab13433025 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -3654,6 +3654,9 @@ <entry> <key>Search for new Entries</key> </entry> + <entry> + <key>Additional link</key> + </entry> <entry> <key>Salesproject member</key> </entry> @@ -3675,6 +3678,30 @@ <entry> <key>Step name</key> </entry> + <entry> + <key>Assignment</key> + </entry> + <entry> + <key>Complaint</key> + </entry> + <entry> + <key>Employee responsible</key> + </entry> + <entry> + <key>Restrictions</key> + </entry> + <entry> + <key>Advertising bans</key> + </entry> + <entry> + <key>Advertising ban</key> + </entry> + <entry> + <key>Delete appointment</key> + </entry> + <entry> + <key>Do you really want to delete this recurring appointment?</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 09fcc235ede94998445456baaa5a8d05e0ec2399..d2a221e67c604218be1190a9f6a8f52ad95a7ef4 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -6,26 +6,69 @@ <country></country> <variant></variant> <keyValueMap> + <entry> + <key>No mails</key> + <value>Keine E-Mails</value> + </entry> <entry> <key>Steps</key> <value>Stufen</value> </entry> + <entry> + <key>Assignment</key> + <value>Zuordnung</value> + </entry> <entry> <key>Project management</key> <value>Projektmanagement</value> </entry> + <entry> + <key>No calls</key> + <value>Keine Anrufe</value> + </entry> + <entry> + <key>No SMS</key> + </entry> + <entry> + <key>Restrictions</key> + <value>Einschränkungen</value> + </entry> <entry> <key>Notifications</key> <value>Benachrichtigungen</value> </entry> + <entry> + <key>Do you really want to delete this recurring appointment?</key> + <value>Wollen Sie wirklich die Serie löschen?</value> + </entry> + <entry> + <key>Advertising bans</key> + <value>Werbesperren</value> + </entry> <entry> <key>Add to Campaign</key> <value>Zu Kampagne hinzufügen</value> </entry> + <entry> + <key>No fax</key> + <value>Kein Fax</value> + </entry> + <entry> + <key>No letters</key> + <value>Keine Briefe</value> + </entry> <entry> <key>Company</key> <value>Firma</value> </entry> + <entry> + <key>Complaint</key> + <value>Reklamation</value> + </entry> + <entry> + <key>Advertising ban</key> + <value>Werbesperre</value> + </entry> <entry> <key>${SQL_LIB_FIELD_WRONG_FORMAT} field: %0</key> <value>Das Feld %0 hat ein falsches Format. Das Datenbankfeld muss wie "tablename.columnname" ("ORGANISATION.NAME") oder als Array mit Column-alias formatiert sein: ["ORGANISATION", "NAME", "myorgAlias"]</value> @@ -38,6 +81,10 @@ <key>Picture</key> <value>Bild</value> </entry> + <entry> + <key>New letter</key> + <value>Brief schreiben</value> + </entry> <entry> <key>Delivery specification</key> <value>Lieferbedingung</value> @@ -58,6 +105,10 @@ <key>Attribute \"%0\" has to be used at least %1.</key> <value>Eigenschaft \"%0\" muss mindestens %1 verwendet werden.</value> </entry> + <entry> + <key>Delete appointment</key> + <value>Termin löschen</value> + </entry> <entry> <key>Show tasks where I am editor</key> <value>Zeigt Aufgaben an wo ich Bearbeiter bin</value> @@ -66,6 +117,10 @@ <key>Confirm password</key> <value>Passwort prüfen</value> </entry> + <entry> + <key>Delete recurring appointment</key> + <value>Serie löschen</value> + </entry> <entry> <key>Human Resources</key> <value>Personal</value> @@ -318,6 +373,10 @@ <key>Office address</key> <value>Firmenadresse</value> </entry> + <entry> + <key>Additional link</key> + <value>Zusätzliche Verknüpfung</value> + </entry> <entry> <key>Contact</key> <value>Kontakt</value> @@ -4603,6 +4662,9 @@ <key>Step name</key> <value>Stufen Name</value> </entry> + <entry> + <key>Employee responsible</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index 4373adf32eff1fe69f2c0d4bbda6e59abea9a59f..56aced0208358b5e603a1a9a11d94bb7965c69fc 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -3703,6 +3703,9 @@ <entry> <key>Search for new Entries</key> </entry> + <entry> + <key>Additional link</key> + </entry> <entry> <key>Salesproject member</key> </entry> @@ -3724,6 +3727,30 @@ <entry> <key>Step name</key> </entry> + <entry> + <key>Assignment</key> + </entry> + <entry> + <key>Complaint</key> + </entry> + <entry> + <key>Employee responsible</key> + </entry> + <entry> + <key>Restrictions</key> + </entry> + <entry> + <key>Advertising bans</key> + </entry> + <entry> + <key>Advertising ban</key> + </entry> + <entry> + <key>Delete appointment</key> + </entry> + <entry> + <key>Do you really want to delete this recurring appointment?</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonContext/CommRestriction/CommRestriction.aod b/neonContext/CommRestriction/CommRestriction.aod new file mode 100644 index 0000000000000000000000000000000000000000..4b27ac29d8604030f95e86435e67a6d0249c4c59 --- /dev/null +++ b/neonContext/CommRestriction/CommRestriction.aod @@ -0,0 +1,24 @@ +<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> + <name>CommRestriction</name> + <title>Advertising ban</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterview>CommRestrictionFilter_view</filterview> + <editview>CommRestrictionSmallEdit_view</editview> + <preview>CommRestrictionPreview_view</preview> + <entity>CommRestriction_Entity</entity> + <references> + <neonViewReference> + <name>7979571d-6800-4379-a469-52c12cf5eb24</name> + <view>CommRestrictionFilter_view</view> + </neonViewReference> + <neonViewReference> + <name>395937e6-b085-4e54-855b-0ec31cf4cbb6</name> + <view>CommRestrictionSmallEdit_view</view> + </neonViewReference> + <neonViewReference> + <name>c0ffb2e0-0190-47ee-aa0a-e774fe5400fb</name> + <view>CommRestrictionPreview_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonContext/Mail/Mail.aod b/neonContext/Letter/Letter.aod similarity index 58% rename from neonContext/Mail/Mail.aod rename to neonContext/Letter/Letter.aod index 6c1b4c798c638d24c8953b7635eea0c4b2fa1dee..20634db2001feea9c35f014ae162a1d0bebe65a2 100644 --- a/neonContext/Mail/Mail.aod +++ b/neonContext/Letter/Letter.aod @@ -1,6 +1,12 @@ <?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> - <name>Mail</name> + <name>Letter</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <entity>Mail_entity</entity> + <entity>Letter_entity</entity> + <references> + <neonViewReference> + <name>470b4065-e632-4407-b708-dd5e1fb73441</name> + <view>LetterEdit_view</view> + </neonViewReference> + </references> </neonContext> diff --git a/neonContext/Salesproject/Salesproject.aod b/neonContext/Salesproject/Salesproject.aod index a7d8eda383934c413cd8c4aff7b82528a77c0e51..7132036f9565f46312c7cf84234512dc2c6d92a1 100644 --- a/neonContext/Salesproject/Salesproject.aod +++ b/neonContext/Salesproject/Salesproject.aod @@ -48,11 +48,19 @@ </neonViewReference> <neonViewReference> <name>d878f3b7-1de6-4319-93c7-0fff621c0458</name> - <view>SalesprojectTimeDocComp_view</view> + <view>SalesprojectFurtherInfo_view</view> </neonViewReference> <neonViewReference> <name>68e9257b-d402-4edc-8345-7da46c3b63f9</name> <view>SalesprojectClassificationAttribute_view</view> </neonViewReference> + <neonViewReference> + <name>99f70216-c195-4c08-a6ab-3a4d5acc759b</name> + <view>SalesprojectClassScoreAttribute_view</view> + </neonViewReference> + <neonViewReference> + <name>b3e34681-eef6-48d3-a4e6-975a6fe77e7b</name> + <view>SalesprojectOfferForecastChart_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonContext/Timetracking/Timetracking.aod b/neonContext/Timetracking/Timetracking.aod index 72386c6a08a480cb48e2a1513e25880dcf5eb81e..1cd5118750a6c5d10e0cda5a363edabdb0709682 100644 --- a/neonContext/Timetracking/Timetracking.aod +++ b/neonContext/Timetracking/Timetracking.aod @@ -23,5 +23,17 @@ <name>1afcd6f9-1692-4df7-b514-32c1db2f7dd1</name> <view>TimetrackingDrawer_view</view> </neonViewReference> + <neonViewReference> + <name>069607bf-ed69-494c-bbe4-399bb51298ca</name> + <view>TimetrackingScore_view</view> + </neonViewReference> + <neonViewReference> + <name>9dcc5766-f0ac-4c7e-8b93-0ea5b648a1ac</name> + <view>TimetrackingAnalyses_view</view> + </neonViewReference> + <neonViewReference> + <name>1290dad5-f796-4847-9510-05607e079f30</name> + <view>TimetrackingAnalysesDrawer_view</view> + </neonViewReference> </references> </neonContext> diff --git a/neonContext/Turnover/Turnover.aod b/neonContext/Turnover/Turnover.aod index 7a814c64dee57940c0d197731e0966af3496f44e..5df6c0decce32ba96ff348f00c39c5ebcf890765 100644 --- a/neonContext/Turnover/Turnover.aod +++ b/neonContext/Turnover/Turnover.aod @@ -1,14 +1,18 @@ -<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> - <name>Turnover</name> - <title>Turnover</title> - <majorModelMode>DISTRIBUTED</majorModelMode> - <filterview>TurnoverChart_view</filterview> - <entity>Turnover_entity</entity> - <references> - <neonViewReference> - <name>41a2a339-d41d-47e7-8416-4bd788a269af</name> - <view>TurnoverChart_view</view> - </neonViewReference> - </references> -</neonContext> +<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> + <name>Turnover</name> + <title>Turnover</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterview>TurnoverChart_view</filterview> + <entity>Turnover_entity</entity> + <references> + <neonViewReference> + <name>41a2a339-d41d-47e7-8416-4bd788a269af</name> + <view>TurnoverChart_view</view> + </neonViewReference> + <neonViewReference> + <name>539f403e-f2c2-4459-9193-fefc236204ad</name> + <view>TurnoverChartForecast_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonContext/TurnoverTree/TurnoverTree.aod b/neonContext/TurnoverTree/TurnoverTree.aod index dd58059574471965dda75ac4c260bf7e1ca88684..db435f45709145fd4856b9f71263d25ff762db41 100644 --- a/neonContext/TurnoverTree/TurnoverTree.aod +++ b/neonContext/TurnoverTree/TurnoverTree.aod @@ -1,13 +1,17 @@ -<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> - <name>TurnoverTree</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <filterview>TurnoverTree_view</filterview> - <entity>TurnoverTree_entity</entity> - <references> - <neonViewReference> - <name>b8135e50-da8e-424c-9073-e721b4822736</name> - <view>TurnoverTree_view</view> - </neonViewReference> - </references> -</neonContext> +<?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.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0"> + <name>TurnoverTree</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterview>TurnoverTree_view</filterview> + <entity>TurnoverTree_entity</entity> + <references> + <neonViewReference> + <name>b8135e50-da8e-424c-9073-e721b4822736</name> + <view>TurnoverTree_view</view> + </neonViewReference> + <neonViewReference> + <name>407eda43-5b44-4bae-980a-8ba522b0a5fe</name> + <view>TurnoverTreeForecast_view</view> + </neonViewReference> + </references> +</neonContext> diff --git a/neonView/AppointmentPreview_view/AppointmentPreview_view.aod b/neonView/AppointmentPreview_view/AppointmentPreview_view.aod index beabd6985997e61880b70f11c9dff950e0d36ea7..e20d0cb34ddbdb17e918cb2994fccf15ca155a3c 100644 --- a/neonView/AppointmentPreview_view/AppointmentPreview_view.aod +++ b/neonView/AppointmentPreview_view/AppointmentPreview_view.aod @@ -25,6 +25,7 @@ <organizerField>ORGANIZER</organizerField> <categoriesField>CATEGORIES</categoriesField> <favoriteActionGroup1>PartStatActionGroup</favoriteActionGroup1> + <favoriteActionGroup2>seriesActionGroup</favoriteActionGroup2> <entityField>#ENTITY</entityField> </appointmentPreviewViewTemplate> <neonViewReference> diff --git a/neonView/ClassificationDrawer_view/ClassificationDrawer_view.aod b/neonView/ClassificationDrawer_view/ClassificationDrawer_view.aod index 4f3c0065ecf038cd2d66c0ee3aefbeef34ef2451..bf5c00139312d39c09ff953040f9051d947b06a4 100644 --- a/neonView/ClassificationDrawer_view/ClassificationDrawer_view.aod +++ b/neonView/ClassificationDrawer_view/ClassificationDrawer_view.aod @@ -10,7 +10,7 @@ </layout> <children> <neonViewReference> - <name>be8f5d17-80ab-49c4-8153-f90aa23667cd</name> + <name>ddde18ed-2617-4f7e-9a6b-71e4625e2cdc</name> <entityField>#ENTITY</entityField> <view>ClassificationTree_view</view> </neonViewReference> diff --git a/neonView/CommRestrictionFilter_view/CommRestrictionFilter_view.aod b/neonView/CommRestrictionFilter_view/CommRestrictionFilter_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..24de7ce4fbf7b428903a17047f86487df4bbb425 --- /dev/null +++ b/neonView/CommRestrictionFilter_view/CommRestrictionFilter_view.aod @@ -0,0 +1,42 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>CommRestrictionFilter_view</name> + <title>Restrictions</title> + <description>Restrictions</description> + <majorModelMode>DISTRIBUTED</majorModelMode> + <filterable v="true" /> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <tableViewTemplate> + <name>CommRestrictions</name> + <entityField>#ENTITY</entityField> + <title>Restrictions</title> + <columns> + <neonTableColumn> + <name>3d47a693-e589-413c-8b0c-30399b074f14</name> + <entityField>ICON</entityField> + </neonTableColumn> + <neonTableColumn> + <name>f3d79ce8-2518-4515-9d9d-6642b763a045</name> + <entityField>MEDIUM</entityField> + </neonTableColumn> + <neonTableColumn> + <name>b34ef3a6-ae5d-4610-bc29-0f6e1b6fe9c8</name> + <entityField>STARTDATE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>ddcf9043-75aa-4685-965e-7b0a9ab818b3</name> + <entityField>EMPLOYEE_INVOLVED</entityField> + </neonTableColumn> + <neonTableColumn> + <name>307fb85b-8626-4754-b6d1-a2f713856361</name> + <entityField>REASON</entityField> + </neonTableColumn> + </columns> + </tableViewTemplate> + </children> +</neonView> diff --git a/neonView/CommRestrictionPreview_view/CommRestrictionPreview_view.aod b/neonView/CommRestrictionPreview_view/CommRestrictionPreview_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..e9990acb9b83de1dcc59b11b8cda78d7f36848b9 --- /dev/null +++ b/neonView/CommRestrictionPreview_view/CommRestrictionPreview_view.aod @@ -0,0 +1,36 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>CommRestrictionPreview_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <cardViewTemplate> + <name>Header</name> + <iconField>ICON</iconField> + <titleField>MEDIUM</titleField> + <subtitleField>EMPLOYEE_INVOLVED</subtitleField> + <entityField>#ENTITY</entityField> + <informationField></informationField> + </cardViewTemplate> + <genericViewTemplate> + <name>Info</name> + <showDrawer v="false" /> + <drawerCaption></drawerCaption> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>d55f5122-0987-4c47-a586-9fa2fe6eb0ee</name> + <entityField>STARTDATE</entityField> + </entityFieldLink> + <entityFieldLink> + <name>bd1adc73-5e86-4fed-aa4a-2436405cba09</name> + <entityField>REASON</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/CommRestrictionSmallEdit_view/CommRestrictionSmallEdit_view.aod b/neonView/CommRestrictionSmallEdit_view/CommRestrictionSmallEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..ec3f3f60e2f71b6a728e92aaafb45523baf8c34e --- /dev/null +++ b/neonView/CommRestrictionSmallEdit_view/CommRestrictionSmallEdit_view.aod @@ -0,0 +1,36 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>CommRestrictionSmallEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <isSmall v="true" /> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <genericViewTemplate> + <name>Generic</name> + <editMode v="true" /> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>fd6609a0-1437-4c2a-b3a5-69affe1c35c7</name> + <entityField>MEDIUM</entityField> + </entityFieldLink> + <entityFieldLink> + <name>c1fbcb41-30c9-4221-b187-7abbb7bb9a88</name> + <entityField>STARTDATE</entityField> + </entityFieldLink> + <entityFieldLink> + <name>c0ad0471-85a8-40fa-82ce-61ea43678291</name> + <entityField>EMPLOYEE_INVOLVED</entityField> + </entityFieldLink> + <entityFieldLink> + <name>c537286d-1ed5-44cf-99cd-d513f154169d</name> + <entityField>REASON</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/CompetitionFilter_view/CompetitionFilter_view.aod b/neonView/CompetitionFilter_view/CompetitionFilter_view.aod index c48e69551e83641f2ca6a28c4da6b8f51b2c4e6a..ee11fb7b578a391278031ea436d0dc069118646e 100644 --- a/neonView/CompetitionFilter_view/CompetitionFilter_view.aod +++ b/neonView/CompetitionFilter_view/CompetitionFilter_view.aod @@ -14,6 +14,10 @@ <autoNewRow v="true" /> <entityField>#ENTITY</entityField> <columns> + <neonTableColumn> + <name>dd971a3f-297e-4055-9961-77faea60236e</name> + <entityField>IMAGE</entityField> + </neonTableColumn> <neonTableColumn> <name>47821fb3-d178-4a54-9ec4-d78232e9b4de</name> <entityField>CONTACT_ID</entityField> diff --git a/neonView/ForecastPreview_view/ForecastPreview_view.aod b/neonView/ForecastPreview_view/ForecastPreview_view.aod index 7e6bbac9e4a08e144b3c23f17c79fb3d3775ceb3..15dd0b69ad006af106d3ecc1b99c97559e07ee96 100644 --- a/neonView/ForecastPreview_view/ForecastPreview_view.aod +++ b/neonView/ForecastPreview_view/ForecastPreview_view.aod @@ -16,7 +16,7 @@ <entityField>#ENTITY</entityField> </cardViewTemplate> <genericViewTemplate> - <name>Info</name> + <name>Detail</name> <showDrawer v="true" /> <drawerCaption>Details</drawerCaption> <entityField>#ENTITY</entityField> @@ -26,7 +26,23 @@ <entityField>VOLUME</entityField> </entityFieldLink> <entityFieldLink> - <name>745f1f28-49a0-4c35-9c1a-e442d15716dc</name> + <name>7261d58e-7534-4877-b5cd-f05201823711</name> + <entityField>OBJECT_TYPE</entityField> + </entityFieldLink> + <entityFieldLink> + <name>af76713a-9f84-4f5c-965f-eba5c5ca3abc</name> + <entityField>OBJECT_ROWID</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + <genericViewTemplate> + <name>Info</name> + <showDrawer v="true" /> + <drawerCaption>Description</drawerCaption> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>c2c10cf6-0ae8-4895-8160-766a845b5d17</name> <entityField>INFO</entityField> </entityFieldLink> </fields> diff --git a/neonView/LetterEdit_view/LetterEdit_view.aod b/neonView/LetterEdit_view/LetterEdit_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..7aba66bd4f4c32eadbcb5a5bb4ef17b03ba49462 --- /dev/null +++ b/neonView/LetterEdit_view/LetterEdit_view.aod @@ -0,0 +1,24 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>LetterEdit_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <isSmall v="true" /> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <genericViewTemplate> + <name>Template</name> + <editMode v="true" /> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>5919fb0b-13d8-4cd3-8110-89722d97f4e1</name> + <entityField>DOCUMENT_TEMPLATE</entityField> + </entityFieldLink> + </fields> + </genericViewTemplate> + </children> +</neonView> diff --git a/neonView/MemberFilter_view/MemberFilter_view.aod b/neonView/MemberFilter_view/MemberFilter_view.aod index 6a719214fa3920b2d2d60bbd6f9304580727a415..6cb554e3122427d6e8490a38aa55d541dd6e2069 100644 --- a/neonView/MemberFilter_view/MemberFilter_view.aod +++ b/neonView/MemberFilter_view/MemberFilter_view.aod @@ -14,17 +14,17 @@ <entityField>#ENTITY</entityField> <columns> <neonTableColumn> - <name>8bdd903b-0cd0-4327-bd24-3643d61d3de0</name> - <entityField>ICON</entityField> - </neonTableColumn> - <neonTableColumn> - <name>27e658bc-c134-4fef-a3a5-b172852d606e</name> - <entityField>ORGANISATION_NAME</entityField> + <name>8b6b6eeb-6246-414f-95f6-453b71e4a9db</name> + <entityField>IMAGE</entityField> </neonTableColumn> <neonTableColumn> <name>59e6aea1-9752-48b5-9d91-43edd0c1d670</name> <entityField>PERSON_FULL_NAME</entityField> </neonTableColumn> + <neonTableColumn> + <name>27e658bc-c134-4fef-a3a5-b172852d606e</name> + <entityField>ORGANISATION_NAME</entityField> + </neonTableColumn> <neonTableColumn> <name>bea82980-0639-405a-ab3f-92e45f97090e</name> <entityField>ROLE</entityField> diff --git a/neonView/OfferEdit_view/OfferEdit_view.aod b/neonView/OfferEdit_view/OfferEdit_view.aod index ddc985c18e01bf4f507eb9fda9e4bfb88077a6b1..3a765ca016e808592f7055ab94928d61812d3a07 100644 --- a/neonView/OfferEdit_view/OfferEdit_view.aod +++ b/neonView/OfferEdit_view/OfferEdit_view.aod @@ -20,6 +20,14 @@ <name>1b323e80-820d-402a-98d2-f3649ec8e91f</name> <entityField>CONTACT_ID</entityField> </entityFieldLink> + <entityFieldLink> + <name>c96356b6-d18f-4944-af5b-a646faed33c9</name> + <entityField>OBJECT_TYPE</entityField> + </entityFieldLink> + <entityFieldLink> + <name>ff271393-be47-446c-b6b3-6c84dfa881e5</name> + <entityField>OBJECT_ROWID</entityField> + </entityFieldLink> <entityFieldLink> <name>767a9e6e-596b-4903-aa86-7bc0f66cd037</name> <entityField>STATUS</entityField> @@ -40,10 +48,6 @@ <name>7ab3eb65-b713-4251-9eb1-3119432565f5</name> <entityField>LANGUAGE</entityField> </entityFieldLink> - <entityFieldLink> - <name>ac6f81a2-5012-461a-bcf1-4534182b0973</name> - <entityField>SALESPROJECT_ID</entityField> - </entityFieldLink> <entityFieldLink> <name>7a9b0943-eb06-4b44-a111-ed4e2749da6a</name> <entityField>DELIVERYTERMS</entityField> diff --git a/neonView/PersonMain_view/PersonMain_view.aod b/neonView/PersonMain_view/PersonMain_view.aod index 04377a5d65098f9fc8b2cc7898adc34fc860b6eb..d7b85d058b7e60ea08089e418d8fedc3743ae0b5 100644 --- a/neonView/PersonMain_view/PersonMain_view.aod +++ b/neonView/PersonMain_view/PersonMain_view.aod @@ -49,6 +49,11 @@ <entityField>OtherContacts</entityField> <view>ContactList_view</view> </neonViewReference> + <neonViewReference> + <name>265efe97-d759-476c-9546-0f339d56474d</name> + <entityField>CommRestrictions</entityField> + <view>CommRestrictionFilter_view</view> + </neonViewReference> <neonViewReference> <name>5754fc3a-c81c-42ba-90ea-2859b10bb391</name> <entityField>LogHistoryConsumer</entityField> diff --git a/neonView/PersonSimpleList_view/PersonSimpleList_view.aod b/neonView/PersonSimpleList_view/PersonSimpleList_view.aod index 8e19ab83993f99e0cc98e64ff384e70aeeeb4c3c..2a722d60584ebeb2e459d0eb1fbdbcbf062b7bb7 100644 --- a/neonView/PersonSimpleList_view/PersonSimpleList_view.aod +++ b/neonView/PersonSimpleList_view/PersonSimpleList_view.aod @@ -2,6 +2,7 @@ <neonView 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/neonView/1.1.1"> <name>PersonSimpleList_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> + <filterable v="true" /> <layout> <boxLayout> <name>layout</name> diff --git a/neonView/SalesprojectClassScoreAttribute_view/SalesprojectClassScoreAttribute_view.aod b/neonView/SalesprojectClassScoreAttribute_view/SalesprojectClassScoreAttribute_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..b4be33213fddde4a13b792abccc9c06282f78b42 --- /dev/null +++ b/neonView/SalesprojectClassScoreAttribute_view/SalesprojectClassScoreAttribute_view.aod @@ -0,0 +1,29 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>SalesprojectClassScoreAttribute_view</name> + <title>Classification</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <scoreCardViewTemplate> + <name>ClassificationScore</name> + <entityField>#ENTITY</entityField> + <title>Classification score</title> + <fields> + <entityFieldLink> + <name>14afcf9d-d168-4962-8503-8d590b994b62</name> + <entityField>ClassificationResult</entityField> + </entityFieldLink> + </fields> + </scoreCardViewTemplate> + <neonViewReference> + <name>1af0e58c-db49-41c3-b7ce-d69498070699</name> + <entityField>#ENTITY</entityField> + <view>SalesprojectClassificationAttribute_view</view> + </neonViewReference> + </children> +</neonView> diff --git a/neonView/SalesprojectClassificationAttribute_view/SalesprojectClassificationAttribute_view.aod b/neonView/SalesprojectClassificationAttribute_view/SalesprojectClassificationAttribute_view.aod index 12ee08acd9ac1f2a9193b15bedb3c9a43fa9b699..3eeaf9dcdfd46cbe4f0dc6741ef7df459aa1abb5 100644 --- a/neonView/SalesprojectClassificationAttribute_view/SalesprojectClassificationAttribute_view.aod +++ b/neonView/SalesprojectClassificationAttribute_view/SalesprojectClassificationAttribute_view.aod @@ -1,14 +1,13 @@ <?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> <name>SalesprojectClassificationAttribute_view</name> - <title>Bewertung</title> + <title></title> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <boxLayout> <name>layout</name> - <direction>HORIZONTAL</direction> + <direction>VERTICAL</direction> <maxDirectionElements v="2" /> - <autoHeight v="false" /> </boxLayout> </layout> <children> @@ -18,8 +17,8 @@ <view>ClassificationDrawer_view</view> </neonViewReference> <neonViewReference> - <name>e54114a1-3031-47f5-b27b-9774fc5225c5</name> - <entityField>Attributes</entityField> + <name>ead8bff9-3870-4956-a89b-19cafecf39fb</name> + <entityField>AttributeTree</entityField> <view>AttributeRelationTreeDrawer_view</view> </neonViewReference> </children> diff --git a/neonView/SalesprojectTimeDocComp_view/SalesprojectTimeDocComp_view.aod b/neonView/SalesprojectFurtherInfo_view/SalesprojectFurtherInfo_view.aod similarity index 81% rename from neonView/SalesprojectTimeDocComp_view/SalesprojectTimeDocComp_view.aod rename to neonView/SalesprojectFurtherInfo_view/SalesprojectFurtherInfo_view.aod index 770985b37d98c8663bce5182ea1ab133a5139718..2aff0cef7c723beb6fd590c0b53c7209f7c80f64 100644 --- a/neonView/SalesprojectTimeDocComp_view/SalesprojectTimeDocComp_view.aod +++ b/neonView/SalesprojectFurtherInfo_view/SalesprojectFurtherInfo_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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> - <name>SalesprojectTimeDocComp_view</name> + <name>SalesprojectFurtherInfo_view</name> <title>Further informations</title> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> @@ -17,9 +17,9 @@ <view>TimetrackingDrawer_view</view> </neonViewReference> <neonViewReference> - <name>baccab92-37f1-4a33-9662-771323996adf</name> - <entityField>Documents</entityField> - <view>DocumentDrawer_view</view> + <name>5d00dd5a-7c80-41b4-a53e-29375be4f806</name> + <entityField>Timetrackings</entityField> + <view>TimetrackingAnalyses_view</view> </neonViewReference> <neonViewReference> <name>4dcc3fdd-6683-435c-95c1-a59597fc3e71</name> diff --git a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod index b10c6e54996d3441746a4558e3851b6f50bd689d..d3967c08b2b64f507a61eb540387ef2f5c75011f 100644 --- a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod +++ b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod @@ -25,19 +25,24 @@ <view>SalesprojectMilestoneSource_view</view> </neonViewReference> <neonViewReference> - <name>1cd0f7cc-bda9-40b1-ba46-7bdd28c0bef2</name> + <name>67659a20-068f-4522-ad33-2c35e29f929a</name> <entityField>#ENTITY</entityField> - <view>SalesprojectClassificationAttribute_view</view> + <view>SalesprojectClassScoreAttribute_view</view> </neonViewReference> <neonViewReference> - <name>16ef2fde-0b5f-4545-b065-80738b2388fc</name> + <name>3da4532a-716f-4ff2-a8bc-c29d4f7cb9fb</name> <entityField>#ENTITY</entityField> - <view>SalesprojectOfferForecast_view</view> + <view>SalesprojectOfferForecastChart_view</view> </neonViewReference> <neonViewReference> - <name>1ff890f4-58e1-441f-a714-1faabbf3744b</name> + <name>aa801bbd-df49-419b-959a-1664b2c31274</name> <entityField>#ENTITY</entityField> - <view>SalesprojectTimeDocComp_view</view> + <view>SalesprojectFurtherInfo_view</view> + </neonViewReference> + <neonViewReference> + <name>ccdbb3f1-6b18-4cdd-a0cb-22d8bddd7150</name> + <entityField>Documents</entityField> + <view>DocumentFilter_view</view> </neonViewReference> <neonViewReference> <name>6ed5fc92-1056-418f-a0b7-3d55414efe3a</name> diff --git a/neonView/SalesprojectMemberActivity_view/SalesprojectMemberActivity_view.aod b/neonView/SalesprojectMemberActivity_view/SalesprojectMemberActivity_view.aod index fbe4c90ef72d87bd581912c5f65b4f7b0aef6532..97d0bf8e350a4236539d53af6fe6968c81d70126 100644 --- a/neonView/SalesprojectMemberActivity_view/SalesprojectMemberActivity_view.aod +++ b/neonView/SalesprojectMemberActivity_view/SalesprojectMemberActivity_view.aod @@ -1,24 +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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> <name>SalesprojectMemberActivity_view</name> - <title>Projektteam und Aktivitäten</title> + <title>Activities</title> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <boxLayout> <name>layout</name> + <direction>VERTICAL</direction> + <maxDirectionElements v="0" /> <autoHeight v="false" /> </boxLayout> </layout> <children> - <neonViewReference> - <name>5e9b2286-227e-494d-a252-be29a50a093a</name> - <entityField>Activities</entityField> - <view>ActivityDrawer_view</view> - </neonViewReference> <neonViewReference> <name>ebf752f4-653d-4de3-9c81-c3e6ef692c48</name> <entityField>Members</entityField> <view>MemberDrawer_view</view> </neonViewReference> + <neonViewReference> + <name>5e9b2286-227e-494d-a252-be29a50a093a</name> + <entityField>Activities</entityField> + <view>ActivityDrawer_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/SalesprojectMilestoneSource_view/SalesprojectMilestoneSource_view.aod b/neonView/SalesprojectMilestoneSource_view/SalesprojectMilestoneSource_view.aod index af24daab68b399092e28a9f2eb2a119295bcea46..d6fe201f6f85dd9b83cad36a53eec49eba92358e 100644 --- a/neonView/SalesprojectMilestoneSource_view/SalesprojectMilestoneSource_view.aod +++ b/neonView/SalesprojectMilestoneSource_view/SalesprojectMilestoneSource_view.aod @@ -1,7 +1,7 @@ <?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> <name>SalesprojectMilestoneSource_view</name> - <title>Meilensteine und Kontaktpunkte</title> + <title>Milestones</title> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <boxLayout> diff --git a/neonView/SalesprojectOfferForecastChart_view/SalesprojectOfferForecastChart_view.aod b/neonView/SalesprojectOfferForecastChart_view/SalesprojectOfferForecastChart_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..01eb43892b0905d4af84d65541676cfa485ff47f --- /dev/null +++ b/neonView/SalesprojectOfferForecastChart_view/SalesprojectOfferForecastChart_view.aod @@ -0,0 +1,24 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>SalesprojectOfferForecastChart_view</name> + <title>Forecast</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + <direction>HORIZONTAL</direction> + </boxLayout> + </layout> + <children> + <neonViewReference> + <name>d37e05d3-659f-4d96-9d86-277b4d95090b</name> + <entityField>#ENTITY</entityField> + <view>SalesprojectOfferForecast_view</view> + </neonViewReference> + <neonViewReference> + <name>58ff872a-234f-44ce-a670-99521cdcfd8d</name> + <entityField>SalesprojectForecastCharts</entityField> + <view>TurnoverChartForecast_view</view> + </neonViewReference> + </children> +</neonView> diff --git a/neonView/SalesprojectOfferForecast_view/SalesprojectOfferForecast_view.aod b/neonView/SalesprojectOfferForecast_view/SalesprojectOfferForecast_view.aod index 1dd424987fa8f479dfb515eb3ab28ab6dc8e619a..3352fab3622ad8c4090bd5dacb3769eeb0efd25e 100644 --- a/neonView/SalesprojectOfferForecast_view/SalesprojectOfferForecast_view.aod +++ b/neonView/SalesprojectOfferForecast_view/SalesprojectOfferForecast_view.aod @@ -1,7 +1,7 @@ <?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> <name>SalesprojectOfferForecast_view</name> - <title>Angebot und Forecast</title> + <title>Forecast</title> <majorModelMode>DISTRIBUTED</majorModelMode> <layout> <boxLayout> diff --git a/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod b/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod index f3476905c33387705685cdc1e6a87bacc435d6e1..00440c6f2a3a5ec1a24f67a96c148d7300aaf2ab 100644 --- a/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod +++ b/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod @@ -14,6 +14,10 @@ <autoNewRow v="true" /> <entityField>#ENTITY</entityField> <columns> + <neonTableColumn> + <name>03bb4d6e-0371-4175-aaa2-43d43bd4ff60</name> + <entityField>ICON</entityField> + </neonTableColumn> <neonTableColumn> <name>4931127b-117d-4b1c-81ba-81ac2162f1b7</name> <entityField>ENTRYDATE</entityField> @@ -23,7 +27,7 @@ <entityField>SOURCE</entityField> </neonTableColumn> <neonTableColumn> - <name>e5660207-7b70-4ac6-b5b5-b87a54d5b032</name> + <name>304ed9dd-0f3d-45b2-9195-cc145775f16d</name> <entityField>INFO</entityField> </neonTableColumn> </columns> diff --git a/neonView/TaskFilter_view/TaskFilter_view.aod b/neonView/TaskFilter_view/TaskFilter_view.aod index 36538160f32f47a8e26957c0e5fec4b32d4fd0e5..3905f143e7f2d0e26ee1035e00c624014db7fc81 100644 --- a/neonView/TaskFilter_view/TaskFilter_view.aod +++ b/neonView/TaskFilter_view/TaskFilter_view.aod @@ -51,6 +51,10 @@ <name>3cd319ea-5a06-409c-a7ce-1c87beff62d2</name> <entityField>PRIORITY_ICON</entityField> </neonTableColumn> + <neonTableColumn> + <name>14749e3a-9b53-40d7-90ba-d6681978b2ea</name> + <entityField>TYPE</entityField> + </neonTableColumn> <neonTableColumn> <name>591cd079-a8e9-49aa-8a2d-afb643aef079</name> <entityField>SUBJECT</entityField> @@ -73,6 +77,9 @@ <treeTableViewTemplate> <name>TasksTreeTable</name> <favoriteActionGroup1>tableActions</favoriteActionGroup1> + <defaultGroupFields> + <element>TYPE</element> + </defaultGroupFields> <entityField>#ENTITY</entityField> <columns> <neonTableColumn> diff --git a/neonView/TaskPreview_view/TaskPreview_view.aod b/neonView/TaskPreview_view/TaskPreview_view.aod index c9c0f3de9c6e3d68e0c1dc6ebd087b106832b759..54a1ed4e5d71c2382a0cf0355e51964edcc01ec2 100644 --- a/neonView/TaskPreview_view/TaskPreview_view.aod +++ b/neonView/TaskPreview_view/TaskPreview_view.aod @@ -14,7 +14,7 @@ <iconField>PRIORITY_ICON</iconField> <titleField>SUBJECT</titleField> <subtitleField>CODE</subtitleField> - <descriptionField>STATUS</descriptionField> + <descriptionField>TYPE</descriptionField> <favoriteAction1>newActivity</favoriteAction1> <entityField>#ENTITY</entityField> </cardViewTemplate> @@ -23,6 +23,10 @@ <showDrawer v="true" /> <entityField>#ENTITY</entityField> <fields> + <entityFieldLink> + <name>d054335b-7a54-4380-a543-54c4ffc643c4</name> + <entityField>STATUS</entityField> + </entityFieldLink> <entityFieldLink> <name>f988850e-53ed-443d-bd3d-16946eba656e</name> <entityField>START_DATE</entityField> diff --git a/neonView/TimetrackingAnalysesDrawer_view/TimetrackingAnalysesDrawer_view.aod b/neonView/TimetrackingAnalysesDrawer_view/TimetrackingAnalysesDrawer_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..54a798e53dfc64fbb47782b8b243471cef54a469 --- /dev/null +++ b/neonView/TimetrackingAnalysesDrawer_view/TimetrackingAnalysesDrawer_view.aod @@ -0,0 +1,18 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>TimetrackingAnalysesDrawer_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <drawerLayout> + <name>layout</name> + <layoutCaption>Time</layoutCaption> + </drawerLayout> + </layout> + <children> + <neonViewReference> + <name>8b5f7d80-65fa-477c-bf74-65aae4befe96</name> + <entityField>#ENTITY</entityField> + <view>TimetrackingAnalyses_view</view> + </neonViewReference> + </children> +</neonView> diff --git a/neonView/TimetrackingAnalyses_view/TimetrackingAnalyses_view.aod b/neonView/TimetrackingAnalyses_view/TimetrackingAnalyses_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..73b0197c31dc7ad10cab5db81584d11943e72bee --- /dev/null +++ b/neonView/TimetrackingAnalyses_view/TimetrackingAnalyses_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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>TimetrackingAnalyses_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <groupLayout> + <name>layout</name> + </groupLayout> + </layout> + <children> + <singleDataChartViewTemplate> + <name>Pie</name> + <chartType>PIE</chartType> + <xAxis>YEAR</xAxis> + <yAxis>MINUTES</yAxis> + <entityField>#ENTITY</entityField> + </singleDataChartViewTemplate> + <multiDataChartViewTemplate> + <name>MultiDataChart</name> + <chartType>BAR</chartType> + <xAxis>DATE</xAxis> + <yAxis>MINUTES</yAxis> + <entityField>#ENTITY</entityField> + </multiDataChartViewTemplate> + </children> +</neonView> diff --git a/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod b/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod index bbd4c498bd926c7c73a75d483b9a360dd4d012e2..1ef0b41db42040c914b5bfc041ba6878cdfe2399 100644 --- a/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod +++ b/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod @@ -9,25 +9,33 @@ </layout> <children> <genericViewTemplate> - <name>TimetrackingInfo_template</name> + <name>Details</name> <showDrawer v="true" /> - <drawerCaption>Information</drawerCaption> + <drawerCaption>Details</drawerCaption> <entityField>#ENTITY</entityField> <fields> - <entityFieldLink> - <name>64005996-e735-4c5d-bdb7-29aaf8851107</name> - <entityField>DATE</entityField> - </entityFieldLink> <entityFieldLink> <name>835197c0-2e0c-4989-8d5b-80ccd064d55e</name> <entityField>CONTACT_ID</entityField> </entityFieldLink> + <entityFieldLink> + <name>64005996-e735-4c5d-bdb7-29aaf8851107</name> + <entityField>DATE</entityField> + </entityFieldLink> <entityFieldLink> <name>25921a31-5563-4a74-aa7e-67d660c60f0b</name> <entityField>MINUTES</entityField> </entityFieldLink> + </fields> + </genericViewTemplate> + <genericViewTemplate> + <name>Info</name> + <showDrawer v="true" /> + <drawerCaption>Description</drawerCaption> + <entityField>#ENTITY</entityField> + <fields> <entityFieldLink> - <name>54123bdf-3008-4597-9f30-fc2877a274f7</name> + <name>76a33027-65cc-4943-8e96-20b35880a3cd</name> <entityField>INFO</entityField> </entityFieldLink> </fields> diff --git a/neonView/TimetrackingScore_view/TimetrackingScore_view.aod b/neonView/TimetrackingScore_view/TimetrackingScore_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..a52446d439af1b14db96512e2f345f23a968a2ca --- /dev/null +++ b/neonView/TimetrackingScore_view/TimetrackingScore_view.aod @@ -0,0 +1,22 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>TimetrackingScore_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <noneLayout> + <name>layout</name> + </noneLayout> + </layout> + <children> + <scoreCardViewTemplate> + <name>time</name> + <entityField>#ENTITY</entityField> + <fields> + <entityFieldLink> + <name>56f043bf-6ff2-45c0-af48-1c4bf16456cf</name> + <entityField>TOTALTIME</entityField> + </entityFieldLink> + </fields> + </scoreCardViewTemplate> + </children> +</neonView> diff --git a/neonView/TurnoverChartForecast_view/TurnoverChartForecast_view.aod b/neonView/TurnoverChartForecast_view/TurnoverChartForecast_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..f9a11b4fb652cb3fe115241ac977110d7e364a04 --- /dev/null +++ b/neonView/TurnoverChartForecast_view/TurnoverChartForecast_view.aod @@ -0,0 +1,77 @@ +<?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.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1"> + <name>TurnoverChartForecast_view</name> + <title>Forecast</title> + <majorModelMode>DISTRIBUTED</majorModelMode> + <dashletConfigurations> + <neonDashletConfiguration> + <name>TurnoverDashlet</name> + <title>Turnover</title> + <fragment>Turnover/full</fragment> + <singleton v="true" /> + <storeRoles> + <element>INTERNAL_ADMINISTRATOR</element> + <element>INTERNAL_DASHBOARDSTOREADMIN</element> + </storeRoles> + <icon>VAADIN:CHART</icon> + <categories> + <neonDashletCategory> + <name>turnover</name> + <title>Turnover</title> + </neonDashletCategory> + </categories> + </neonDashletConfiguration> + </dashletConfigurations> + <layout> + <groupLayout> + <name>layout</name> + </groupLayout> + </layout> + <children> + <multiDataChartViewTemplate> + <name>ColumnChart</name> + <chartType>COLUMN</chartType> + <xAxis>X</xAxis> + <yAxis>Y</yAxis> + <parentField>PARENT</parentField> + <categoryField>CATEGORY</categoryField> + <entityField>#ENTITY</entityField> + </multiDataChartViewTemplate> + <multiDataChartViewTemplate> + <name>LineChart</name> + <chartType>LINE</chartType> + <xAxis>X</xAxis> + <yAxis>Y</yAxis> + <parentField>PARENT</parentField> + <categoryField>CATEGORY</categoryField> + <entityField>#ENTITY</entityField> + </multiDataChartViewTemplate> + <multiDataChartViewTemplate> + <name>AreaChart</name> + <chartType>AREA</chartType> + <xAxis>X</xAxis> + <yAxis>Y</yAxis> + <parentField>PARENT</parentField> + <categoryField>CATEGORY</categoryField> + <entityField>#ENTITY</entityField> + </multiDataChartViewTemplate> + <multiDataChartViewTemplate> + <name>BarChart</name> + <chartType>BAR</chartType> + <xAxis>X</xAxis> + <yAxis>Y</yAxis> + <parentField>PARENT</parentField> + <categoryField>CATEGORY</categoryField> + <entityField>#ENTITY</entityField> + </multiDataChartViewTemplate> + <multiDataChartViewTemplate> + <name>SplineChart</name> + <chartType>SPLINE</chartType> + <xAxis>X</xAxis> + <yAxis>Y</yAxis> + <parentField>PARENT</parentField> + <categoryField>CATEGORY</categoryField> + <entityField>#ENTITY</entityField> + </multiDataChartViewTemplate> + </children> +</neonView> diff --git a/process/ActivityTask_lib/process.js b/process/ActivityTask_lib/process.js index d502802ce34c25af3f60529f0861dd85fd1b758e..174dfc5ff20cada09eeae3c7f92fa5802f1907cc 100644 --- a/process/ActivityTask_lib/process.js +++ b/process/ActivityTask_lib/process.js @@ -129,9 +129,14 @@ TaskUtils.getTypeAttributes = function(pType) return JSON.parse(KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "attributes", "[]")); } -TaskUtils.getTypeStatusKeyword = function(pType) +TaskUtils.getAvailableStatus = function(pType) { - return KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "status", $KeywordRegistry.taskStatus()); + return JSON.parse(KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "availableStatus", "")); +} + +TaskUtils.getDefaultStatus = function(pType) +{ + return KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "defaultStatus", ""); } TaskUtils.getShowCode = function(pType) @@ -139,10 +144,9 @@ TaskUtils.getShowCode = function(pType) return KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "showCode", true); } -TaskUtils.getStatusIcon = function(pType, pStatus) +TaskUtils.getStatusIcon = function(pStatus) { - var status = TaskUtils.getTypeStatusKeyword(pType) - return KeywordUtils.getAttributeRelation(pStatus, status, "icon", "NEON:STATUS_NOT_STARTED"); + return KeywordUtils.getAttributeRelation(pStatus, $KeywordRegistry.taskStatus(), "icon", "NEON:STATUS_NOT_STARTED"); } /** diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js index 36027c8eab59335e45a24aab12db5b811853be0b..2f4ca9d4d11839ea4ab8db73ff94f05003737433 100644 --- a/process/Campaign_lib/process.js +++ b/process/Campaign_lib/process.js @@ -204,7 +204,7 @@ CampaignUtils.getCampaignStartDate = function(pCapmaignId) { let campaignIdCondition = SqlCondition.begin() .andPrepare("CAMPAIGNSTEP.CAMPAIGN_ID", pCapmaignId); - return db.cell(campaignIdCondition.buildSql("SELECT DATE_START, SORTING FROM ADITO.CAMPAIGNSTEP", "1=2", "order by SORTING ASC")); + return db.cell(campaignIdCondition.buildSql("SELECT DATE_START, SORTING FROM CAMPAIGNSTEP", "1=2", "order by SORTING ASC")); } /** diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js index 4acb61c1fa2ec39af73cbaf26ffa5e7eddf08117..ff5df134798558eafcd98923670be52beb28cafa 100644 --- a/process/Context_lib/process.js +++ b/process/Context_lib/process.js @@ -1,3 +1,5 @@ +import("system.logging"); +import("system.db"); import("system.translate"); import("system.project"); import("system.vars"); @@ -85,10 +87,11 @@ ContextUtils.getContextConsumer = function(pContextId) * @param {String[]} [pExclusiveContexts] contextIds that shall not be included (so this is a additional filter to the pFilter param) * @param {Boolean} [pUseExclusives=false] decides whether the items in pExclusiveContexts are excluded (false) or * everything that is not in pExclusiveContexts is excluded (true) + * @param {String[]} [pWhitelist=undefined] only allowed contexts * * @return {String[][]} the contexts [[contextId, contextName, contextTitle], [... ], ...] */ -ContextUtils.getContexts = function(pFilter, pExclusiveContexts, pUseExclusives) +ContextUtils.getContexts = function(pFilter, pExclusiveContexts, pUseExclusives, pWhitelist) { if (pFilter == undefined) pFilter = false; @@ -114,6 +117,13 @@ ContextUtils.getContexts = function(pFilter, pExclusiveContexts, pUseExclusives) return true; }); } + + if (pWhitelist) + { + contexts = contexts.filter(function(pContext) { + return (pWhitelist.indexOf(pContext[0]) >= 0); + }); + } return contexts.map(ContextUtils._contextDataMapping).sort(function(pContext1, pContext2) { @@ -436,6 +446,23 @@ ContextUtils.getNameSql = function(pContextId, pRowId) return "select 1 from person where 1=2"; } +/** + * TODO: !!!temporary function until you can get fields from another Entity!!! + */ +ContextUtils.getContactId = function(pContextId, pRowId) +{ + var selectMap = ContextUtils.getSelectMap () + if (selectMap[pContextId] != undefined && selectMap[pContextId].contactIdField) + { + + return db.cell(SqlCondition.begin().andPrepare(selectMap[pContextId].getFullIdField(), pRowId) + .buildSql("select " + selectMap[pContextId].contactIdField + + " from " + selectMap[pContextId].tableName, "1 = 2")); + } + else + return ""; +} + /** * TODO: !!!temporary function until you can get fields from another Entity!!! */ diff --git a/process/DocumentTemplate_lib/process.js b/process/DocumentTemplate_lib/process.js index 209f427347d35b9dc4a7f6185953ef17cf8103fc..668d7bae7b93b8062d1fba687085232f19db3989 100644 --- a/process/DocumentTemplate_lib/process.js +++ b/process/DocumentTemplate_lib/process.js @@ -1,3 +1,5 @@ +import("system.neon"); +import("system.logging"); import("Employee_lib"); import("KeywordRegistry_basic"); import("Document_lib"); @@ -17,12 +19,14 @@ import("system.mail"); import("Keyword_lib"); /** - * Object for working with document templates + * Object for working with document templates, holds the content and type of the template. + * Provides functions to replace placeholders in the content. */ -function DocumentTemplate (pTemplateContent, pType) +function DocumentTemplate (pTemplateContent, pType, pFilename) { this.content = pTemplateContent; this.type = pType; + this.filename = pFilename; } /** @@ -30,32 +34,32 @@ function DocumentTemplate (pTemplateContent, pType) * the correct method for replacing the placeholders can be chosen */ DocumentTemplate.types = { - TXT : "TXT", - HTML : "HTML", - EML : "EML", - ODT : "ODT", - DOCX : "DOCX" + TXT : "txt", + HTML : "html", + EML : "eml", + ODT : "odt", + DOCX : "docx" }; +/** + * Loads the content of a document template and creates a new DocumentTemplate object with that. + * + * @param {String} pTemplateId id of the template + * + * @return {DocumentTemplate} template object + */ DocumentTemplate.loadTemplate = function (pTemplateId) { var alias = "_____SYSTEMALIAS"; var templateDocument = db.getBinaryMetadata("DOCUMENTTEMPLATE", "DOCUMENT", pTemplateId, false, alias, null); if (!templateDocument[0]) - return null; + return new DocumentTemplate(); var binaryId = templateDocument[0][db.BINARY_ID]; - var type = DocumentUtil.getFileExtensionFromUpload(templateDocument[0][db.BINARY_FILENAME]); - var typeMap = { - txt : DocumentTemplate.types.TXT, - html : DocumentTemplate.types.HTML, - eml : DocumentTemplate.types.EML, - odt : DocumentTemplate.types.ODT, - docx : DocumentTemplate.types.DOCX - }; - type = typeMap[type]; //choose the document type depending on the file extension + var filename = templateDocument[0][db.BINARY_FILENAME]; + var type = DocumentUtil.getFileExtensionFromUpload(filename); if (binaryId) - return new DocumentTemplate(util.decodeBase64String(db.getBinaryContent(binaryId, alias)), type); - return null; + return new DocumentTemplate(db.getBinaryContent(binaryId, alias), type, filename); + return new DocumentTemplate(); } DocumentTemplate.prototype.toString = function () @@ -64,9 +68,12 @@ DocumentTemplate.prototype.toString = function () } /** - * returns the template content with replaced placeholders + * Returns the template content with replaced placeholders by choosing the right + * replace function for the type. * * @param {Object} pReplacements map, the structure is {placeholder : value} + * + * @return {String} the replaced content */ DocumentTemplate.prototype.getReplacedContent = function (pReplacements) { @@ -100,10 +107,30 @@ DocumentTemplate.prototype.getReplacedContentByContactId = function (pContactId) return this.getReplacedContent(replacements); } +/** + * replaces placeholders for EML + * + * @param {Object} pReplacements mapping with replacements for every placeholder + * + * @return {String} the replaced content + */ DocumentTemplate.prototype._getReplacedEML = function (pReplacements) { - var email = mail.parseRFC(this.content); - + var email = mail.parseRFC(this.content, "UTF-8"); + var htmlText = email[mail.MAIL_HTMLTEXT]; + return text.replaceAll(htmlText, pReplacements); +} + +/** + * replaces placeholders for plain text + * + * @param {Object} pReplacements mapping with replacements for every placeholder + * + * @return {String} the replaced content + */ +DocumentTemplate.prototype._getReplacedText = function (pReplacements) +{ + return text.replaceAll(this.content, pReplacements); } @@ -115,14 +142,14 @@ DocumentTemplate.prototype._getReplacedEML = function (pReplacements) * * @return {String} base64-encoded replaced file */ -DocumentTemplate.prototype._getReplacedODT = function (pAddrDataCondition, pAddressID) +DocumentTemplate.prototype._getReplacedODT = function (pReplacements) { //save the file on the server so it can be unzipped via pack.getFromZip var serverFilePath = vars.get("$sys.servertemp") + "/clientid_" + vars.get("$sys.clientid") - + "/" + util.getNewUUID(); - + + "/" + util.getNewUUID() + "/" + this.filename.replace(/\\/g, "/"); + fileIO.storeData(serverFilePath, this.content, util.DATA_BINARY, false); - if (!_replaceODTFile(pAddrDataCondition, serverFilePath, pAddressID)) + if (!_replaceODTFile(pReplacements, serverFilePath)) return null; var replacedFileData = fileIO.getData(serverFilePath, util.DATA_BINARY); @@ -139,20 +166,13 @@ DocumentTemplate.prototype._getReplacedODT = function (pAddrDataCondition, pAddr * * @return {Boolean} */ - function _replaceODTFile (pCondition, pODTFileName, pAddressID) + function _replaceODTFile (pReplacements, pODTFileName) { - // Configuration für die Platzhalter - var config = PlaceholderUtils.getPlaceholders(); //["RELATIONID","fieldname","RELATION.RELATIONID"] var senderRelId = EmployeeUtils.getCurrentContactId(); if (senderRelId == null) return false; - var addrdata = getAddressesData(pCondition, config, senderRelId, pAddressID); - if (addrdata.length > 1) + if (Object.keys(pReplacements).length) { - var relationids = []; - for (let i = 1; i < addrdata.length; i++ ) - relationids.push(addrdata[i][0]); - // ersetzen Platzhalter in content.xml var textS = util.decodeBase64String(pack.getFromZip(pODTFileName, "content.xml")); @@ -161,26 +181,22 @@ DocumentTemplate.prototype._getReplacedODT = function (pAddrDataCondition, pAddr var body = textS.substring( bodybegin, bodyend ); var lastbody = textS.substr( bodyend ); textS = textS.substring( 0, bodybegin ); - for (let i = 1; i < addrdata.length; i++) + for (let placeholder in pReplacements) { - var bulkbody = body; - for (let ii = 0; ii < addrdata[0].length; ii++) - { - bulkbody = bulkbody.replace(new RegExp(getDefaultODTplaceholer(addrdata[0][ii]), "ig"), - addrdata[i][ii].replace(/\n/ig, "<text:line-break/>").replace(/&/ig, "&") ); - } - textS += bulkbody; + body = body.replace(placeholder, + pReplacements[placeholder].replace(/\n/ig, "<text:line-break/>").replace(/&/ig, "&"), "ig"); } - textS += lastbody; - pack.addToZip(pODTFile, "content.xml", util.encodeBase64String(textS)) + textS += body; + textS += lastbody; + pack.addToZip(pODTFileName, "content.xml", util.encodeBase64String(textS)) // ersetzen Platzhalter in styles.xml var styles = util.decodeBase64String(pack.getFromZip(pODTFileName, "styles.xml")); - for (let i = 0; i < addrdata[0].length; i++) + for (let placeholder in pReplacements) { - styles = styles.replace(new RegExp( getDefaultODTplaceholer(addrdata[0][i]), "ig"), - addrdata[1][i].replace(/\n/ig, "<text:line-break/>").replace(/&/ig, "&")); + styles = styles.replace(placeholder, + pReplacements[placeholder].replace(/\n/ig, "<text:line-break/>").replace(/&/ig, "&"), "ig"); } - pack.addToZip(pODTFile, "styles.xml", util.encodeBase64String(styles)); + pack.addToZip(pODTFileName, "styles.xml", util.encodeBase64String(styles)); return true; } return false; @@ -199,7 +215,7 @@ DocumentTemplate.prototype._getReplacedDOCX = function (pReplacements) //this is executed as a process because of better performance var documentData = process.execute("getDocxDocument_serverProcess", { templateb64: this.content, - placeholderConfig: JSON.stringify(pReplacements) //process.execute is only able to handle strings + placeholderConfig: JSON.stringify(PlaceholderUtils.removePreAndPostFix(pReplacements)) //process.execute is only able to handle strings }); return documentData; @@ -212,6 +228,9 @@ function DocumentTemplateUtils () {} /** * loads a document template and replaces the placeholders + * + * @param {String} pTemplateId id of the document template + * @param {String} pContactId the contact whose address data is used */ DocumentTemplateUtils.getSingleReplacedDocument = function (pTemplateId, pContactId) { @@ -219,22 +238,20 @@ DocumentTemplateUtils.getSingleReplacedDocument = function (pTemplateId, pContac return template.getReplacedTextByContactId(pContactId); } -/** - * @return {Object} map with placeholders and their definition - */ -DocumentTemplateUtils._getPlaceholderConfig = function () -{ - return KeywordData.getKeywordAttributeRelations($KeywordRegistry.textPlaceholder()); -} - function PlaceholderUtils () {} +/** + * placeholder types, defines how the value is acquired + */ PlaceholderUtils.types = { ADDRESSFORMAT : "ADDRESSFORMAT", SQLPART : "SQLPART", SQLPARTFUNCTION : "SQLPARTFUNCTION" }; +/** + * placeholder targets, defines whose data is used + */ PlaceholderUtils.targets = { RECIPIENT : "RECIPIENT", SENDER : "SENDER", @@ -247,12 +264,39 @@ PlaceholderUtils.targets = { */ PlaceholderUtils.formatPlaceholder = function (pPlaceholder) { - return "@@" + pPlaceholder + "@@"; + return "{@" + pPlaceholder + "@}"; } +/** + * Removes the prefix and postfix from the pReplacements map. This is required for the docxTemplater + * where they are added separately + */ +PlaceholderUtils.removePreAndPostFix = function (pReplacements) +{ + var unformattedReplacements = {}; + for (let placeholder in pReplacements) + { + let unformatted = placeholder.slice(2, -2); + unformattedReplacements[unformatted] = pReplacements[placeholder] + } + return unformattedReplacements; +} +/** + * gets the placeholder configuration + * + * @return {Array} array of placeholders + */ PlaceholderUtils.getPlaceholders = function () { + /** + * represents a placeholder + * + * @param {String} pName name of the placeholder (without prefix and postfix) + * @param {String} pType type of the placeholder, see PlaceholderUtils.types + * @param {String|Function} pValueDef string or function (depends on the type) defining the value + * @param {String} [pTarget] what contact is used to get the data, see PlaceholderUtils.targets + */ function Placeholder (pName, pType, pValueDef, pTarget) { this.placeholderName = PlaceholderUtils.formatPlaceholder(pName); @@ -293,3 +337,16 @@ PlaceholderUtils.getPlaceholders = function () return placeholders; } + +/** + * functions for working with letters + */ +function LetterUtils () {} + +LetterUtils.openNewLetter = function (pContactId) +{ + var params = { + "ContactId_param" : pContactId + }; + neon.openContext("Letter", "LetterEdit_view", null, neon.OPERATINGSTATE_NEW, params); +} \ No newline at end of file diff --git a/process/Email_lib/process.js b/process/Email_lib/process.js index c43437496fa0846d3a518ca3a744fa2fea84c6df..a6ad5a29ba938a3f1fa4e94bbe9db7b1661ea0cf 100644 --- a/process/Email_lib/process.js +++ b/process/Email_lib/process.js @@ -1,3 +1,4 @@ +import("system.logging"); import("system.translate"); import("system.text"); import("system.db"); @@ -27,7 +28,7 @@ EmailUtils.openMailTemplate = function (pToRecipients, pSenderContactId, pTempla if (pTemplateId) email.setTemplate(pTemplateId, pRecipientContactId); - email.downloadEML(); + email.openMail(); } /** @@ -124,6 +125,7 @@ Email.prototype.getMailtoUrl = function () */ Email.prototype.getRFCmail = function () { + logging.log(this.body) var ENCODING = "UTF-8"; var mailId = mail.newMail(); diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index f97b3dd58f8ae7b669e05217b93612467b14057f..39b295bbd9d4e28c27a554f212252b7c73af4f28 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -104,4 +104,6 @@ $KeywordRegistry.personGender$other = function(){return "o";}; $KeywordRegistry.permissionCondType = function(){return "PermissionCondType";}; $KeywordRegistry.permissionAccessType = function(){return "PermissionAccessType";}; -$KeywordRegistry.textPlaceholder = function(){return "textPlaceholder";}; \ No newline at end of file +$KeywordRegistry.textPlaceholder = function(){return "textPlaceholder";}; + +$KeywordRegistry.communicationMediumCampaign = function(){return "CommunicationMediumCampaign";}; \ No newline at end of file diff --git a/process/Offer_lib/process.js b/process/Offer_lib/process.js index 775014bc6015e74f03439a0f807c51e6da9b34c0..1fb2ad442fd2b6f4800dc0cfb2cb9f4500b2c69c 100644 --- a/process/Offer_lib/process.js +++ b/process/Offer_lib/process.js @@ -67,12 +67,15 @@ OfferUtils.isEditable = function(status) { /** * Create a new offer and open the offer context in NEW-mode */ -OfferUtils.createNewOffer = function(pSalesprojectId, pRelationId) +OfferUtils.createNewOffer = function(pContextId, pRowId, pRelationId) { var params = {}; - if (pSalesprojectId) - params["SalesprojectId_param"] = pSalesprojectId; + if (pRowId && pContextId) + { + params["ObjectRowId_param"] = pRowId; + params["ObjectType_param"] = pContextId; + } if (pRelationId) params["ContactId_param"] = pRelationId; @@ -106,8 +109,9 @@ OfferUtils.openOfferReport = function (pOfferID) "VAT", sqlUtil.isNull("VERSNR", "0"), sqlUtil.isNull("OFFERCODE", "0"), - "OBJECT_ROWID", //12 - "FOOTER" //13 + "OBJECT_TYPE", //12 + "OBJECT_ROWID", //13 + "FOOTER" //14 ]; var offerSql = SqlCondition.begin() @@ -196,7 +200,7 @@ OfferUtils.openOfferReport = function (pOfferID) item[5], //itemposition item[6], //productcode offerData[8], //header - offerData[13], //footer + offerData[14], //footer text.formatDouble(item[9], translate.text("#,##0"), true), //quantity text.formatDouble(item[10], translate.text("#,##0.00"), true), //price text.formatDouble(item[11], translate.text("0.00"), true), //discount @@ -296,7 +300,7 @@ OfferUtils.openOfferReport = function (pOfferID) * @param {String} [pPaymentTerm=""] * @param {String} [pSalesprojectId=""] */ -OfferUtils.copyOffer = function (pOfferId, pContactId, pLanguage, pCurrency, pHeader, pFooter, pDeliveryTerm, pPaymentTerm, pSalesprojectId) +OfferUtils.copyOffer = function (pOfferId, pContactId, pLanguage, pCurrency, pHeader, pFooter, pDeliveryTerm, pPaymentTerm, pObjectType, pRowId) { var params = { "ContactId_param" : pContactId, @@ -307,7 +311,8 @@ OfferUtils.copyOffer = function (pOfferId, pContactId, pLanguage, pCurrency, pHe "OfferFooter_param" : pFooter || "", "OfferDeliveryTerm_param" : pDeliveryTerm || "", "OfferPaymentTerm_param" : pPaymentTerm || "", - "SalesprojectId_param" : pSalesprojectId || "" + "ObjectType_param" : pObjectType || "", + "ObjectRowId_param" : pRowId || "" }; neon.openContext("Offer", null, null, neon.OPERATINGSTATE_NEW, params); } diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js index 0818e818157e53e530f7d6fef22d6ec40220aae2..29b27316f3b33d9fadf8e53fc6d4c2e2a16a5892 100644 --- a/process/Sql_lib/process.js +++ b/process/Sql_lib/process.js @@ -115,8 +115,13 @@ SqlCondition.prototype.or = function(cond) { * @return {SqlCondition} current SqlCondition-object */ SqlCondition.prototype.andAttachPrepared = function(preparedObj) { - this.preparedValues = this.preparedValues.concat(preparedObj[1]); - return this.and(preparedObj[0]); + if (preparedObj) + { + this.preparedValues = this.preparedValues.concat(preparedObj[1]); + return this.and(preparedObj[0]); + } + + return this; } /** @@ -125,8 +130,13 @@ SqlCondition.prototype.andAttachPrepared = function(preparedObj) { * @return {SqlCondition} current SqlCondition-object */ SqlCondition.prototype.orAttachPrepared = function(preparedObj) { - this.preparedValues.push(preparedObj[1]); - return this.or(preparedObj[0]); + if (preparedObj) + { + this.preparedValues = this.preparedValues.concat(preparedObj[1]); + return this.or(preparedObj[0]); + } + + return this; } /** @@ -289,6 +299,74 @@ SqlCondition.prototype.orPrepareVars = function(field, variable, cond, fieldType return this; } +/** + * creates a IN-statement out of a field and an array of values. + * Be carefull with a big number of values. This may have a bad performance. + * + * @param {String | String[]} field the database field as "tablename.columnname"; e.g. "ORGANISATION.NAME" or as array with column-alias: ["ORGANISATION", "NAME", "myorgAlias"] + * @param {String[]} values the value that shall be set into the prepared statement + * @param {Numeric | Boolean} [fieldType] SQL-column-type; if the fieldType is not given it's loaded automatically; + * The loaded type is cached if no type is given. So it is also safe to use this in a loop. + * e.g. + * for (...) { + * cond.andPrepare("SALESPROJECT_CLASSIFICATION.TYPE", entry, "# <> ?") + * } + * @param {Boolean} [not = undefined] if true, add not before in + * @return {SqlCondition} current SqlCondition-object + */ +SqlCondition.prototype.andIn = function(field, values, fieldType, not) { + return this.andAttachPrepared(this._in(field, values, fieldType, not)); +} + +/** + * creates a IN-statement out of a field and an array of values. + * Be carefull with a big number of values. This may have a bad performance. + * + * @param {String | String[]} field the database field as "tablename.columnname"; e.g. "ORGANISATION.NAME" or as array with column-alias: ["ORGANISATION", "NAME", "myorgAlias"] + * @param {String[]} values the value that shall be set into the prepared statement + * @param {Numeric | Boolean} [fieldType] SQL-column-type; if the fieldType is not given it's loaded automatically; + * The loaded type is cached if no type is given. So it is also safe to use this in a loop. + * e.g. + * for (...) { + * cond.andPrepare("SALESPROJECT_CLASSIFICATION.TYPE", entry, "# <> ?") + * } + * @param {Boolean} [not = undefined] if true, add not before in + * @return {SqlCondition} current SqlCondition-object + */ +SqlCondition.prototype.orIn = function(field, values, fieldType, not) { + return this.orAttachPrepared(this._in(field, values, fieldType, not)); +} + +/** + * creates a IN-statement out of a field and an array of values. + * Be carefull with a big number of values. This may have a bad performance. + * + * @param {String | String[]} field the database field as "tablename.columnname"; e.g. "ORGANISATION.NAME" or as array with column-alias: ["ORGANISATION", "NAME", "myorgAlias"] + * @param {String[]} values the value that shall be set into the prepared statement + * @param {Numeric | Boolean} [fieldType] SQL-column-type; if the fieldType is not given it's loaded automatically; + * The loaded type is cached if no type is given. So it is also safe to use this in a loop. + * e.g. + * for (...) { + * cond.andPrepare("SALESPROJECT_CLASSIFICATION.TYPE", entry, "# <> ?") + * } + * @param {Boolean} [not = undefined] if true, add not before in + * @return {SqlCondition} current SqlCondition-object + */ +SqlCondition.prototype._in = function(field, values, fieldType, not) { + if (values.length > 0) + { + if (fieldType == undefined) + fieldType = SqlUtils.getSingleColumnType(field, undefined, this.alias); + + preparedStatement = SqlUtils.getSqlInStatement(field, values, undefined, true, fieldType); + if (not) + preparedStatement[0] = " not " + preparedStatement[0]; + return preparedStatement; + } + + return null; +} + /** * ready to use string; does not contain a where keyword at the beginning * @param {String} [alternativeCond=""] condition that is returned when nothing has been appended. @@ -1314,17 +1392,29 @@ SqlUtils.getSystemAlias = function() * @param {String} pFieldname req name of the field with table alias * z.B ORGREL.CONTACTID * @param {String[]|String[][]} pData req Data as ID Array - * @param {String} pQuoteSymbol opt symbol for quoting values, + * @param {String} [pQuoteSymbol=""] symbol for quoting values, * Strings i.e.: ' default is no symbol + * @param {Boolean} [pAsPrepared=undefined] true if result should be returned as prepared condition + * @param {Boolean} [pPreparedDbType=undefined] if pAsPrepared is true, this param has to be filld with the correct db type * - * @return {String} SQL condition: where VALS in (1,2,3) + * @return {String|Array} SQL condition: where VALS in (1,2,3) OR as prepared Statement if pAsPrepared is true ["VALS in (1,2,3)", [...] */ -SqlUtils.getSqlInStatement = function(pFieldname, pData, pQuoteSymbol) { +SqlUtils.getSqlInStatement = function(pFieldname, pData, pQuoteSymbol, pAsPrepared, pPreparedDbType) { if (pData.length == 0) return " 1 = 2 "; var res = ""; var qs = pQuoteSymbol || ""; + + var preparedValues; + if (pAsPrepared) + { + preparedValues = []; + if (!pPreparedDbType) + { + throw new Error(translate.text("SqlUtils.getSqlInStatement: if pAsPrepared is true, pPreparedDbType has to be filld with the correct db type")); + } + } var MAX_COUNT = 1000; //pData.length -1 um für den Fall, dass MAX_COUNT == pData.length ist trotzdem nur einen Aufruf @@ -1334,17 +1424,36 @@ SqlUtils.getSqlInStatement = function(pFieldname, pData, pQuoteSymbol) { for (var i = 0; i <= count; i++) { if (i > 0) - res += "or "; - - res += pFieldname + " in (" + qs + pData.slice(i * MAX_COUNT, i * MAX_COUNT + MAX_COUNT) - .join(qs + ", " + qs) + qs + ") "; + res += " or "; + + if (pAsPrepared) + { + res += pFieldname + " in ("; + var subData = pData.slice(i * MAX_COUNT, i * MAX_COUNT + MAX_COUNT); + + subData.forEach(function(pVal, pIndex) { + res += "?"; + preparedValues.push([pVal, pPreparedDbType]) + if (pIndex != subData.length-1) + res += ", "; + }); + res += ")" + } + else + { + res += pFieldname + " in (" + qs + pData.slice(i * MAX_COUNT, i * MAX_COUNT + MAX_COUNT) + .join(qs + ", " + qs) + qs + ") "; + } } //wenn mehrere Zeilen mit "or" verknüpft wurden nochmal klammern if (count > 0) res = "(" + res + ")"; - return res; + if (pAsPrepared) + return [res, preparedValues]; + else + return res; } /** diff --git a/process/Turnover_lib/process.js b/process/Turnover_lib/process.js index d7747ebd9dabeb7b24059e5da0a5e53d94be0254..1eedb36bf59f7bb920e7989cbc2de1003679fea5 100644 --- a/process/Turnover_lib/process.js +++ b/process/Turnover_lib/process.js @@ -1,78 +1,97 @@ -import("system.translate"); -import("KeywordRegistry_basic"); -import("Keyword_lib"); -import("system.SQLTYPES"); -import("system.db"); -import("system.neon"); -import("Context_lib"); - -/** - * Methods used for turnover data. - * Do not create an instance of this! - * - * @class - */ -function TurnoverUtil() {} - -/** - * get all turnover data. - * - * @param {Number} pMaxYear the maximum year - * @param {Number} pYearCount count of years to select - * - * @return {String[][]} - */ -TurnoverUtil.getTurnoverData = function (pMaxYear, pYearCount) -{ - var turnoverCategory = translate.text('Turnover'); - - var minYear = pMaxYear - pYearCount + 1; - - // load data - var data = db.table(SqlCondition.begin() - .and("SALESORDERITEM.OPTIONAL <> 1") - .andPrepare("SALESORDER.SALESORDERDATE", pMaxYear, "year(#) <= ?", SQLTYPES.INTEGER) - .andPrepare("SALESORDER.SALESORDERDATE", minYear, "year(#) >= ?", SQLTYPES.INTEGER) - .buildSql("select '" + turnoverCategory + "', year(SALESORDERDATE) yearNum, month(SALESORDERDATE) monthNum, SALESORDERITEM.DISCOUNT discount, SALESORDERITEM.VAT vat, SALESORDERITEM.PRICE price, sum(SALESORDERITEM.QUANTITY) quantity, SALESORDERITEM.GROUPCODEID prodGroup, (" + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "SALESORDERITEM.GROUPCODEID") + ") prodGroupName \n\ - from SALESORDER \n\ - join SALESORDERITEM on SALESORDERITEM.SALESORDER_ID = SALESORDER.SALESORDERID", "1=2", "group by year(SALESORDERDATE), month(SALESORDERDATE), SALESORDERITEM.GROUPCODEID, SALESORDERITEM.DISCOUNT, SALESORDERITEM.VAT, SALESORDERITEM.PRICE \n\ - order by yearNum, monthNum ")); - - return data; -} - -/** - * get forecast data - * - * @param {Number} pMaxYear the maximum year - * @param {Number} pYearCount count of years to select - * - * @return {String[][]} - */ -TurnoverUtil.getForecastData = function (pMaxYear, pYearCount) -{ - var forecastCategory = translate.text('Forecast'); - - var minYear = pMaxYear - pYearCount + 1; - - // load data - var data = db.table(SqlCondition.begin() - .andPrepare("FORECAST.DATE_START", pMaxYear, "year(#) <= ?", SQLTYPES.INTEGER) - .andPrepare("FORECAST.DATE_START", minYear, "year(#) >= ?", SQLTYPES.INTEGER) - .buildSql("select '" + forecastCategory + "', year(DATE_START) yearNum, month(DATE_START) monthNum, 0 discount, 0 vat, sum(VOLUME) price, 1 quantity, GROUPCODE prodGroup, (" + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "GROUPCODE") + ") prodGroupName from FORECAST", "1=2", " group by year(DATE_START), month(DATE_START), GROUPCODE order by yearNum, monthNum")) - - return data; -} - -/** - * get turnover data - * - * @param {Number} pMaxYear the maximum year - * @param {Number} pYearCount count of years to select - * - * @return {String[][]} - */ -TurnoverUtil.getTurnoverAndForecastData = function (pMaxYear, pYearCount) -{ - return TurnoverUtil.getTurnoverData(pMaxYear, pYearCount).concat(TurnoverUtil.getForecastData(pMaxYear, pYearCount)); +import("Sql_lib"); +import("system.translate"); +import("KeywordRegistry_basic"); +import("Keyword_lib"); +import("system.SQLTYPES"); +import("system.db"); +import("system.neon"); +import("Context_lib"); + +/** + * Methods used for turnover data. + * Do not create an instance of this! + * + * @class + */ +function TurnoverUtil() {} + +/** + * get all turnover data. + * + * @param {Number} pMaxYear the maximum year + * @param {Number} pYearCount count of years to select + * @param {String} [pSalesprojectId = undefined] if set, select only from this salesproject + * + * @return {String[][]} + */ +TurnoverUtil.getTurnoverData = function (pMaxYear, pYearCount, pSalesprojectId) +{ + var turnoverCategory = translate.text('Turnover'); + + var minYear = pMaxYear - pYearCount + 1; + + // load data + var data = db.table(SqlCondition.begin() + .and("SALESORDERITEM.OPTIONAL <> 1") + .andPrepare("SALESORDER.SALESORDERDATE", pMaxYear, "year(#) <= ?", SQLTYPES.INTEGER) + .andPrepare("SALESORDER.SALESORDERDATE", minYear, "year(#) >= ?", SQLTYPES.INTEGER) + .andPrepareIfSet("SALESORDER.SALESPROJECT_ID", pSalesprojectId) + .buildSql("select '" + turnoverCategory + "', year(SALESORDERDATE) yearNum, month(SALESORDERDATE) monthNum, SALESORDERITEM.DISCOUNT discount, SALESORDERITEM.VAT vat, SALESORDERITEM.PRICE price, sum(SALESORDERITEM.QUANTITY) quantity, SALESORDERITEM.GROUPCODEID prodGroup, (" + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "SALESORDERITEM.GROUPCODEID") + ") prodGroupName \n\ + from SALESORDER \n\ + join SALESORDERITEM on SALESORDERITEM.SALESORDER_ID = SALESORDER.SALESORDERID", "1=2", "group by year(SALESORDERDATE), month(SALESORDERDATE), SALESORDERITEM.GROUPCODEID, SALESORDERITEM.DISCOUNT, SALESORDERITEM.VAT, SALESORDERITEM.PRICE \n\ + order by yearNum, monthNum ")); + + return data; +} + +/** + * get forecast data + * + * @param {Number} pMaxYear the maximum year + * @param {Number} pYearCount count of years to select + * @param {String} [pSalesprojectId = undefined] if set, select only from this salesproject + * + * @return {String[][]} + */ +TurnoverUtil.getForecastData = function (pMaxYear, pYearCount, pSalesprojectId) +{ + var forecastCategory = translate.text('Forecast'); + + var minYear = pMaxYear - pYearCount + 1; + + // load data + var cond = SqlCondition.begin() + .andPrepare("FORECAST.DATE_START", pMaxYear, "year(#) <= ?", SQLTYPES.INTEGER) + .andPrepare("FORECAST.DATE_START", minYear, "year(#) >= ?", SQLTYPES.INTEGER) + if (pSalesprojectId) + { + cond.andPrepare("FORECAST.OBJECT_TYPE", 'Salesproject') + cond.andPrepare("FORECAST.OBJECT_ROWID", pSalesprojectId) + } + + return db.table(cond.buildSql("select '" + forecastCategory + "', year(DATE_START) yearNum, month(DATE_START) monthNum, 0 discount, 0 vat, sum(VOLUME) price, 1 quantity, GROUPCODE prodGroup, (" + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "GROUPCODE") + ") prodGroupName from FORECAST", "1=2", " group by year(DATE_START), month(DATE_START), GROUPCODE order by yearNum, monthNum")); +} + +/** + * get turnover data + * + * @param {Number} pMaxYear the maximum year + * @param {Number} pYearCount count of years to select + * @param {Boolean} pShowForecast + * @param {Boolean} pShowTurnover + * @param {String} [pSalesprojectId = undefined] if set, select only from this salesproject + * + * @return {String[][]} + */ +TurnoverUtil.getTurnoverAndForecastData = function (pMaxYear, pYearCount, pShowForecast, pShowTurnover, pSalesprojectId) +{ + var data = []; + + if (pShowTurnover) + data = data.concat(TurnoverUtil.getTurnoverData(pMaxYear, pYearCount, pSalesprojectId)); + + if (pShowForecast) + data = data.concat(TurnoverUtil.getForecastData(pMaxYear, pYearCount, pSalesprojectId)); + + return data; } \ No newline at end of file diff --git a/process/getDocxDocument_serverProcess/getDocxDocument_serverProcess.aod b/process/getDocxDocument_serverProcess/getDocxDocument_serverProcess.aod index 47a76cca42502c4e69fa0b2feaedc2d64e71861c..8ff9a110c163f9f6141368dc62136730c9d62b78 100644 --- a/process/getDocxDocument_serverProcess/getDocxDocument_serverProcess.aod +++ b/process/getDocxDocument_serverProcess/getDocxDocument_serverProcess.aod @@ -3,4 +3,7 @@ <name>getDocxDocument_serverProcess</name> <majorModelMode>DISTRIBUTED</majorModelMode> <process>%aditoprj%/process/getDocxDocument_serverProcess/process.js</process> + <variants> + <element>EXECUTABLE</element> + </variants> </process>