From f636b424634757c13eed04ab59f1e377b222b5a5 Mon Sep 17 00:00:00 2001 From: Nico Bugl <n.bugl@adito.de> Date: Tue, 30 Apr 2019 15:18:20 +0200 Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.: 1036650][Modularisierung der Module aus dem Vertriebsprojekt] - Entscheider und Datenbanktabelle bzw Datenbankspalten von SalesprojectMember umgenannt - umgebaut mit ObjectRowid und ObjectType --- .../basic/2019.2/AditoBasic/init_YesNo.xml | 23 ++ .../Data_alias/basic/2019.2/changelog.xml | 2 + .../2019.2/update_Salesproject_Member.xml | 24 ++ .../init_SalesprojectMemberRole.xml | 12 +- aliasDefinition/Data_alias/Data_alias.aod | 207 ++++++++++-------- entity/Context_entity/Context_entity.aod | 6 + .../KeywordEntry_entity.aod | 2 +- .../Member_entity.aod} | 179 +++++++++------ .../db => Member_entity}/conditionProcess.js | 3 +- .../excludedcontactids_param/valueProcess.js | 4 +- .../children/contactid_param/valueProcess.js | 0 .../entityfields/date_edit/valueProcess.js | 0 .../entityfields/date_new/valueProcess.js | 0 .../containername_param/valueProcess.js | 2 +- .../entityfields/memberid}/valueProcess.js | 0 .../object_rowid/displayValueProcess.js | 11 + .../object_rowid/linkedContextProcess.js | 5 + .../entityfields/object_rowid/valueProcess.js | 5 + .../object_type/displayValueProcess.js | 10 + .../entityfields/object_type/valueProcess.js | 5 + .../children/objecttype_param/valueProcess.js | 4 + .../pers_full_name/fieldIdProcess.js | 0 .../person_full_name/valueProcess.js | 0 .../relationship/displayValueProcess.js | 0 .../entityfields/role/displayValueProcess.js | 6 + .../targetcontext/valueProcess.js | 0 .../entityfields/user_edit/valueProcess.js | 0 .../entityfields/user_new/valueProcess.js | 0 .../fromClauseProcess.js | 2 +- .../recordcontainers/db}/conditionProcess.js | 3 +- .../recordcontainers/db/fromClauseProcess.js | 2 +- .../contact_id.displayvalue/expression.js | 0 .../object_rowid.displayvalue/expression.js | 4 + .../expression.js | 2 +- entity/Object_entity/Object_entity.aod | 6 + entity/Person_entity/Person_entity.aod | 4 +- .../salesproject_id/valueProcess.js | 10 - .../salesproject_role/displayValueProcess.js | 6 - .../Salesproject_entity.aod | 17 +- .../objectrowid_param/valueProcess.js | 4 + .../children/objecttype_param/valueProcess.js | 4 + .../salesprojectid_param/valueProcess.js | 4 - .../recordcontainers/db/onDBDelete.js | 4 +- .../_____LANGUAGE_de/_____LANGUAGE_de.aod | 15 -- .../Member.aod} | 12 +- .../MemberEdit_view.aod} | 8 +- .../MemberFilter_view.aod} | 4 +- .../SalesprojectMain_view.aod | 4 +- process/KeywordRegistry_basic/process.js | 2 +- 49 files changed, 398 insertions(+), 229 deletions(-) create mode 100644 .liquibase/Data_alias/basic/2019.2/AditoBasic/init_YesNo.xml create mode 100644 .liquibase/Data_alias/basic/2019.2/update_Salesproject_Member.xml rename entity/{SalesprojectMember_entity/SalesprojectMember_entity.aod => Member_entity/Member_entity.aod} (64%) rename entity/{SalesprojectMember_entity/recordcontainers/db => Member_entity}/conditionProcess.js (61%) rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/contacts/children/excludedcontactids_param/valueProcess.js (59%) rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/currentcontact/children/contactid_param/valueProcess.js (100%) rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/date_edit/valueProcess.js (100%) rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/date_new/valueProcess.js (100%) rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/keywordmemberroles/children/containername_param/valueProcess.js (58%) rename entity/{SalesprojectMember_entity/entityfields/salesproject_memberid => Member_entity/entityfields/memberid}/valueProcess.js (100%) create mode 100644 entity/Member_entity/entityfields/object_rowid/displayValueProcess.js create mode 100644 entity/Member_entity/entityfields/object_rowid/linkedContextProcess.js create mode 100644 entity/Member_entity/entityfields/object_rowid/valueProcess.js create mode 100644 entity/Member_entity/entityfields/object_type/displayValueProcess.js create mode 100644 entity/Member_entity/entityfields/object_type/valueProcess.js create mode 100644 entity/Member_entity/entityfields/objects/children/objecttype_param/valueProcess.js rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/pers_full_name/fieldIdProcess.js (100%) rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/person_full_name/valueProcess.js (100%) rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/relationship/displayValueProcess.js (100%) create mode 100644 entity/Member_entity/entityfields/role/displayValueProcess.js rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/targetcontext/valueProcess.js (100%) rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/user_edit/valueProcess.js (100%) rename entity/{SalesprojectMember_entity => Member_entity}/entityfields/user_new/valueProcess.js (100%) rename entity/{SalesprojectMember_entity => Member_entity}/fromClauseProcess.js (65%) rename entity/{SalesprojectMember_entity => Member_entity/recordcontainers/db}/conditionProcess.js (61%) rename entity/{SalesprojectMember_entity => Member_entity}/recordcontainers/db/fromClauseProcess.js (65%) rename entity/{SalesprojectMember_entity => Member_entity}/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js (100%) create mode 100644 entity/Member_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js rename entity/{SalesprojectMember_entity => Member_entity}/recordcontainers/db/recordfieldmappings/salesproject_role.displayvalue/expression.js (70%) delete mode 100644 entity/SalesprojectMember_entity/entityfields/salesproject_id/valueProcess.js delete mode 100644 entity/SalesprojectMember_entity/entityfields/salesproject_role/displayValueProcess.js create mode 100644 entity/Salesproject_entity/entityfields/members/children/objectrowid_param/valueProcess.js create mode 100644 entity/Salesproject_entity/entityfields/members/children/objecttype_param/valueProcess.js delete mode 100644 entity/Salesproject_entity/entityfields/salesprojectmembers/children/salesprojectid_param/valueProcess.js rename neonContext/{SalesprojectMember/SalesprojectMember.aod => Member/Member.aod} (66%) rename neonView/{SalesprojectMemberEdit_view/SalesprojectMemberEdit_view.aod => MemberEdit_view/MemberEdit_view.aod} (78%) rename neonView/{SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod => MemberFilter_view/MemberFilter_view.aod} (93%) diff --git a/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_YesNo.xml b/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_YesNo.xml new file mode 100644 index 00000000000..6d6ecabeeac --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2/AditoBasic/init_YesNo.xml @@ -0,0 +1,23 @@ +<?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="n.bugl" id="65c6bfc8-5de5-479e-8d64-a93cffe8ce89"> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="eadf3ecb-ac35-4a94-879a-f6e85a72fa29"/> + <column name="KEYID" value="d657755e-50e8-409b-8b1e-2d8315c2307a"/> + <column name="TITLE" value="Yes"/> + <column name="CONTAINER" value="YesNo"/> + <column name="SORTING" valueNumeric="1"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="4dcc3315-8a38-42d9-ba34-f8899b86ca85"/> + <column name="KEYID" value="3389c206-5916-401b-8aa5-6ebaf012a09b"/> + <column name="TITLE" value="No"/> + <column name="CONTAINER" value="YesNo"/> + <column name="SORTING" valueNumeric="2"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </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 52a6e92c0a9..b9feeff3f31 100644 --- a/.liquibase/Data_alias/basic/2019.2/changelog.xml +++ b/.liquibase/Data_alias/basic/2019.2/changelog.xml @@ -83,6 +83,7 @@ <include relativeToChangelogFile="true" file="Contact_add_columns.xml"/> <include relativeToChangelogFile="true" file="SalesOrder_source_offer.xml"/> <include relativeToChangelogFile="true" file="Product_remove_fk.xml"/> + <include relativeToChangelogFile="true" file="AditoBasic/init_YesNo.xml"/> <include relativeToChangelogFile="true" file="data/example_attribute/Attribute.xml" context="example"/> <include relativeToChangelogFile="true" file="data/example_attribute/AttributeUsage.xml" context="example"/> @@ -129,6 +130,7 @@ <include relativeToChangelogFile="true" file="update_Salesproject_Classification.xml"/> <include relativeToChangelogFile="true" file="update_Offer.xml"/> <include relativeToChangelogFile="true" file="update_Salesproject_Competition.xml"/> + <include relativeToChangelogFile="true" file="update_Salesproject_Member.xml"/> <include relativeToChangelogFile="true" file="indicesRefactor/ContactManagement.xml"/> <include relativeToChangelogFile="true" file="indicesRefactor/Keyword.xml"/> diff --git a/.liquibase/Data_alias/basic/2019.2/update_Salesproject_Member.xml b/.liquibase/Data_alias/basic/2019.2/update_Salesproject_Member.xml new file mode 100644 index 00000000000..7b9bcb41e92 --- /dev/null +++ b/.liquibase/Data_alias/basic/2019.2/update_Salesproject_Member.xml @@ -0,0 +1,24 @@ +<?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="n.bugl" id="edd0e09f-830e-4cd3-acf6-ee0c2cd82d7a"> + + <addColumn tableName="SALESPROJECT_MEMBER"> + <column name="OBJECT_TYPE" type="NVARCHAR(63)"/> + <column name="DECIDER" type="NVARCHAR(36)"/> + </addColumn> + <renameColumn newColumnName="OBJECT_ROWID" oldColumnName="SALESPROJECT_ID" tableName="SALESPROJECT_MEMBER"/> + <renameColumn newColumnName="MEMBERID" oldColumnName="SALESPROJECT_MEMBERID" tableName="SALESPROJECT_MEMBER"/> + <renameColumn newColumnName="ROLE" oldColumnName="SALESPROJECT_ROLE" tableName="SALESPROJECT_MEMBER"/> + <update tableName="SALESPROJECT_MEMBER"> + <column name="OBJECT_TYPE" value="Salesproject" /> + <where>OBJECT_ROWID = '0833465c-8851-4fbb-b7e3-8c1d73c903da'</where> + </update> + + <addNotNullConstraint + tableName="SALESPROJECT_MEMBER" + columnName="OBJECT_TYPE"/> + + <renameTable oldTableName="SALESPROJECT_MEMBER" newTableName="MEMBER"/> + + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/.liquibase/Data_alias/basic/init/data/AditoBasic/ab_keyword_entry/init_SalesprojectMemberRole.xml b/.liquibase/Data_alias/basic/init/data/AditoBasic/ab_keyword_entry/init_SalesprojectMemberRole.xml index 6bb21bcdb6d..3f1e9aed90a 100644 --- a/.liquibase/Data_alias/basic/init/data/AditoBasic/ab_keyword_entry/init_SalesprojectMemberRole.xml +++ b/.liquibase/Data_alias/basic/init/data/AditoBasic/ab_keyword_entry/init_SalesprojectMemberRole.xml @@ -5,7 +5,7 @@ <column name="AB_KEYWORD_ENTRYID" value="9c421b0b-8529-4e07-9463-28d59fd027b6"/> <column name="KEYID" value="1d100fff-24ba-43fd-931d-cae24e10b41f"/> <column name="TITLE" value="Project manager"/> - <column name="CONTAINER" value="SalesprojectMemberRole"/> + <column name="CONTAINER" value="MemberRole"/> <column name="SORTING" valueNumeric="0"/> <column name="ISACTIVE" valueNumeric="1"/> <column name="ISESSENTIAL" valueNumeric="0"/> @@ -14,7 +14,7 @@ <column name="AB_KEYWORD_ENTRYID" value="f78f229f-f809-4bd2-aca8-24e2f82fa220"/> <column name="KEYID" value="8fb09614-5dc4-4d68-ac66-bf7bbebcb3ad"/> <column name="TITLE" value="Project assistant"/> - <column name="CONTAINER" value="SalesprojectMemberRole"/> + <column name="CONTAINER" value="MemberRole"/> <column name="SORTING" valueNumeric="1"/> <column name="ISACTIVE" valueNumeric="1"/> <column name="ISESSENTIAL" valueNumeric="0"/> @@ -23,7 +23,7 @@ <column name="AB_KEYWORD_ENTRYID" value="8cb1b843-713a-4193-aa50-9f5ca06820f8"/> <column name="KEYID" value="28b9aaa2-325c-498f-8397-e20cffbfc215"/> <column name="TITLE" value="Adviser"/> - <column name="CONTAINER" value="SalesprojectMemberRole"/> + <column name="CONTAINER" value="MemberRole"/> <column name="SORTING" valueNumeric="2"/> <column name="ISACTIVE" valueNumeric="1"/> <column name="ISESSENTIAL" valueNumeric="0"/> @@ -32,7 +32,7 @@ <column name="AB_KEYWORD_ENTRYID" value="3d603fe3-1b06-43fc-9e20-2efd6e9e4afd"/> <column name="KEYID" value="70cbad1b-eac6-4369-ba50-4946e0fbcb3a"/> <column name="TITLE" value="Decision maker"/> - <column name="CONTAINER" value="SalesprojectMemberRole"/> + <column name="CONTAINER" value="MemberRole"/> <column name="SORTING" valueNumeric="3"/> <column name="ISACTIVE" valueNumeric="1"/> <column name="ISESSENTIAL" valueNumeric="0"/> @@ -41,7 +41,7 @@ <column name="AB_KEYWORD_ENTRYID" value="039fd6ae-b4ad-431e-86bf-59ed2f4df0a9"/> <column name="KEYID" value="a8460c8e-24bd-4410-9704-e4865fdd57bf"/> <column name="TITLE" value="External sales manager"/> - <column name="CONTAINER" value="SalesprojectMemberRole"/> + <column name="CONTAINER" value="MemberRole"/> <column name="SORTING" valueNumeric="4"/> <column name="ISACTIVE" valueNumeric="1"/> <column name="ISESSENTIAL" valueNumeric="0"/> @@ -50,7 +50,7 @@ <column name="AB_KEYWORD_ENTRYID" value="b72294cd-3a46-4f71-ab93-72824f63f7f4"/> <column name="KEYID" value="67baabb5-abd0-43bd-aea1-cf7e606814a6"/> <column name="TITLE" value="Internal sales manager"/> - <column name="CONTAINER" value="SalesprojectMemberRole"/> + <column name="CONTAINER" value="MemberRole"/> <column name="SORTING" valueNumeric="5"/> <column name="ISACTIVE" valueNumeric="1"/> <column name="ISESSENTIAL" valueNumeric="0"/> diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index f919a31abb0..1da4a55580c 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -2731,95 +2731,6 @@ </entityFieldDb> </entityFields> </entityDb> - <entityDb> - <name>SALESPROJECT_MEMBER</name> - <dbName></dbName> - <idColumn>SALESPROJECT_MEMBERID</idColumn> - <idGeneratorType v="0" /> - <idGeneratorInterval v="1" /> - <title></title> - <description></description> - <auditSyncConfig> - <name>auditSyncConfig</name> - <auditMode v="0" /> - <syncActive v="false" /> - <syncComplete v="true" /> - <syncDirection v="1" /> - <syncIds></syncIds> - </auditSyncConfig> - <entityFields> - <entityFieldDb> - <name>SALESPROJECT_MEMBERID</name> - <dbName></dbName> - <primaryKey v="true" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="true" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>CONTACT_ID</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>SALESPROJECT_ROLE</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>SALESPROJECT_ID</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="1" /> - <size v="36" /> - <scale v="0" /> - <notNull v="true" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - <entityFieldDb> - <name>RELATIONSHIP</name> - <dbName></dbName> - <primaryKey v="false" /> - <columnType v="4" /> - <size v="10" /> - <scale v="0" /> - <notNull v="false" /> - <isUnique v="false" /> - <index v="false" /> - <documentation></documentation> - <title></title> - <description></description> - </entityFieldDb> - </entityFields> - </entityDb> <entityDb> <name>TIMETRACKING</name> <dbName></dbName> @@ -6815,6 +6726,124 @@ </entityFieldDb> </entityFields> </entityDb> + <entityDb> + <name>MEMBER</name> + <dbName></dbName> + <idColumn>MEMBER</idColumn> + <idGeneratorType v="0" /> + <idGeneratorInterval v="1" /> + <documentation></documentation> + <title></title> + <description></description> + <auditSyncConfig> + <name>auditSyncConfig</name> + <auditMode v="0" /> + <syncActive v="false" /> + <syncComplete v="true" /> + <syncDirection v="1" /> + <syncIds></syncIds> + </auditSyncConfig> + <entityFields> + <entityFieldDb> + <name>ROLE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OBJECT_ROWID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>DECIDER</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>CONTACT_ID</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>RELATIONSHIP</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="4" /> + <size v="10" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>OBJECT_TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="12" /> + <size v="63" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + <entityFieldDb> + <name>MEMBERID</name> + <dbName></dbName> + <primaryKey v="true" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="true" /> + <isUnique v="true" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> + </entityFields> + </entityDb> </entities> </entityGroup> </aliasDefDb> diff --git a/entity/Context_entity/Context_entity.aod b/entity/Context_entity/Context_entity.aod index e39e468fef7..5ceff8889b5 100644 --- a/entity/Context_entity/Context_entity.aod +++ b/entity/Context_entity/Context_entity.aod @@ -54,6 +54,12 @@ <fieldName>Contexts</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>4543a0ae-7bd2-4c70-8eaf-d4f32e014173</name> + <entityName>Member_entity</entityName> + <fieldName>Contexts</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod index e2c0ee7a01c..ae40259af46 100644 --- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod +++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod @@ -207,7 +207,7 @@ </entityDependency> <entityDependency> <name>026021cd-cd64-400d-8bd5-f6d044af1ad8</name> - <entityName>SalesprojectMember_entity</entityName> + <entityName>Member_entity</entityName> <fieldName>KeywordMemberRoles</fieldName> <isConsumer v="false" /> </entityDependency> diff --git a/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod b/entity/Member_entity/Member_entity.aod similarity index 64% rename from entity/SalesprojectMember_entity/SalesprojectMember_entity.aod rename to entity/Member_entity/Member_entity.aod index 3ae166a2daa..e9c2eedfc52 100644 --- a/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod +++ b/entity/Member_entity/Member_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.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.2"> - <name>SalesprojectMember_entity</name> + <name>Member_entity</name> <title>${SALESPROJECT_MEMBER}</title> <majorModelMode>DISTRIBUTED</majorModelMode> <recordContainer>db</recordContainer> @@ -16,47 +16,22 @@ <mandatory v="true" /> </entityField> <entityField> - <name>SALESPROJECT_ID</name> - <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/salesproject_id/valueProcess.js</valueProcess> + <name>OBJECT_ROWID</name> + <consumer>Objects</consumer> + <linkedContextProcess>%aditoprj%/entity/Member_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess> + <valueProcess>%aditoprj%/entity/Member_entity/entityfields/object_rowid/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Member_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess> </entityField> <entityField> - <name>SALESPROJECT_MEMBERID</name> - <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/salesproject_memberid/valueProcess.js</valueProcess> + <name>MEMBERID</name> + <valueProcess>%aditoprj%/entity/Member_entity/entityfields/memberid/valueProcess.js</valueProcess> </entityField> <entityField> - <name>SALESPROJECT_ROLE</name> + <name>ROLE</name> <title>Role</title> <consumer>KeywordMemberRoles</consumer> - <displayValueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/salesproject_role/displayValueProcess.js</displayValueProcess> + <displayValueProcess>%aditoprj%/entity/Member_entity/entityfields/role/displayValueProcess.js</displayValueProcess> </entityField> - <entityProvider> - <name>SalesprojectMembers</name> - <fieldType>DEPENDENCY_IN</fieldType> - <targetContextField>TARGETCONTEXT</targetContextField> - <targetIdField>CONTACT_ID</targetIdField> - <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>c33d46e7-a7be-4548-a036-0ac58888504c</name> - <entityName>Salesproject_entity</entityName> - <fieldName>SalesprojectMembers</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>SalesprojectId_param</name> - <expose v="true" /> - </entityParameter> - </children> - </entityProvider> - <entityParameter> - <name>SalesprojectId_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <mandatory v="true" /> - <description>PARAMETER</description> - </entityParameter> <entityField> <name>ORGANISATION_NAME</name> <title>Company</title> @@ -100,7 +75,7 @@ <children> <entityParameter> <name>ContactId_param</name> - <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/currentcontact/children/contactid_param/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/Member_entity/entityfields/currentcontact/children/contactid_param/valueProcess.js</valueProcess> </entityParameter> </children> </entityConsumer> @@ -110,7 +85,7 @@ <consumer>CurrentContact</consumer> <linkedContext>Person</linkedContext> <state>READONLY</state> - <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/person_full_name/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/Member_entity/entityfields/person_full_name/valueProcess.js</valueProcess> </entityField> <entityField> <name>RELATIONSHIP</name> @@ -119,7 +94,7 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... aktuell im edit mode auf leeres Feld, dann wird das aus contact angezeigt</description> <contentType>NUMBER</contentType> - <displayValueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/relationship/displayValueProcess.js</displayValueProcess> + <displayValueProcess>%aditoprj%/entity/Member_entity/entityfields/relationship/displayValueProcess.js</displayValueProcess> <onValueChangeTypes> <element>MASK</element> <element>PROCESS</element> @@ -143,7 +118,7 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt <children> <entityParameter> <name>ExcludedContactIds_param</name> - <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/Member_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js</valueProcess> </entityParameter> </children> </entityConsumer> @@ -158,14 +133,14 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt <children> <entityParameter> <name>ContainerName_param</name> - <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/Member_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js</valueProcess> <expose v="false" /> </entityParameter> </children> </entityConsumer> <entityField> <name>TARGETCONTEXT</name> - <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/targetcontext/valueProcess.js</valueProcess> + <valueProcess>%aditoprj%/entity/Member_entity/entityfields/targetcontext/valueProcess.js</valueProcess> </entityField> <entityField> <name>CONTACTROLE</name> @@ -182,42 +157,102 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt <title>Position</title> <state>READONLY</state> </entityField> + <entityField> + <name>OBJECT_TYPE</name> + <consumer>Contexts</consumer> + <valueProcess>%aditoprj%/entity/Member_entity/entityfields/object_type/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/Member_entity/entityfields/object_type/displayValueProcess.js</displayValueProcess> + </entityField> + <entityParameter> + <name>ObjectRowId_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityConsumer> + <name>Objects</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Object_entity</entityName> + <fieldName>AllObjects</fieldName> + </dependency> + <children> + <entityParameter> + <name>ObjectType_param</name> + <valueProcess>%aditoprj%/entity/Member_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityConsumer> + <entityConsumer> + <name>Contexts</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Context_entity</entityName> + <fieldName>Context</fieldName> + </dependency> + </entityConsumer> + <entityProvider> + <name>Links</name> + <fieldType>DEPENDENCY_IN</fieldType> + <targetContextField>TARGETCONTEXT</targetContextField> + <targetIdField>CONTACT_ID</targetIdField> + <recordContainer>db</recordContainer> + <dependencies> + <entityDependency> + <name>df6a9a25-f787-41f6-877b-c8e3cbbdc6be</name> + <entityName>Salesproject_entity</entityName> + <fieldName>Members</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + </entityProvider> </entityFields> <recordContainers> <dbRecordContainer> <name>db</name> <alias>Data_alias</alias> - <fromClauseProcess>%aditoprj%/entity/SalesprojectMember_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> - <conditionProcess>%aditoprj%/entity/SalesprojectMember_entity/recordcontainers/db/conditionProcess.js</conditionProcess> + <fromClauseProcess>%aditoprj%/entity/Member_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> + <conditionProcess>%aditoprj%/entity/Member_entity/recordcontainers/db/conditionProcess.js</conditionProcess> <linkInformation> <linkInformation> - <name>642ee877-9b75-42df-ade2-40f65f8a9ee5</name> - <tableName>SALESPROJECT_MEMBER</tableName> - <primaryKey>SALESPROJECT_MEMBERID</primaryKey> - <isUIDTable v="true" /> - <readonly v="false" /> - </linkInformation> - <linkInformation> - <name>d158535e-ce3a-4660-91c7-d0ec8a7cbafc</name> + <name>dc8d3e38-dd0c-49e1-8665-695e5fd61025</name> <tableName>ORGANISATION</tableName> <primaryKey>ORGANISATIONID</primaryKey> <isUIDTable v="false" /> <readonly v="true" /> </linkInformation> <linkInformation> - <name>d794504f-52b7-4da0-abbe-ea3f6eabe996</name> + <name>85c0ae33-0713-4413-aaef-6b0c39b70973</name> <tableName>PERSON</tableName> <primaryKey>PERSONID</primaryKey> <isUIDTable v="false" /> <readonly v="true" /> </linkInformation> <linkInformation> - <name>6b4e762c-8316-47d2-8ff0-67d8b1ff58bd</name> + <name>2ee2e445-6b7f-4d22-9a83-1b175ad0acc9</name> <tableName>CONTACT</tableName> <primaryKey>CONTACTID</primaryKey> <isUIDTable v="false" /> <readonly v="true" /> </linkInformation> + <linkInformation> + <name>3d675008-56dc-4c91-90c9-7664dccddbb4</name> + <tableName>MEMBER</tableName> + <primaryKey>MEMBERID</primaryKey> + <isUIDTable v="true" /> + <readonly v="false" /> + </linkInformation> </linkInformation> <recordFieldMappings> <dbRecordFieldMapping> @@ -250,23 +285,15 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt </dbRecordFieldMapping> <dbRecordFieldMapping> <name>CONTACT_ID.value</name> - <recordfield>SALESPROJECT_MEMBER.CONTACT_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>SALESPROJECT_ID.value</name> - <recordfield>SALESPROJECT_MEMBER.SALESPROJECT_ID</recordfield> - </dbRecordFieldMapping> - <dbRecordFieldMapping> - <name>SALESPROJECT_MEMBERID.value</name> - <recordfield>SALESPROJECT_MEMBER.SALESPROJECT_MEMBERID</recordfield> + <recordfield>MEMBER.CONTACT_ID</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>SALESPROJECT_ROLE.value</name> - <recordfield>SALESPROJECT_MEMBER.SALESPROJECT_ROLE</recordfield> + <recordfield>MEMBER.ROLE</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>RELATIONSHIP.value</name> - <recordfield>SALESPROJECT_MEMBER.RELATIONSHIP</recordfield> + <recordfield>MEMBER.RELATIONSHIP</recordfield> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>CONTACT_RELATIONSHIP.value</name> @@ -274,11 +301,11 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt </dbRecordFieldMapping> <dbRecordFieldMapping> <name>CONTACT_ID.displayValue</name> - <expression>%aditoprj%/entity/SalesprojectMember_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js</expression> + <expression>%aditoprj%/entity/Member_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js</expression> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>SALESPROJECT_ROLE.displayValue</name> - <expression>%aditoprj%/entity/SalesprojectMember_entity/recordcontainers/db/recordfieldmappings/salesproject_role.displayvalue/expression.js</expression> + <expression>%aditoprj%/entity/Member_entity/recordcontainers/db/recordfieldmappings/salesproject_role.displayvalue/expression.js</expression> </dbRecordFieldMapping> <dbRecordFieldMapping> <name>DEPARTMENT.value</name> @@ -292,6 +319,26 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt <name>POSITION.value</name> <recordfield>CONTACT.POSITION</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.value</name> + <recordfield>MEMBER.OBJECT_ROWID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_TYPE.value</name> + <recordfield>MEMBER.OBJECT_TYPE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>MEMBERID.value</name> + <recordfield>MEMBER.MEMBERID</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>ROLE.value</name> + <recordfield>MEMBER.ROLE</recordfield> + </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.displayValue</name> + <expression>%aditoprj%/entity/Member_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/SalesprojectMember_entity/recordcontainers/db/conditionProcess.js b/entity/Member_entity/conditionProcess.js similarity index 61% rename from entity/SalesprojectMember_entity/recordcontainers/db/conditionProcess.js rename to entity/Member_entity/conditionProcess.js index bfd5554266b..e0f35ab06bb 100644 --- a/entity/SalesprojectMember_entity/recordcontainers/db/conditionProcess.js +++ b/entity/Member_entity/conditionProcess.js @@ -3,7 +3,8 @@ import("system.result"); import("Sql_lib"); var cond = new SqlCondition(); -cond.andPrepareVars("SALESPROJECT_MEMBER.SALESPROJECT_ID", "$param.SalesprojectId_param"); +cond.andPrepareVars("MEMBER.OBJECT_ROWID", "$param.ObjectRowId_param") +cond.andPrepareVars("MEMBER.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/SalesprojectMember_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js b/entity/Member_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js similarity index 59% rename from entity/SalesprojectMember_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js rename to entity/Member_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js index 4f34874adf0..ff7a12d77a6 100644 --- a/entity/SalesprojectMember_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js +++ b/entity/Member_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js @@ -4,6 +4,6 @@ import("system.db"); import("Sql_lib"); result.object(db.array(db.COLUMN, SqlCondition.begin() - .andPrepare("SALESPROJECT_MEMBER.SALESPROJECT_ID", vars.get("$field.SALESPROJECT_ID")) - .buildSql("select CONTACT_ID from SALESPROJECT_MEMBER", "1=2"))); + .andPrepare("MEMBER.OBJECT_ROWID", vars.get("$field.OBJECT_ROWID")) + .buildSql("select CONTACT_ID from MEMBER", "1=2"))); \ No newline at end of file diff --git a/entity/SalesprojectMember_entity/entityfields/currentcontact/children/contactid_param/valueProcess.js b/entity/Member_entity/entityfields/currentcontact/children/contactid_param/valueProcess.js similarity index 100% rename from entity/SalesprojectMember_entity/entityfields/currentcontact/children/contactid_param/valueProcess.js rename to entity/Member_entity/entityfields/currentcontact/children/contactid_param/valueProcess.js diff --git a/entity/SalesprojectMember_entity/entityfields/date_edit/valueProcess.js b/entity/Member_entity/entityfields/date_edit/valueProcess.js similarity index 100% rename from entity/SalesprojectMember_entity/entityfields/date_edit/valueProcess.js rename to entity/Member_entity/entityfields/date_edit/valueProcess.js diff --git a/entity/SalesprojectMember_entity/entityfields/date_new/valueProcess.js b/entity/Member_entity/entityfields/date_new/valueProcess.js similarity index 100% rename from entity/SalesprojectMember_entity/entityfields/date_new/valueProcess.js rename to entity/Member_entity/entityfields/date_new/valueProcess.js diff --git a/entity/SalesprojectMember_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js b/entity/Member_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js similarity index 58% rename from entity/SalesprojectMember_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js rename to entity/Member_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js index 038f4a4295e..f20e0079a61 100644 --- a/entity/SalesprojectMember_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js +++ b/entity/Member_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js @@ -2,4 +2,4 @@ import("system.result"); import("Keyword_lib"); import("KeywordRegistry_basic"); -result.string($KeywordRegistry.salesprojectMemberRole()); +result.string($KeywordRegistry.MemberRole()); diff --git a/entity/SalesprojectMember_entity/entityfields/salesproject_memberid/valueProcess.js b/entity/Member_entity/entityfields/memberid/valueProcess.js similarity index 100% rename from entity/SalesprojectMember_entity/entityfields/salesproject_memberid/valueProcess.js rename to entity/Member_entity/entityfields/memberid/valueProcess.js diff --git a/entity/Member_entity/entityfields/object_rowid/displayValueProcess.js b/entity/Member_entity/entityfields/object_rowid/displayValueProcess.js new file mode 100644 index 00000000000..8b080bceea9 --- /dev/null +++ b/entity/Member_entity/entityfields/object_rowid/displayValueProcess.js @@ -0,0 +1,11 @@ +import("system.neon"); +import("system.vars"); +import("system.db"); +import("system.result"); +import("Context_lib"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.OBJECT_ROWID")) { + 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")))); +} \ No newline at end of file diff --git a/entity/Member_entity/entityfields/object_rowid/linkedContextProcess.js b/entity/Member_entity/entityfields/object_rowid/linkedContextProcess.js new file mode 100644 index 00000000000..d868fe097f2 --- /dev/null +++ b/entity/Member_entity/entityfields/object_rowid/linkedContextProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getContextName(vars.get("$field.OBJECT_TYPE"))) \ No newline at end of file diff --git a/entity/Member_entity/entityfields/object_rowid/valueProcess.js b/entity/Member_entity/entityfields/object_rowid/valueProcess.js new file mode 100644 index 00000000000..09d845d6f59 --- /dev/null +++ b/entity/Member_entity/entityfields/object_rowid/valueProcess.js @@ -0,0 +1,5 @@ +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 diff --git a/entity/Member_entity/entityfields/object_type/displayValueProcess.js b/entity/Member_entity/entityfields/object_type/displayValueProcess.js new file mode 100644 index 00000000000..2965221e0b0 --- /dev/null +++ b/entity/Member_entity/entityfields/object_type/displayValueProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("system.neon"); +import("system.vars"); +import("system.project"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.OBJECT_TYPE")) { + result.string(""); +} else if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) { + result.string(project.getDataModel(project.DATAMODEL_KIND_CONTEXT, vars.get("$field.OBJECT_TYPE"))[1]); +} \ No newline at end of file diff --git a/entity/Member_entity/entityfields/object_type/valueProcess.js b/entity/Member_entity/entityfields/object_type/valueProcess.js new file mode 100644 index 00000000000..61217a860a6 --- /dev/null +++ b/entity/Member_entity/entityfields/object_type/valueProcess.js @@ -0,0 +1,5 @@ +import("system.vars"); +import("system.result"); + +if(vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param")) + result.string(vars.get("$param.ObjectType_param")); \ No newline at end of file diff --git a/entity/Member_entity/entityfields/objects/children/objecttype_param/valueProcess.js b/entity/Member_entity/entityfields/objects/children/objecttype_param/valueProcess.js new file mode 100644 index 00000000000..b1bb16711d7 --- /dev/null +++ b/entity/Member_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/SalesprojectMember_entity/entityfields/pers_full_name/fieldIdProcess.js b/entity/Member_entity/entityfields/pers_full_name/fieldIdProcess.js similarity index 100% rename from entity/SalesprojectMember_entity/entityfields/pers_full_name/fieldIdProcess.js rename to entity/Member_entity/entityfields/pers_full_name/fieldIdProcess.js diff --git a/entity/SalesprojectMember_entity/entityfields/person_full_name/valueProcess.js b/entity/Member_entity/entityfields/person_full_name/valueProcess.js similarity index 100% rename from entity/SalesprojectMember_entity/entityfields/person_full_name/valueProcess.js rename to entity/Member_entity/entityfields/person_full_name/valueProcess.js diff --git a/entity/SalesprojectMember_entity/entityfields/relationship/displayValueProcess.js b/entity/Member_entity/entityfields/relationship/displayValueProcess.js similarity index 100% rename from entity/SalesprojectMember_entity/entityfields/relationship/displayValueProcess.js rename to entity/Member_entity/entityfields/relationship/displayValueProcess.js diff --git a/entity/Member_entity/entityfields/role/displayValueProcess.js b/entity/Member_entity/entityfields/role/displayValueProcess.js new file mode 100644 index 00000000000..bbdef4d21bb --- /dev/null +++ b/entity/Member_entity/entityfields/role/displayValueProcess.js @@ -0,0 +1,6 @@ +import("system.result"); +import("system.vars"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +result.string(KeywordUtils.getViewValue($KeywordRegistry.MemberRole(), vars.get("$field.ROLE"))); diff --git a/entity/SalesprojectMember_entity/entityfields/targetcontext/valueProcess.js b/entity/Member_entity/entityfields/targetcontext/valueProcess.js similarity index 100% rename from entity/SalesprojectMember_entity/entityfields/targetcontext/valueProcess.js rename to entity/Member_entity/entityfields/targetcontext/valueProcess.js diff --git a/entity/SalesprojectMember_entity/entityfields/user_edit/valueProcess.js b/entity/Member_entity/entityfields/user_edit/valueProcess.js similarity index 100% rename from entity/SalesprojectMember_entity/entityfields/user_edit/valueProcess.js rename to entity/Member_entity/entityfields/user_edit/valueProcess.js diff --git a/entity/SalesprojectMember_entity/entityfields/user_new/valueProcess.js b/entity/Member_entity/entityfields/user_new/valueProcess.js similarity index 100% rename from entity/SalesprojectMember_entity/entityfields/user_new/valueProcess.js rename to entity/Member_entity/entityfields/user_new/valueProcess.js diff --git a/entity/SalesprojectMember_entity/fromClauseProcess.js b/entity/Member_entity/fromClauseProcess.js similarity index 65% rename from entity/SalesprojectMember_entity/fromClauseProcess.js rename to entity/Member_entity/fromClauseProcess.js index 93d4323cf0c..edff7462ed2 100644 --- a/entity/SalesprojectMember_entity/fromClauseProcess.js +++ b/entity/Member_entity/fromClauseProcess.js @@ -1,5 +1,5 @@ import("system.result"); -result.string("SALESPROJECT_MEMBER join CONTACT on (CONTACT.CONTACTID = SALESPROJECT_MEMBER.CONTACT_ID) " +result.string("MEMBER join CONTACT on (CONTACT.CONTACTID = MEMBER.CONTACT_ID) " + "left join ORGANISATION on (ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID) " + "left join PERSON on (PERSON.PERSONID = CONTACT.PERSON_ID)"); \ No newline at end of file diff --git a/entity/SalesprojectMember_entity/conditionProcess.js b/entity/Member_entity/recordcontainers/db/conditionProcess.js similarity index 61% rename from entity/SalesprojectMember_entity/conditionProcess.js rename to entity/Member_entity/recordcontainers/db/conditionProcess.js index bfd5554266b..e0f35ab06bb 100644 --- a/entity/SalesprojectMember_entity/conditionProcess.js +++ b/entity/Member_entity/recordcontainers/db/conditionProcess.js @@ -3,7 +3,8 @@ import("system.result"); import("Sql_lib"); var cond = new SqlCondition(); -cond.andPrepareVars("SALESPROJECT_MEMBER.SALESPROJECT_ID", "$param.SalesprojectId_param"); +cond.andPrepareVars("MEMBER.OBJECT_ROWID", "$param.ObjectRowId_param") +cond.andPrepareVars("MEMBER.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/SalesprojectMember_entity/recordcontainers/db/fromClauseProcess.js b/entity/Member_entity/recordcontainers/db/fromClauseProcess.js similarity index 65% rename from entity/SalesprojectMember_entity/recordcontainers/db/fromClauseProcess.js rename to entity/Member_entity/recordcontainers/db/fromClauseProcess.js index 93d4323cf0c..edff7462ed2 100644 --- a/entity/SalesprojectMember_entity/recordcontainers/db/fromClauseProcess.js +++ b/entity/Member_entity/recordcontainers/db/fromClauseProcess.js @@ -1,5 +1,5 @@ import("system.result"); -result.string("SALESPROJECT_MEMBER join CONTACT on (CONTACT.CONTACTID = SALESPROJECT_MEMBER.CONTACT_ID) " +result.string("MEMBER join CONTACT on (CONTACT.CONTACTID = MEMBER.CONTACT_ID) " + "left join ORGANISATION on (ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID) " + "left join PERSON on (PERSON.PERSONID = CONTACT.PERSON_ID)"); \ No newline at end of file diff --git a/entity/SalesprojectMember_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js b/entity/Member_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js similarity index 100% rename from entity/SalesprojectMember_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js rename to entity/Member_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js diff --git a/entity/Member_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js b/entity/Member_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js new file mode 100644 index 00000000000..33554680ccc --- /dev/null +++ b/entity/Member_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getNameSubselectSql("OBJECT_TYPE", "OBJECT_ROWID")) \ No newline at end of file diff --git a/entity/SalesprojectMember_entity/recordcontainers/db/recordfieldmappings/salesproject_role.displayvalue/expression.js b/entity/Member_entity/recordcontainers/db/recordfieldmappings/salesproject_role.displayvalue/expression.js similarity index 70% rename from entity/SalesprojectMember_entity/recordcontainers/db/recordfieldmappings/salesproject_role.displayvalue/expression.js rename to entity/Member_entity/recordcontainers/db/recordfieldmappings/salesproject_role.displayvalue/expression.js index 18c379f4035..4e07d5e1138 100644 --- a/entity/SalesprojectMember_entity/recordcontainers/db/recordfieldmappings/salesproject_role.displayvalue/expression.js +++ b/entity/Member_entity/recordcontainers/db/recordfieldmappings/salesproject_role.displayvalue/expression.js @@ -2,5 +2,5 @@ import("system.result"); import("Keyword_lib"); import("KeywordRegistry_basic"); -var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectMemberRole(), "SALESPROJECT_MEMBER.SALESPROJECT_ROLE"); +var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.MemberRole(), "MEMBER.ROLE"); result.string(sql); \ No newline at end of file diff --git a/entity/Object_entity/Object_entity.aod b/entity/Object_entity/Object_entity.aod index 79ac577f79c..69156c4b7bb 100644 --- a/entity/Object_entity/Object_entity.aod +++ b/entity/Object_entity/Object_entity.aod @@ -66,6 +66,12 @@ <fieldName>Objects</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>349f13ea-8b4c-4cc0-987c-ae1717855bc1</name> + <entityName>Member_entity</entityName> + <fieldName>Objects</fieldName> + <isConsumer v="false" /> + </entityDependency> </dependencies> <children> <entityParameter> diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod index f4638b66ba0..5201c98b5cf 100644 --- a/entity/Person_entity/Person_entity.aod +++ b/entity/Person_entity/Person_entity.aod @@ -344,7 +344,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact <dependencies> <entityDependency> <name>12c5350a-3159-449b-a94e-d57658b4c124</name> - <entityName>SalesprojectMember_entity</entityName> + <entityName>Member_entity</entityName> <fieldName>CurrentContact</fieldName> <isConsumer v="false" /> </entityDependency> @@ -745,7 +745,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact <dependencies> <entityDependency> <name>75f0e309-8b3f-4224-b599-a203405f1bff</name> - <entityName>SalesprojectMember_entity</entityName> + <entityName>Member_entity</entityName> <fieldName>Contacts</fieldName> <isConsumer v="false" /> </entityDependency> diff --git a/entity/SalesprojectMember_entity/entityfields/salesproject_id/valueProcess.js b/entity/SalesprojectMember_entity/entityfields/salesproject_id/valueProcess.js deleted file mode 100644 index 5f36de767cb..00000000000 --- a/entity/SalesprojectMember_entity/entityfields/salesproject_id/valueProcess.js +++ /dev/null @@ -1,10 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); - -if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) -{ - if(vars.exists("$param.SalesprojectId_param") && vars.get("$param.SalesprojectId_param") != null) { - result.string(vars.getString("$param.SalesprojectId_param")); - } -} \ No newline at end of file diff --git a/entity/SalesprojectMember_entity/entityfields/salesproject_role/displayValueProcess.js b/entity/SalesprojectMember_entity/entityfields/salesproject_role/displayValueProcess.js deleted file mode 100644 index c44ff2976cf..00000000000 --- a/entity/SalesprojectMember_entity/entityfields/salesproject_role/displayValueProcess.js +++ /dev/null @@ -1,6 +0,0 @@ -import("system.result"); -import("system.vars"); -import("Keyword_lib"); -import("KeywordRegistry_basic"); - -result.string(KeywordUtils.getViewValue($KeywordRegistry.salesprojectMemberRole(), vars.get("$field.SALESPROJECT_ROLE"))); diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index 85ae01975fd..8858bde5ab1 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -252,18 +252,25 @@ </children> </entityConsumer> <entityConsumer> - <name>SalesprojectMembers</name> + <name>Members</name> <title>${SALESPROJECT_MEMBER}</title> <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>SalesprojectMember_entity</entityName> - <fieldName>SalesprojectMembers</fieldName> + <entityName>Member_entity</entityName> + <fieldName>Links</fieldName> </dependency> <children> <entityParameter> - <name>SalesprojectId_param</name> - <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/salesprojectmembers/children/salesprojectid_param/valueProcess.js</valueProcess> + <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> diff --git a/entity/Salesproject_entity/entityfields/members/children/objectrowid_param/valueProcess.js b/entity/Salesproject_entity/entityfields/members/children/objectrowid_param/valueProcess.js new file mode 100644 index 00000000000..2b119ebfa19 --- /dev/null +++ b/entity/Salesproject_entity/entityfields/members/children/objectrowid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.SALESPROJECTID")); \ No newline at end of file diff --git a/entity/Salesproject_entity/entityfields/members/children/objecttype_param/valueProcess.js b/entity/Salesproject_entity/entityfields/members/children/objecttype_param/valueProcess.js new file mode 100644 index 00000000000..cc6924394ae --- /dev/null +++ b/entity/Salesproject_entity/entityfields/members/children/objecttype_param/valueProcess.js @@ -0,0 +1,4 @@ +import("Context_lib"); +import("system.result"); + +result.string(ContextUtils.getCurrentContextId()); \ No newline at end of file diff --git a/entity/Salesproject_entity/entityfields/salesprojectmembers/children/salesprojectid_param/valueProcess.js b/entity/Salesproject_entity/entityfields/salesprojectmembers/children/salesprojectid_param/valueProcess.js deleted file mode 100644 index b9a94c51a19..00000000000 --- a/entity/Salesproject_entity/entityfields/salesprojectmembers/children/salesprojectid_param/valueProcess.js +++ /dev/null @@ -1,4 +0,0 @@ -import("system.result"); -import("system.vars"); - -result.string(vars.getString("$field.SALESPROJECTID")); \ No newline at end of file diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js b/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js index e6077205b9a..0b0286cf994 100644 --- a/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js +++ b/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js @@ -8,11 +8,11 @@ if (currentId) { var toDelete = [ "SALESPROJECT_MILESTONE", - "SALESPROJECT_MEMBER", "SALESPROJECT_SOURCE" ]; var toDeleteCompetition = [ - "COMPETITION" + "COMPETITION", + "MEMBER" ]; toDelete = toDelete.map(function(pTable) diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index d62906560ff..4edb1f29122 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -3926,21 +3926,6 @@ <key>${WEBSERVICE_ERROR} url:%0 status:%1</key> <value>Webservice nicht erreichbar. URL: %0 %1</value> </entry> - <entry> - <key>file '%0' cannot be read</key> - </entry> - <entry> - <key>Importer</key> - </entry> - <entry> - <key>yyyy-MM-dd HH:mm:ss</key> - </entry> - <entry> - <key>file '%0' does not exist or you have got no permission on this file</key> - </entry> - <entry> - <key>Zip</key> - </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonContext/SalesprojectMember/SalesprojectMember.aod b/neonContext/Member/Member.aod similarity index 66% rename from neonContext/SalesprojectMember/SalesprojectMember.aod rename to neonContext/Member/Member.aod index be5169e7862..3e145baa075 100644 --- a/neonContext/SalesprojectMember/SalesprojectMember.aod +++ b/neonContext/Member/Member.aod @@ -1,18 +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>SalesprojectMember</name> + <name>Member</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <filterview>SalesprojectMemberFilter_view</filterview> - <editview>SalesprojectMemberEdit_view</editview> - <entity>SalesprojectMember_entity</entity> + <filterview>MemberFilter_view</filterview> + <editview>MemberEdit_view</editview> + <entity>Member_entity</entity> <references> <neonViewReference> <name>6b0b9d8f-6fe8-475b-a303-f1c4f2011d37</name> - <view>SalesprojectMemberFilter_view</view> + <view>MemberFilter_view</view> </neonViewReference> <neonViewReference> <name>ebef21a3-c0e1-4333-b769-eb967cb4099b</name> - <view>SalesprojectMemberEdit_view</view> + <view>MemberEdit_view</view> </neonViewReference> </references> </neonContext> diff --git a/neonView/SalesprojectMemberEdit_view/SalesprojectMemberEdit_view.aod b/neonView/MemberEdit_view/MemberEdit_view.aod similarity index 78% rename from neonView/SalesprojectMemberEdit_view/SalesprojectMemberEdit_view.aod rename to neonView/MemberEdit_view/MemberEdit_view.aod index c8bd8886231..57268be06b5 100644 --- a/neonView/SalesprojectMemberEdit_view/SalesprojectMemberEdit_view.aod +++ b/neonView/MemberEdit_view/MemberEdit_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>SalesprojectMemberEdit_view</name> + <name>MemberEdit_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> <isSmall v="true" /> <layout> @@ -15,12 +15,12 @@ <entityField>#ENTITY</entityField> <fields> <entityFieldLink> - <name>0f78acf5-bea7-4c91-afe0-0907d20db131</name> + <name>2cdccd07-43f2-45c9-afcc-498ff2d36d47</name> <entityField>CONTACT_ID</entityField> </entityFieldLink> <entityFieldLink> - <name>b74ab5a3-2d3c-49e6-b7df-219b16ca22fd</name> - <entityField>SALESPROJECT_ROLE</entityField> + <name>84696d3f-fe39-45f2-a48a-90cd916b125f</name> + <entityField>ROLE</entityField> </entityFieldLink> </fields> </genericViewTemplate> diff --git a/neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod b/neonView/MemberFilter_view/MemberFilter_view.aod similarity index 93% rename from neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod rename to neonView/MemberFilter_view/MemberFilter_view.aod index fe1a90deac9..a4725bf9eea 100644 --- a/neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod +++ b/neonView/MemberFilter_view/MemberFilter_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>SalesprojectMemberFilter_view</name> + <name>MemberFilter_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> <filterable v="true" /> <layout> @@ -23,7 +23,7 @@ </neonTableColumn> <neonTableColumn> <name>bea82980-0639-405a-ab3f-92e45f97090e</name> - <entityField>SALESPROJECT_ROLE</entityField> + <entityField>ROLE</entityField> </neonTableColumn> <neonTableColumn> <name>a30a083a-be66-4690-a7b6-19860a9bc72e</name> diff --git a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod index 5bb94f6fd1b..a38abc50e2d 100644 --- a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod +++ b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod @@ -51,8 +51,8 @@ </neonViewReference> <neonViewReference> <name>dafb2a9c-c192-46e2-a233-0799b694ed7d</name> - <entityField>SalesprojectMembers</entityField> - <view>SalesprojectMemberFilter_view</view> + <entityField>Members</entityField> + <view>MemberFilter_view</view> </neonViewReference> <neonViewReference> <name>c0027b4d-c014-4053-a595-daad9a73ad5c</name> diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index efab089abc5..38321fe5ba0 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -48,7 +48,7 @@ $KeywordRegistry.productPricelist = function(){return "ProductPricelist";}; $KeywordRegistry.productPricelist$standardList = function(){return "02553fc7-4611-4914-8ff5-0b7c4e7531c9";}; $KeywordRegistry.quantityUnit = function(){return "QuantityUnit";}; -$KeywordRegistry.salesprojectMemberRole = function(){return "SalesprojectMemberRole";}; +$KeywordRegistry.MemberRole = function(){return "MemberRole";}; $KeywordRegistry.salesprojectSource = function(){return "SalesprojectSource";}; $KeywordRegistry.salesorderState = function(){return "SalesorderState";}; $KeywordRegistry.salesprojectWonLost = function(){return "SalesprojectWonLost";}; -- GitLab