diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod index f92410dc6e452781251f2c741f9e2a4632626f17..2e94d4bd228e5e2984c5e849f7cf651916f2fa05 100644 --- a/aliasDefinition/Data_alias/Data_alias.aod +++ b/aliasDefinition/Data_alias/Data_alias.aod @@ -3791,6 +3791,20 @@ <title></title> <description></description> </entityFieldDb> + <entityFieldDb> + <name>RELATION_TYPE</name> + <dbName></dbName> + <primaryKey v="false" /> + <columnType v="1" /> + <size v="36" /> + <scale v="0" /> + <notNull v="false" /> + <isUnique v="false" /> + <index v="false" /> + <documentation></documentation> + <title></title> + <description></description> + </entityFieldDb> </entityFields> </entityDb> <entityDb> diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod index ece6be667f3735f1bf350754596a6d0bd001ff7f..9e148be36ba46b56d64e22f048bf0159f6ad728f 100644 --- a/entity/Activity_entity/Activity_entity.aod +++ b/entity/Activity_entity/Activity_entity.aod @@ -150,31 +150,9 @@ <mandatory v="false" /> <description>PARAMETER</description> </entityParameter> - <entityConsumer> - <name>ObjectRelations</name> - <title>Relations</title> - <fieldType>DEPENDENCY_OUT</fieldType> - <dependency> - <name>dependency</name> - <entityName>ObjectRelation_entity</entityName> - <fieldName>Object1</fieldName> - </dependency> - <children> - <entityParameter> - <name>Object1Rowid_param</name> - <code>%aditoprj%/entity/Activity_entity/entityfields/objectrelations/children/object1rowid_param/code.js</code> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>Object1Type_param</name> - <code>%aditoprj%/entity/Activity_entity/entityfields/objectrelations/children/object1type_param/code.js</code> - <triggerRecalculation v="true" /> - </entityParameter> - </children> - </entityConsumer> <entityConsumer> <name>Links</name> - <title>Beziehungen</title> + <title>Verknüpfungen</title> <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> diff --git a/entity/AppointmentLink_entity/AppointmentLink_entity.aod b/entity/AppointmentLink_entity/AppointmentLink_entity.aod index bc72da91e628ee5f62b0bdf68103841c9314e292..88950dc8c8a13e8fa81aa062eb65ccbf8eda13e3 100644 --- a/entity/AppointmentLink_entity/AppointmentLink_entity.aod +++ b/entity/AppointmentLink_entity/AppointmentLink_entity.aod @@ -84,7 +84,6 @@ <name>db</name> <alias>Data_alias</alias> <conditionProcess>%aditoprj%/entity/AppointmentLink_entity/recordcontainers/db/conditionProcess.js</conditionProcess> - <onDBInsert>%aditoprj%/entity/AppointmentLink_entity/recordcontainers/db/onDBInsert.js</onDBInsert> <linkInformation> <linkInformation> <name>211047ab-be9d-401b-a2d9-3dd1e048c5c5</name> diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod index de0bacc7b2ce10ec457028c7be050fd9c5d87e09..4ca857a7c8dec52f7cb7a2ff3b4af4a20426e478 100644 --- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod +++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod @@ -252,6 +252,12 @@ <fieldName>KeywordProbabilties</fieldName> <isConsumer v="false" /> </entityDependency> + <entityDependency> + <name>49156847-1f96-462c-b914-e3c22f10ba18</name> + <entityName>ObjectRelation_entity</entityName> + <fieldName>KeywordObjectRelationType</fieldName> + <isConsumer v="false" /> + </entityDependency> <entityDependency> <name>a44375e9-917c-4db8-9aa8-de0625caf78f</name> <entityName>Activity_entity</entityName> diff --git a/entity/ObjectRelation_entity/ObjectRelation_entity.aod b/entity/ObjectRelation_entity/ObjectRelation_entity.aod index 7962870d76d7b67f7f3d91d16bb3a4a301c3cc2d..4ea612737b1477d8e10af5778db15db7348729c2 100644 --- a/entity/ObjectRelation_entity/ObjectRelation_entity.aod +++ b/entity/ObjectRelation_entity/ObjectRelation_entity.aod @@ -15,9 +15,6 @@ <consumer>Contexts</consumer> <linkedContext>Context</linkedContext> <mandatory v="true" /> - <stateProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object1_type/stateProcess.js</stateProcess> - <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object1_type/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object1_type/displayValueProcess.js</displayValueProcess> </entityField> <entityField> <name>OBJECT1_ROWID</name> @@ -25,9 +22,6 @@ <consumer>Objects1</consumer> <linkedContextProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object1_rowid/linkedContextProcess.js</linkedContextProcess> <mandatory v="true" /> - <stateProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object1_rowid/stateProcess.js</stateProcess> - <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object1_rowid/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object1_rowid/displayValueProcess.js</displayValueProcess> </entityField> <entityField> <name>AB_OBJECTRELATIONID</name> @@ -39,10 +33,7 @@ <consumer>Objects2</consumer> <linkedContextProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2_rowid/linkedContextProcess.js</linkedContextProcess> <mandatory v="true" /> - <stateProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2_rowid/stateProcess.js</stateProcess> <titleProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2_rowid/titleProcess.js</titleProcess> - <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2_rowid/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2_rowid/displayValueProcess.js</displayValueProcess> </entityField> <entityField> <name>OBJECT2_TYPE</name> @@ -50,235 +41,7 @@ <consumer>Contexts</consumer> <linkedContext>Context</linkedContext> <mandatory v="true" /> - <stateProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2_type/stateProcess.js</stateProcess> - <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2_type/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2_type/displayValueProcess.js</displayValueProcess> </entityField> - <entityParameter> - <name>Object1Type_param</name> - <expose v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityProvider> - <name>Object1</name> - <fieldType>DEPENDENCY_IN</fieldType> - <targetContextField>OBJECT2_TYPE</targetContextField> - <targetIdField>OBJECT2_ROWID</targetIdField> - <documentation>%aditoprj%/entity/ObjectRelation_entity/entityfields/object1/documentation.adoc</documentation> - <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>637d4127-8eba-42e3-9857-a2869668f94c</name> - <entityName>Activity_entity</entityName> - <fieldName>ObjectRelations</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>AnyObjectRowid_param</name> - <expose v="false" /> - <mandatory v="false" /> - </entityParameter> - <entityParameter> - <name>AnyObjectType_param</name> - <expose v="false" /> - <mandatory v="false" /> - </entityParameter> - <entityParameter> - <name>Object2Rowid_param</name> - <expose v="false" /> - <mandatory v="false" /> - </entityParameter> - <entityParameter> - <name>Object2Type_param</name> - <expose v="false" /> - <mandatory v="false" /> - </entityParameter> - <entityParameter> - <name>Object1Type_param</name> - <expose v="true" /> - <mandatory v="true" /> - </entityParameter> - <entityParameter> - <name>Object1Rowid_param</name> - <expose v="true" /> - </entityParameter> - </children> - </entityProvider> - <entityParameter> - <name>Object1Rowid_param</name> - <expose v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityProvider> - <name>Object2</name> - <fieldType>DEPENDENCY_IN</fieldType> - <targetContextField>OBJECT1_TYPE</targetContextField> - <targetIdField>OBJECT1_ROWID</targetIdField> - <documentation>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2/documentation.adoc</documentation> - <recordContainer>db</recordContainer> - <children> - <entityParameter> - <name>AnyObjectRowid_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>AnyObjectType_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>Object1Rowid_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>Object1Type_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>Object2Rowid_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>Object2Type_param</name> - <expose v="true" /> - <mandatory v="true" /> - </entityParameter> - </children> - </entityProvider> - <entityProvider> - <name>BothObjects</name> - <fieldType>DEPENDENCY_IN</fieldType> - <targetContextField>OBJECT2_TYPE</targetContextField> - <targetIdField>OBJECT2_ROWID</targetIdField> - <documentation>%aditoprj%/entity/ObjectRelation_entity/entityfields/bothobjects/documentation.adoc</documentation> - <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>cb49ee3d-4497-4edc-90b6-82d397464f75</name> - <entityName>Organisation_entity</entityName> - <fieldName>TaskObjectRelations</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>AnyObjectRowid_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>AnyObjectType_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>Object1Rowid_param</name> - <expose v="true" /> - <mandatory v="false" /> - </entityParameter> - <entityParameter> - <name>Object1Type_param</name> - <expose v="true" /> - <mandatory v="true" /> - </entityParameter> - <entityParameter> - <name>Object2Rowid_param</name> - <expose v="true" /> - <mandatory v="false" /> - </entityParameter> - <entityParameter> - <name>Object2Type_param</name> - <expose v="true" /> - <mandatory v="true" /> - </entityParameter> - </children> - </entityProvider> - <entityParameter> - <name>Object2Rowid_param</name> - <expose v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>Object2Type_param</name> - <expose v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>AnyObjectRowid_param</name> - <expose v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>AnyObjectType_param</name> - <expose v="true" /> - <mandatory v="false" /> - <description>PARAMETER</description> - </entityParameter> - <entityProvider> - <name>AnyObject</name> - <fieldType>DEPENDENCY_IN</fieldType> - <targetContextField>AnyObjectType</targetContextField> - <targetIdField>AnyObjectRowid</targetIdField> - <documentation>%aditoprj%/entity/ObjectRelation_entity/entityfields/anyobject/documentation.adoc</documentation> - <recordContainer>db</recordContainer> - <dependencies> - <entityDependency> - <name>744259f7-3b08-4147-8376-3311b7a35712</name> - <entityName>Person_entity</entityName> - <fieldName>ObjectRelations</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>38acc24a-716c-4c58-9e6f-9d3ccca0ab43</name> - <entityName>Organisation_entity</entityName> - <fieldName>ObjectRelations</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>f3b9bfa5-e04d-45b4-8bd6-baed4c7ceac0</name> - <entityName>Appointment_entity</entityName> - <fieldName>ObjectRelations</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>279f61ad-de6d-4538-a763-51965e2c7e0a</name> - <entityName>Salesproject_entity</entityName> - <fieldName>ObjectRelations</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> - <children> - <entityParameter> - <name>Object1Rowid_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>Object1Type_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>Object2Rowid_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>Object2Type_param</name> - <expose v="false" /> - </entityParameter> - <entityParameter> - <name>AnyObjectRowid_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>AnyObjectType_param</name> - <expose v="true" /> - <mandatory v="true" /> - </entityParameter> - </children> - </entityProvider> <entityConsumer> <name>Contexts</name> <fieldType>DEPENDENCY_OUT</fieldType> @@ -321,25 +84,103 @@ </children> </entityConsumer> <entityField> - <name>AnyObjectRowid</name> - <documentation>%aditoprj%/entity/ObjectRelation_entity/entityfields/anyobjectrowid/documentation.adoc</documentation> - <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/anyobjectrowid/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/anyobjectrowid/displayValueProcess.js</displayValueProcess> + <name>OtherObjectRowid</name> + <title>Object</title> + <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/otherobjectrowid/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/otherobjectrowid/displayValueProcess.js</displayValueProcess> + </entityField> + <entityField> + <name>OtherObjectType</name> + <title>Object type</title> + <groupable v="true" /> + <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/otherobjecttype/valueProcess.js</valueProcess> + <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/otherobjecttype/displayValueProcess.js</displayValueProcess> </entityField> <entityField> - <name>AnyObjectType</name> - <documentation>%aditoprj%/entity/ObjectRelation_entity/entityfields/anyobjecttype/documentation.adoc</documentation> + <name>RELATION_TYPE</name> + <title>Relationtype</title> + <consumer>KeywordObjectRelationType</consumer> + <searchable v="true" /> <groupable v="true" /> - <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/anyobjecttype/valueProcess.js</valueProcess> - <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/anyobjecttype/displayValueProcess.js</displayValueProcess> + <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/relation_type/displayValueProcess.js</displayValueProcess> </entityField> + <entityProvider> + <name>ObjectRelations</name> + <fieldType>DEPENDENCY_IN</fieldType> + <targetContextField>OtherObjectType</targetContextField> + <targetIdField>OtherObjectRowid</targetIdField> + <dependencies> + <entityDependency> + <name>30a7c954-3127-4ceb-9838-a0b7b55d0c8c</name> + <entityName>Person_entity</entityName> + <fieldName>ObjectRelations</fieldName> + <isConsumer v="false" /> + </entityDependency> + <entityDependency> + <name>3f268dec-4672-4de0-98b2-7616f344248f</name> + <entityName>Organisation_entity</entityName> + <fieldName>ObjectRelations</fieldName> + <isConsumer v="false" /> + </entityDependency> + </dependencies> + <children> + <entityParameter> + <name>ProviderType_param</name> + <code>%aditoprj%/entity/ObjectRelation_entity/entityfields/objectrelations/children/providertype_param/code.js</code> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectRowid_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + <mandatory v="true" /> + </entityParameter> + </children> + </entityProvider> <entityParameter> - <name>Object2RowidTitle_param</name> + <name>ProviderType_param</name> + <code>%aditoprj%/entity/ObjectRelation_entity/entityfields/providertype_param/code.js</code> <expose v="true" /> + <mandatory v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityConsumer> + <name>KeywordObjectRelationType</name> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>KeywordEntry_entity</entityName> + <fieldName>SpecificContainerKeywords</fieldName> + </dependency> + <children> + <entityParameter> + <name>containerName_param</name> + <code>%aditoprj%/entity/ObjectRelation_entity/entityfields/keywordobjectrelationtype/children/containername_param/code.js</code> + </entityParameter> + </children> + </entityConsumer> + <entityParameter> + <name>ObjectType_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> + <description>PARAMETER</description> + </entityParameter> + <entityParameter> + <name>ObjectRowid_param</name> + <expose v="true" /> + <triggerRecalculation v="true" /> + <mandatory v="true" /> <description>PARAMETER</description> </entityParameter> <entityField> - <name>EMPTY</name> + <name>CurrentObjectNumber</name> + <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/currentobjectnumber/valueProcess.js</valueProcess> </entityField> </entityFields> <recordContainers> @@ -347,15 +188,23 @@ <name>db</name> <description>&lt;null value&gt;</description> <alias>Data_alias</alias> + <fromClauseProcess>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess> <conditionProcess>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/conditionProcess.js</conditionProcess> <linkInformation> <linkInformation> - <name>5c101805-5643-466c-b1b8-0462cd90c400</name> + <name>cdd73537-58eb-45af-a9a6-12ccc2013276</name> <tableName>AB_OBJECTRELATION</tableName> <primaryKey>AB_OBJECTRELATIONID</primaryKey> <isUIDTable v="true" /> <readonly v="false" /> </linkInformation> + <linkInformation> + <name>7d06e3b3-0455-4a32-876a-ee6430248f53</name> + <tableName>AB_KEYWORD_ENTRY</tableName> + <primaryKey>AB_KEYWORD_ENTRYID</primaryKey> + <isUIDTable v="false" /> + <readonly v="true" /> + </linkInformation> </linkInformation> <recordFieldMappings> <dbRecordFieldMapping> @@ -386,6 +235,10 @@ <name>OBJECT1_ROWID.displayValue</name> <expression>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_rowid.displayvalue/expression.js</expression> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>RELATION_TYPE.value</name> + <recordfield>AB_OBJECTRELATION.RELATION_TYPE</recordfield> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/ObjectRelation_entity/entityfields/ab_objectrelationid/valueProcess.js b/entity/ObjectRelation_entity/entityfields/ab_objectrelationid/valueProcess.js index f76379296760e9936f42f3cf5a76d9dd62b99931..f6b9da922bcaccb0006690f599c1d3cee4d00c55 100644 --- a/entity/ObjectRelation_entity/entityfields/ab_objectrelationid/valueProcess.js +++ b/entity/ObjectRelation_entity/entityfields/ab_objectrelationid/valueProcess.js @@ -4,4 +4,4 @@ import("system.vars"); import("system.result"); if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) -result.string(util.getNewUUID()); \ No newline at end of file + result.string(util.getNewUUID()); \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/anyobject/documentation.adoc b/entity/ObjectRelation_entity/entityfields/anyobject/documentation.adoc deleted file mode 100644 index 11ee142148f46c766d5cff09a51554b9586ae806..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/anyobject/documentation.adoc +++ /dev/null @@ -1,10 +0,0 @@ -== AnyObject provider == - -is for bidirectional Objectrelations. - -Example: -if you provide the contact "Lisa Sommer" as parameters (any..._param) you will get all relations which contain "Lisa Sommer" as Object1 OR Object2. - -You will get both: -Object1 = "Lisa Sommer", Object2 = "GFK" -Object1 = "GFK", Object2 = "Lisa Sommer" \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/bothobjects/documentation.adoc b/entity/ObjectRelation_entity/entityfields/bothobjects/documentation.adoc deleted file mode 100644 index 12b757625cd1d43f35571bf502247121fa75bfad..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/bothobjects/documentation.adoc +++ /dev/null @@ -1,16 +0,0 @@ -== BothObject provider == - -is for getting relations between TWO SPECIFIC objects. - -Example: -if you provide the contact "Lisa Sommer" and organisation "GFK" as parameters (objectX..._param) you will get all relations which contain "Lisa Sommer" as Object1 and "GFK" as Object2. - -You will get only: -Object1 = "Lisa Sommer", Object2 = "GFK" - - -You WON'T get: -Object1 = "GFK", Object2 = "Lisa Sommer" -Object1 = "Peter Pfiffig", Object2 = "Lisa Sommer" -Object1 = "Peter Pfiffig", Object2 = "GFK" -... \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/currentobjectnumber/valueProcess.js b/entity/ObjectRelation_entity/entityfields/currentobjectnumber/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..8df1445a9bceed11f2ea0643cb5f75f04b5f6257 --- /dev/null +++ b/entity/ObjectRelation_entity/entityfields/currentobjectnumber/valueProcess.js @@ -0,0 +1,10 @@ +import("system.result"); +import("ObjectRelation_lib"); + +result.string(ObjectRelationUtils.getCurrentObjectNum( + "$param.ObjectType_param", + "$param.ObjectRowid_param", + "$field.OBJECT1_TYPE", + "$field.OBJECT1_ROWID", + "$field.OBJECT2_TYPE", + "$field.OBJECT2_ROWID")); \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/keywordobjectrelationtype/children/containername_param/code.js b/entity/ObjectRelation_entity/entityfields/keywordobjectrelationtype/children/containername_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..48379a6374dacddb9ccbcaa323c9a24e96e105c1 --- /dev/null +++ b/entity/ObjectRelation_entity/entityfields/keywordobjectrelationtype/children/containername_param/code.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("ObjectRelationType"); \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object1/documentation.adoc b/entity/ObjectRelation_entity/entityfields/object1/documentation.adoc deleted file mode 100644 index ba1539f3db1bde56a2cbc29def9c110b3402ba82..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object1/documentation.adoc +++ /dev/null @@ -1,16 +0,0 @@ -== Object1 provider == - -is for getting relations between Object1 and something. - -Example: -if you provide the contact "Lisa Sommer" as parameter (object1..._param) you will get all relations which contain "Lisa Sommer" as Object1. - -You will get: -Object1 = "Lisa Sommer", Object2 = "GFK" - - -You WON'T get: -Object1 = "GFK", Object2 = "Lisa Sommer" -Object1 = "Peter Pfiffig", Object2 = "Lisa Sommer" -Object1 = "Peter Pfiffig", Object2 = "GFK" -... \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object1_rowid/displayValueProcess.js b/entity/ObjectRelation_entity/entityfields/object1_rowid/displayValueProcess.js deleted file mode 100644 index f82167f8b69e5413ef49fe0d7ce1dc2cbdebc500..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object1_rowid/displayValueProcess.js +++ /dev/null @@ -1,25 +0,0 @@ -import("system.neon"); -import("system.vars"); -import("system.result"); -import("system.db"); -import("Context_lib"); - -var recordstate = vars.get("$sys.recordstate"); -if (recordstate == neon.OPERATINGSTATE_NEW) -{ - if (vars.exists("$param.AnyObjectRowid_param") && vars.get("$param.AnyObjectRowid_param")) - { - result.string(db.cell(ContextUtils.getNameSql(vars.get("$param.AnyObjectType_param"), vars.get("$param.AnyObjectRowid_param")))); - } - else if (vars.exists("$param.Object1Rowid_param") && vars.get("$param.Object1Rowid_param")) - { - result.string(vars.get("$param.Object1Rowid_param")); - } -} -else if (recordstate == neon.OPERATINGSTATE_EDIT) -{ - if (vars.exists("$field.OBJECT1_ROWID") && vars.get("$field.OBJECT1_ROWID") && vars.exists("$field.OBJECT1_TYPE") && vars.get("$field.OBJECT1_TYPE")) - { - result.string(db.cell(ContextUtils.getNameSql(vars.get("$field.OBJECT1_TYPE"), vars.get("$field.OBJECT1_ROWID")))); - } -} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object1_rowid/stateProcess.js b/entity/ObjectRelation_entity/entityfields/object1_rowid/stateProcess.js deleted file mode 100644 index 5f470da0cc219d8c305b419a6a832c5e7a5a3b54..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object1_rowid/stateProcess.js +++ /dev/null @@ -1,14 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); - -var recordstate = vars.get("$sys.recordstate"); -if (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT) -{ - - if ((vars.exists("$param.AnyObjectRowid_param") && vars.get("$param.AnyObjectRowid_param")) - || (vars.exists("$param.Object1Rowid_param") && vars.get("$param.Object1Rowid_param"))) - { - result.string(neon.COMPONENTSTATE_READONLY); - } -} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object1_rowid/valueProcess.js b/entity/ObjectRelation_entity/entityfields/object1_rowid/valueProcess.js deleted file mode 100644 index 679db41733d3a5ffa393e371edb985ae2c8dc344..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object1_rowid/valueProcess.js +++ /dev/null @@ -1,21 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); - -var recordstate = vars.get("$sys.recordstate"); - -if (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT) -{ - if (vars.exists("$param.AnyObjectRowid_param") && vars.get("$param.AnyObjectRowid_param")) - { - result.string(vars.get("$param.AnyObjectRowid_param")); - } - else if (vars.exists("$param.Object1Rowid_param") && vars.get("$param.Object1Rowid_param")) - { - result.string(vars.get("$param.Object1Rowid_param")); - } - else if (!vars.get("$field.OBJECT2_TYPE")) - { - result.string(""); - } -} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object1_type/displayValueProcess.js b/entity/ObjectRelation_entity/entityfields/object1_type/displayValueProcess.js deleted file mode 100644 index b6e7d799d813ac8a3965c6578ab8d5da3ba285ee..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object1_type/displayValueProcess.js +++ /dev/null @@ -1,24 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); -import("system.project"); - -var recordstate = vars.get("$sys.recordstate"); -if (recordstate == neon.OPERATINGSTATE_NEW) -{ - if (vars.exists("$param.AnyObjectType_param") && vars.get("$param.AnyObjectType_param")) - { - result.string(project.getDataModel(project.DATAMODEL_KIND_CONTEXT, vars.get("$param.AnyObjectType_param"))[1]); - } - else if (vars.exists("$param.Object1Type_param") && vars.get("$param.Object1Type_param")) - { - result.string(project.getDataModel(project.DATAMODEL_KIND_CONTEXT, vars.get("$param.Object1Type_param"))[1]); - } -} -else -{ - if (vars.exists("$field.OBJECT1_TYPE") && vars.get("$field.OBJECT1_TYPE")) - { - result.string(project.getDataModel(project.DATAMODEL_KIND_CONTEXT, vars.get("$field.OBJECT1_TYPE"))[1]); - } -} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object1_type/stateProcess.js b/entity/ObjectRelation_entity/entityfields/object1_type/stateProcess.js deleted file mode 100644 index 7cbd5a35ac443244ab9d384daab659e8ffc0a4ef..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object1_type/stateProcess.js +++ /dev/null @@ -1,14 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); - -var recordstate = vars.get("$sys.recordstate"); -if (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT) -{ - if ((vars.exists("$param.AnyObjectType_param") && vars.get("$param.AnyObjectType_param")) - || (vars.exists("$param.Object1Type_param") && vars.get("$param.Object1Type_param"))) - { - result.string(neon.COMPONENTSTATE_READONLY); - } -} -result.string(neon.COMPONENTSTATE_READONLY); \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object1_type/valueProcess.js b/entity/ObjectRelation_entity/entityfields/object1_type/valueProcess.js deleted file mode 100644 index 86b9f8b6ba7ce8a629827f7f4387e2554482268c..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object1_type/valueProcess.js +++ /dev/null @@ -1,16 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); - -var recordstate = vars.get("$sys.recordstate"); -if (recordstate == neon.OPERATINGSTATE_NEW) -{ - if (vars.exists("$param.AnyObjectType_param") && vars.get("$param.AnyObjectType_param")) - { - result.string(vars.get("$param.AnyObjectType_param")); - } - else if (vars.exists("$param.Object1Type_param") && vars.get("$param.Object1Type_param")) - { - result.string(vars.get("$param.Object1Type_param")); - } -} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object2/documentation.adoc b/entity/ObjectRelation_entity/entityfields/object2/documentation.adoc deleted file mode 100644 index 9ce67b8769d5d8f1ae4a0e687d20c756db0572e9..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object2/documentation.adoc +++ /dev/null @@ -1,17 +0,0 @@ -== Object2 provider == - -is for getting relations between something and Object2. - -Example: -if you provide the contact "Lisa Sommer" as parameter (object2..._param) you will get all relations which contain "Lisa Sommer" as Object2. - -You will get: -Object1 = "GFK", Object2 = "Lisa Sommer" -Object1 = "Peter Pfiffig", Object2 = "Lisa Sommer" - - -You WON'T get: -Object1 = "Lisa Sommer", Object2 = "GFK" -Object1 = "Peter Pfiffig", Object2 = "GFK" -Object1 = "Lisa Sommer", Object2 = "Peter Pfiffig" -... \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object2_rowid/displayValueProcess.js b/entity/ObjectRelation_entity/entityfields/object2_rowid/displayValueProcess.js deleted file mode 100644 index 04cbd7a32102a5efd583a0af62b1ce46ecebdbb7..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object2_rowid/displayValueProcess.js +++ /dev/null @@ -1,14 +0,0 @@ -import("system.neon"); -import("system.vars"); -import("system.result"); -import("system.db"); -import("Context_lib"); - -var recordstate = vars.get("$sys.recordstate"); -if (recordstate == neon.OPERATINGSTATE_EDIT) -{ - if (vars.exists("$field.OBJECT1_ROWID") && vars.get("$field.OBJECT1_ROWID") && vars.exists("$field.OBJECT1_TYPE") && vars.get("$field.OBJECT1_TYPE")) - { - result.string(db.cell(ContextUtils.getNameSql(vars.get("$field.OBJECT1_TYPE"), vars.get("$field.OBJECT1_ROWID")))); - } -} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object2_rowid/stateProcess.js b/entity/ObjectRelation_entity/entityfields/object2_rowid/stateProcess.js deleted file mode 100644 index 51c5fa78a283b5a93d4c88cdf1fa8e8f63b0b5c8..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object2_rowid/stateProcess.js +++ /dev/null @@ -1,10 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); - -var recordstate = vars.get("$sys.recordstate"); -if (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT) -{ - if (vars.exists("$param.Object2Rowid_param") && vars.get("$param.Object2Rowid_param")) - result.string(neon.COMPONENTSTATE_READONLY); -} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object2_rowid/valueProcess.js b/entity/ObjectRelation_entity/entityfields/object2_rowid/valueProcess.js deleted file mode 100644 index 907eff1114e5acdd24b9b180372e7059ede6e6db..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object2_rowid/valueProcess.js +++ /dev/null @@ -1,16 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); - -var recordstate = vars.get("$sys.recordstate"); -if (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT) -{ - if (vars.exists("$param.Object2Rowid_param") && vars.get("$param.Object2Rowid_param")) - { - result.string(vars.get("$param.Object2Rowid_param")); - } - else if (!vars.get("$field.OBJECT2_TYPE")) - { - result.string(""); - } -} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object2_type/displayValueProcess.js b/entity/ObjectRelation_entity/entityfields/object2_type/displayValueProcess.js deleted file mode 100644 index ba3a5abf21cc5c380abfdb4ecd12e0306f3180aa..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object2_type/displayValueProcess.js +++ /dev/null @@ -1,8 +0,0 @@ -import("system.result"); -import("system.vars"); -import("system.project"); - -if (vars.exists("$field.OBJECT2_TYPE") && vars.get("$field.OBJECT2_TYPE")) -{ - result.string(project.getDataModel(project.DATAMODEL_KIND_CONTEXT, vars.get("$field.OBJECT2_TYPE"))[1]); -} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object2_type/stateProcess.js b/entity/ObjectRelation_entity/entityfields/object2_type/stateProcess.js deleted file mode 100644 index 7d99ab991e0db32c5e2666c93aebe5ba80473a3f..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object2_type/stateProcess.js +++ /dev/null @@ -1,10 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); - -var recordstate = vars.get("$sys.recordstate"); -if (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT) -{ - if (vars.exists("$param.Object2Type_param") && vars.get("$param.Object2Type_param")) - result.string(neon.COMPONENTSTATE_READONLY); -} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/object2_type/valueProcess.js b/entity/ObjectRelation_entity/entityfields/object2_type/valueProcess.js deleted file mode 100644 index 55e043e903bc285e19000fa5a2499afac485b547..0000000000000000000000000000000000000000 --- a/entity/ObjectRelation_entity/entityfields/object2_type/valueProcess.js +++ /dev/null @@ -1,12 +0,0 @@ -import("system.result"); -import("system.neon"); -import("system.vars"); - -var recordstate = vars.get("$sys.recordstate"); -if (recordstate == neon.OPERATINGSTATE_NEW) -{ - if (vars.exists("$param.Object2Type_param") && vars.get("$param.Object2Type_param")) - { - result.string(vars.get("$param.Object2Type_param")); - } -} \ No newline at end of file diff --git a/entity/Organisation_entity/entityfields/taskobjectrelations/children/object2type_param/code.js b/entity/ObjectRelation_entity/entityfields/objectrelations/children/providertype_param/code.js similarity index 54% rename from entity/Organisation_entity/entityfields/taskobjectrelations/children/object2type_param/code.js rename to entity/ObjectRelation_entity/entityfields/objectrelations/children/providertype_param/code.js index 86bf9bdfc95f2757f6ee947b7549edad4ce0b154..4a2d2e1c96782b8407f30181246efb90a9efd35a 100644 --- a/entity/Organisation_entity/entityfields/taskobjectrelations/children/object2type_param/code.js +++ b/entity/ObjectRelation_entity/entityfields/objectrelations/children/providertype_param/code.js @@ -1,3 +1,3 @@ import("system.result"); -result.string("Task"); \ No newline at end of file +result.string("tree"); \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/objecttree/children/providertype_param/code.js b/entity/ObjectRelation_entity/entityfields/objecttree/children/providertype_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..4a2d2e1c96782b8407f30181246efb90a9efd35a --- /dev/null +++ b/entity/ObjectRelation_entity/entityfields/objecttree/children/providertype_param/code.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("tree"); \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/otherobjectrowid/displayValueProcess.js b/entity/ObjectRelation_entity/entityfields/otherobjectrowid/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..dbd64f0ccc27bc7902948dc271790de92717a9c1 --- /dev/null +++ b/entity/ObjectRelation_entity/entityfields/otherobjectrowid/displayValueProcess.js @@ -0,0 +1,7 @@ +import("system.db"); +import("system.result"); +import("system.vars"); +import("Context_lib"); + +if (vars.exists("$field.OtherObjectType") && vars.get("$field.OtherObjectType") && (vars.exists("$field.OtherObjectRowid") && vars.get("$field.OtherObjectRowid"))) + result.string(db.cell(ContextUtils.getNameSql(vars.get("$field.OtherObjectType"), vars.get("$field.OtherObjectRowid")))); diff --git a/entity/ObjectRelation_entity/entityfields/otherobjectrowid/valueProcess.js b/entity/ObjectRelation_entity/entityfields/otherobjectrowid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..926cb573d8e4f18eb116616164664813e314d684 --- /dev/null +++ b/entity/ObjectRelation_entity/entityfields/otherobjectrowid/valueProcess.js @@ -0,0 +1,12 @@ +import("system.result"); +import("system.vars"); + +var currentNum = vars.get("$field.CurrentObjectNumber"); +if (currentNum == "1") +{ + result.string(vars.get("$field.OBJECT2_ROWID")); +} +else if (currentNum == "2") +{ + result.string(vars.get("$field.OBJECT1_ROWID")); +} \ No newline at end of file diff --git a/entity/AppointmentLink_entity/recordcontainers/db/onDBInsert.js b/entity/ObjectRelation_entity/entityfields/otherobjecttype/displayValueProcess.js similarity index 100% rename from entity/AppointmentLink_entity/recordcontainers/db/onDBInsert.js rename to entity/ObjectRelation_entity/entityfields/otherobjecttype/displayValueProcess.js diff --git a/entity/ObjectRelation_entity/entityfields/otherobjecttype/valueProcess.js b/entity/ObjectRelation_entity/entityfields/otherobjecttype/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..2633a8804cecc2165d00ad13c9e334d887404830 --- /dev/null +++ b/entity/ObjectRelation_entity/entityfields/otherobjecttype/valueProcess.js @@ -0,0 +1,12 @@ +import("system.result"); +import("system.vars"); + +var currentNum = vars.get("$field.CurrentObjectNumber"); +if (currentNum == "1") +{ + result.string(vars.get("$field.OBJECT2_TYPE")); +} +else if (currentNum == "2") +{ + result.string(vars.get("$field.OBJECT1_TYPE")); +} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/providertype_param/code.js b/entity/ObjectRelation_entity/entityfields/providertype_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..981503eee34d83611c7bf484a2fab5e86840bf03 --- /dev/null +++ b/entity/ObjectRelation_entity/entityfields/providertype_param/code.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("none"); \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/relation_type/displayValueProcess.js b/entity/ObjectRelation_entity/entityfields/relation_type/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..087347e37ccd95d5c0a15ff8f2c7548e0b6aa70f --- /dev/null +++ b/entity/ObjectRelation_entity/entityfields/relation_type/displayValueProcess.js @@ -0,0 +1,29 @@ +import("system.db"); +import("system.result"); +import("system.vars"); +import("system.translate"); +import("Context_lib"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +if (vars.exists("$field.OtherObjectType") && vars.get("$field.OtherObjectType") && (vars.exists("$field.OtherObjectRowid") && vars.get("$field.OtherObjectRowid"))) +{ + var attributes = KeywordUtils.getAttributeRelationsByKey(vars.get("$field.RELATION_TYPE"), $KeywordRegistry.objectRelationType()); + var currentObjectNum = vars.get("$field.CurrentObjectNumber"); + var name = ""; + + switch (currentObjectNum) + { + case "1": + // if second title doesn't exist, it is same like the first one. + if (attributes.Object2Title == null) + name = attributes.Object1Title; + else + name = attributes.Object2Title; + break; + case "2": + name = attributes.Object1Title; + break; + } + result.string(translate.text(name)); +} \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/anyobjectrowid/displayValueProcess.js b/entity/ObjectRelation_entity/entityfields/targetobjectrowid/displayValueProcess.js similarity index 58% rename from entity/ObjectRelation_entity/entityfields/anyobjectrowid/displayValueProcess.js rename to entity/ObjectRelation_entity/entityfields/targetobjectrowid/displayValueProcess.js index 29b3c356fb8f351c572ff747316347964f3b279d..f262c44d341bd7722a749aaaf5551dfac9ec5ced 100644 --- a/entity/ObjectRelation_entity/entityfields/anyobjectrowid/displayValueProcess.js +++ b/entity/ObjectRelation_entity/entityfields/targetobjectrowid/displayValueProcess.js @@ -3,7 +3,10 @@ import("system.result"); import("system.vars"); import("Context_lib"); -if (vars.exists("$field.AnyObjectType") && vars.get("$field.AnyObjectType") && vars.exists("$field.AnyObjectRowid") && vars.get("$field.AnyObjectRowid")) +var providerType = vars.getString("$param.ProviderType_param"); + +// any object +if (providerType == "any") { result.string(db.cell(ContextUtils.getNameSql(vars.get("$field.AnyObjectType"), vars.get("$field.AnyObjectRowid")))); } diff --git a/entity/ObjectRelation_entity/entityfields/anyobjectrowid/documentation.adoc b/entity/ObjectRelation_entity/entityfields/targetobjectrowid/documentation.adoc similarity index 100% rename from entity/ObjectRelation_entity/entityfields/anyobjectrowid/documentation.adoc rename to entity/ObjectRelation_entity/entityfields/targetobjectrowid/documentation.adoc diff --git a/entity/ObjectRelation_entity/entityfields/anyobjectrowid/valueProcess.js b/entity/ObjectRelation_entity/entityfields/targetobjectrowid/valueProcess.js similarity index 90% rename from entity/ObjectRelation_entity/entityfields/anyobjectrowid/valueProcess.js rename to entity/ObjectRelation_entity/entityfields/targetobjectrowid/valueProcess.js index 30698cf10e59153bd413ab2cd1a62f6438142a74..7b5c62b30062a183c218818a9446d53cee05986c 100644 --- a/entity/ObjectRelation_entity/entityfields/anyobjectrowid/valueProcess.js +++ b/entity/ObjectRelation_entity/entityfields/targetobjectrowid/valueProcess.js @@ -3,9 +3,10 @@ import("system.vars"); var openedType; var openedRowid; +var providerType = vars.getString("$param.ProviderType_param"); // any object -if (vars.exists("$param.AnyObjectType_param") && vars.get("$param.AnyObjectType_param")) +if (providerType == "any") { openedType = vars.get("$param.AnyObjectType_param"); if (vars.exists("$param.AnyObjectRowid_param") && vars.get("$param.AnyObjectRowid_param")) diff --git a/entity/ObjectRelation_entity/entityfields/anyobjecttype/displayValueProcess.js b/entity/ObjectRelation_entity/entityfields/targetobjecttype/displayValueProcess.js similarity index 63% rename from entity/ObjectRelation_entity/entityfields/anyobjecttype/displayValueProcess.js rename to entity/ObjectRelation_entity/entityfields/targetobjecttype/displayValueProcess.js index ca00da6bc37690b86ed4f22e84626869fba6984b..24c141470a2c2abc3d1f6f0f81af2ddbdbf9fbc0 100644 --- a/entity/ObjectRelation_entity/entityfields/anyobjecttype/displayValueProcess.js +++ b/entity/ObjectRelation_entity/entityfields/targetobjecttype/displayValueProcess.js @@ -2,7 +2,10 @@ import("system.project"); import("system.result"); import("system.vars"); -if (vars.exists("$field.AnyObjectType") && vars.get("$field.AnyObjectType")) +var providerType = vars.getString("$param.ProviderType_param"); + +// any object +if (providerType == "any") { result.string(project.getDataModel(project.DATAMODEL_KIND_CONTEXT, vars.get("$field.AnyObjectType"))[1]); } \ No newline at end of file diff --git a/entity/ObjectRelation_entity/entityfields/anyobjecttype/documentation.adoc b/entity/ObjectRelation_entity/entityfields/targetobjecttype/documentation.adoc similarity index 100% rename from entity/ObjectRelation_entity/entityfields/anyobjecttype/documentation.adoc rename to entity/ObjectRelation_entity/entityfields/targetobjecttype/documentation.adoc diff --git a/entity/ObjectRelation_entity/entityfields/anyobjecttype/valueProcess.js b/entity/ObjectRelation_entity/entityfields/targetobjecttype/valueProcess.js similarity index 91% rename from entity/ObjectRelation_entity/entityfields/anyobjecttype/valueProcess.js rename to entity/ObjectRelation_entity/entityfields/targetobjecttype/valueProcess.js index 8635bcb6845130b5780e8ee872af7afa2159b97d..03a9ea0a0fcf48ff3abea05942f910e7ca25bdbc 100644 --- a/entity/ObjectRelation_entity/entityfields/anyobjecttype/valueProcess.js +++ b/entity/ObjectRelation_entity/entityfields/targetobjecttype/valueProcess.js @@ -4,9 +4,10 @@ import("system.vars"); var openedType; var openedRowid; +var providerType = vars.getString("$param.ProviderType_param"); // any object -if (vars.exists("$param.AnyObjectType_param") && vars.get("$param.AnyObjectType_param")) +if (providerType == "any") { openedType = vars.get("$param.AnyObjectType_param"); if (vars.exists("$param.AnyObjectRowid_param") && vars.get("$param.AnyObjectRowid_param")) diff --git a/entity/ObjectRelation_entity/recordcontainers/db/conditionProcess.js b/entity/ObjectRelation_entity/recordcontainers/db/conditionProcess.js index fd3608bd8705e0b8cc518d06c4530b32a7e3e589..0db999c185394838074362e6a4b40b07f0eee4cd 100644 --- a/entity/ObjectRelation_entity/recordcontainers/db/conditionProcess.js +++ b/entity/ObjectRelation_entity/recordcontainers/db/conditionProcess.js @@ -1,37 +1,26 @@ +import("system.logging"); import("system.vars"); import("system.result"); import("system.db"); import("Sql_lib"); -var anyObject = SqlCondition.begin() - .orSqlCondition(SqlCondition.begin() - .andPrepareVars("AB_OBJECTRELATION.OBJECT1_TYPE", "$param.AnyObjectType_param") - .andPrepareVars("AB_OBJECTRELATION.OBJECT1_ROWID", "$param.AnyObjectRowid_param")) - .orSqlCondition(SqlCondition.begin() - .andPrepareVars("AB_OBJECTRELATION.OBJECT2_TYPE", "$param.AnyObjectType_param") - .andPrepareVars("AB_OBJECTRELATION.OBJECT2_ROWID", "$param.AnyObjectRowid_param")); -var object1 = SqlCondition.begin() - .andPrepareVars("AB_OBJECTRELATION.OBJECT1_TYPE", "$param.Object1Type_param") - .andPrepareVars("AB_OBJECTRELATION.OBJECT1_ROWID", "$param.Object1Rowid_param"); - -var object2 = SqlCondition.begin() - .andPrepareVars("AB_OBJECTRELATION.OBJECT2_TYPE", "$param.Object2Type_param") - .andPrepareVars("AB_OBJECTRELATION.OBJECT2_ROWID", "$param.Object2Rowid_param"); +var fullCondition = SqlCondition.begin() - -var fullCondition = SqlCondition.begin(); - -// if all four parameters exist, check for all. else only check 1 or 2 or any -if (vars.exists("$param.Object1Type_param") && vars.get("$param.Object1Type_param") && vars.exists("$param.Object2Type_param") && vars.get("$param.Object2Type_param")) -{ - fullCondition.andSqlCondition(object1, "1=2") - .andSqlCondition(object2, "1=2"); -} -else -{ - fullCondition.orSqlCondition(anyObject) - .orSqlCondition(object1) - .orSqlCondition(object2); +// the parameters have to be present +if (vars.exists("$param.ObjectType_param") && vars.exists("$param.ObjectRowid_param")) +{ + var objectType = vars.getString("$param.ObjectType_param"); + var objectRowid = vars.getString("$param.ObjectRowid_param"); + if (objectType && objectRowid) + { + fullCondition.orSqlCondition(SqlCondition.begin() + .andPrepare("AB_OBJECTRELATION.OBJECT1_TYPE", objectType) + .andPrepare("AB_OBJECTRELATION.OBJECT1_ROWID", objectRowid)) + .orSqlCondition(SqlCondition.begin() + .andPrepare("AB_OBJECTRELATION.OBJECT2_TYPE", objectType) + .andPrepare("AB_OBJECTRELATION.OBJECT2_ROWID", objectRowid)); + } + } result.string(db.translateCondition(fullCondition.build("1=2"))); \ No newline at end of file diff --git a/entity/ObjectRelation_entity/recordcontainers/db/fromClauseProcess.js b/entity/ObjectRelation_entity/recordcontainers/db/fromClauseProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..55044aaa15f3b92080f74775f4c7d02ac05408c1 --- /dev/null +++ b/entity/ObjectRelation_entity/recordcontainers/db/fromClauseProcess.js @@ -0,0 +1,6 @@ +import("system.result"); +import("system.db"); +import("Sql_lib"); +import("ObjectRelation_lib"); + +result.string(ObjectRelationUtils.getRelationTypeJoin()); \ No newline at end of file diff --git a/entity/Object_entity/Object_entity.aod b/entity/Object_entity/Object_entity.aod index 247b2f16f95400348e463b7d9529ae2af6593aad..e80a55b98df5c4bc34cbc092f3d2d74817b2584d 100644 --- a/entity/Object_entity/Object_entity.aod +++ b/entity/Object_entity/Object_entity.aod @@ -47,20 +47,6 @@ <fieldType>DEPENDENCY_IN</fieldType> <documentation>%aditoprj%/entity/Object_entity/entityfields/oneobject/documentation.adoc</documentation> <recordContainer>jdito</recordContainer> - <dependencies> - <entityDependency> - <name>a85ea94b-20dc-42f2-9fd6-412995ea7f03</name> - <entityName>ObjectRelation_entity</entityName> - <fieldName>Object1</fieldName> - <isConsumer v="false" /> - </entityDependency> - <entityDependency> - <name>47b7bc71-753e-41c5-8d17-296c5ae707ba</name> - <entityName>ObjectRelation_entity</entityName> - <fieldName>Object2</fieldName> - <isConsumer v="false" /> - </entityDependency> - </dependencies> <children> <entityParameter> <name>ObjectRowId_param</name> diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod index a8b5fc48f7e01bc3226aa0ecb31a6beb84c386be..d1d82e94d8db780bfaefd989882d93f2945b4341 100644 --- a/entity/Offer_entity/Offer_entity.aod +++ b/entity/Offer_entity/Offer_entity.aod @@ -203,7 +203,6 @@ <entityField> <name>OFFER_ID</name> <documentation>%aditoprj%/entity/Offer_entity/entityfields/offer_id/documentation.adoc</documentation> - <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/offer_id/valueProcess.js</valueProcess> </entityField> <entityFieldGroup> <name>OfferCode_VersNr_fieldgroup</name> diff --git a/entity/Offer_entity/entityfields/offer_id/valueProcess.js b/entity/Offer_entity/entityfields/offer_id/valueProcess.js deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod index 30d4db8b1af96db100479818f7a269c4d1cf4ce1..4a5820d407a8e93344c12a06bd9579250ce7f443 100644 --- a/entity/Organisation_entity/Organisation_entity.aod +++ b/entity/Organisation_entity/Organisation_entity.aod @@ -426,18 +426,16 @@ <dependency> <name>dependency</name> <entityName>ObjectRelation_entity</entityName> - <fieldName>AnyObject</fieldName> + <fieldName>ObjectRelations</fieldName> </dependency> <children> <entityParameter> - <name>AnyObjectRowid_param</name> - <code>%aditoprj%/entity/Organisation_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js</code> - <triggerRecalculation v="true" /> + <name>ObjectRowid_param</name> + <code>%aditoprj%/entity/Organisation_entity/entityfields/objectrelations/children/objectrowid_param/code.js</code> </entityParameter> <entityParameter> - <name>AnyObjectType_param</name> - <code>%aditoprj%/entity/Organisation_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js</code> - <triggerRecalculation v="true" /> + <name>ObjectType_param</name> + <code>%aditoprj%/entity/Organisation_entity/entityfields/objectrelations/children/objecttype_param/code.js</code> </entityParameter> </children> </entityConsumer> @@ -538,25 +536,21 @@ <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>ObjectRelation_entity</entityName> - <fieldName>BothObjects</fieldName> + </dependency> + </entityConsumer> + <entityConsumer> + <name>Salesprojects</name> + <title>Salesprojects</title> + <fieldType>DEPENDENCY_OUT</fieldType> + <dependency> + <name>dependency</name> + <entityName>Salesproject_entity</entityName> + <fieldName>Salesprojects</fieldName> </dependency> <children> <entityParameter> - <name>Object1Rowid_param</name> - <code>%aditoprj%/entity/Organisation_entity/entityfields/taskobjectrelations/children/object1rowid_param/code.js</code> - </entityParameter> - <entityParameter> - <name>Object1Type_param</name> - <code>%aditoprj%/entity/Organisation_entity/entityfields/taskobjectrelations/children/object1type_param/code.js</code> - </entityParameter> - <entityParameter> - <name>Object2Type_param</name> - <code>%aditoprj%/entity/Organisation_entity/entityfields/taskobjectrelations/children/object2type_param/code.js</code> - </entityParameter> - <entityParameter> - <name>Object2RowidTitle_param</name> - <code>%aditoprj%/entity/Organisation_entity/entityfields/taskobjectrelations/children/object2rowidtitle_param/code.js</code> + <name>ContactId_param</name> + <code>%aditoprj%/entity/Organisation_entity/entityfields/salesprojects/children/contactid_param/code.js</code> </entityParameter> </children> </entityConsumer> diff --git a/entity/Organisation_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js b/entity/Organisation_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js deleted file mode 100644 index 3d5da2b2ee3ab0c347c8b6a3be5233100b36a0d9..0000000000000000000000000000000000000000 --- a/entity/Organisation_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js +++ /dev/null @@ -1,4 +0,0 @@ -import("system.vars"); -import("system.result"); - -result.string(vars.get("$field.ORGANISATIONID")) \ No newline at end of file diff --git a/entity/Organisation_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js b/entity/Organisation_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js deleted file mode 100644 index efc405cb8b7289310ca284800a6ff50eea9bbe12..0000000000000000000000000000000000000000 --- a/entity/Organisation_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js +++ /dev/null @@ -1,4 +0,0 @@ -import("system.result"); -import("Context_lib"); - -result.string(ContextUtils.getCurrentContextId()) \ No newline at end of file diff --git a/entity/Organisation_entity/entityfields/taskobjectrelations/children/object1rowid_param/code.js b/entity/Organisation_entity/entityfields/objectrelations/children/objectrowid_param/code.js similarity index 100% rename from entity/Organisation_entity/entityfields/taskobjectrelations/children/object1rowid_param/code.js rename to entity/Organisation_entity/entityfields/objectrelations/children/objectrowid_param/code.js diff --git a/entity/Organisation_entity/entityfields/taskobjectrelations/children/object1type_param/code.js b/entity/Organisation_entity/entityfields/objectrelations/children/objecttype_param/code.js similarity index 100% rename from entity/Organisation_entity/entityfields/taskobjectrelations/children/object1type_param/code.js rename to entity/Organisation_entity/entityfields/objectrelations/children/objecttype_param/code.js diff --git a/entity/Organisation_entity/entityfields/taskobjectrelations/children/object2rowidtitle_param/code.js b/entity/Organisation_entity/entityfields/taskobjectrelations/children/object2rowidtitle_param/code.js deleted file mode 100644 index e273ebaf0d31de77e8d77836146eeb81503ed474..0000000000000000000000000000000000000000 --- a/entity/Organisation_entity/entityfields/taskobjectrelations/children/object2rowidtitle_param/code.js +++ /dev/null @@ -1,3 +0,0 @@ -import("system.translate"); -import("system.result"); -result.string(translate.text("Task")) \ No newline at end of file diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod index 5670b1cf170b95644959a18c467cbb0853c025ea..5b250419d7c397ff42b7e46584edc5fb6c71d5bd 100644 --- a/entity/Person_entity/Person_entity.aod +++ b/entity/Person_entity/Person_entity.aod @@ -190,7 +190,6 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact </entityParameter> <entityParameter> <name>CommCategory_param</name> - <code>%aditoprj%/entity/Person_entity/entityfields/communications/children/commcategory_param/code.js</code> <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description> </entityParameter> </children> @@ -475,19 +474,16 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact <dependency> <name>dependency</name> <entityName>ObjectRelation_entity</entityName> - <fieldName>AnyObject</fieldName> + <fieldName>ObjectRelations</fieldName> </dependency> <children> <entityParameter> - <name>AnyObjectRowid_param</name> - <title></title> - <code>%aditoprj%/entity/Person_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js</code> - <triggerRecalculation v="true" /> + <name>ObjectType_param</name> + <code>%aditoprj%/entity/Person_entity/entityfields/objectrelations/children/objecttype_param/code.js</code> </entityParameter> <entityParameter> - <name>AnyObjectType_param</name> - <code>%aditoprj%/entity/Person_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js</code> - <triggerRecalculation v="true" /> + <name>ObjectRowid_param</name> + <code>%aditoprj%/entity/Person_entity/entityfields/objectrelations/children/objectrowid_param/code.js</code> </entityParameter> </children> </entityConsumer> diff --git a/entity/Person_entity/entityfields/communications/children/commcategory_param/code.js b/entity/Person_entity/entityfields/communications/children/commcategory_param/code.js deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/entity/Person_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js b/entity/Person_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js deleted file mode 100644 index efc405cb8b7289310ca284800a6ff50eea9bbe12..0000000000000000000000000000000000000000 --- a/entity/Person_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js +++ /dev/null @@ -1,4 +0,0 @@ -import("system.result"); -import("Context_lib"); - -result.string(ContextUtils.getCurrentContextId()) \ No newline at end of file diff --git a/entity/Person_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js b/entity/Person_entity/entityfields/objectrelations/children/objectrowid_param/code.js similarity index 53% rename from entity/Person_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js rename to entity/Person_entity/entityfields/objectrelations/children/objectrowid_param/code.js index 032082b609152ed5785d5b376fdd6b6becd7209b..ee0cddc370f78c08084b64d57e2a36686aad1e82 100644 --- a/entity/Person_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js +++ b/entity/Person_entity/entityfields/objectrelations/children/objectrowid_param/code.js @@ -1,4 +1,4 @@ import("system.vars"); import("system.result"); -result.string(vars.get("$field.PERSONID")) \ No newline at end of file +result.string(vars.get("$field.PERSONID")); \ No newline at end of file diff --git a/entity/Salesproject_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js b/entity/Person_entity/entityfields/objectrelations/children/objecttype_param/code.js similarity index 100% rename from entity/Salesproject_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js rename to entity/Person_entity/entityfields/objectrelations/children/objecttype_param/code.js diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod index ba6d97987914c6244f166356290f2e8fa2986075..7230670a82e650680c601875204a12adcbb1d5fb 100644 --- a/entity/Salesproject_entity/Salesproject_entity.aod +++ b/entity/Salesproject_entity/Salesproject_entity.aod @@ -279,21 +279,7 @@ <fieldType>DEPENDENCY_OUT</fieldType> <dependency> <name>dependency</name> - <entityName>ObjectRelation_entity</entityName> - <fieldName>AnyObject</fieldName> </dependency> - <children> - <entityParameter> - <name>AnyObjectRowid_param</name> - <code>%aditoprj%/entity/Salesproject_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js</code> - <triggerRecalculation v="true" /> - </entityParameter> - <entityParameter> - <name>AnyObjectType_param</name> - <code>%aditoprj%/entity/Salesproject_entity/entityfields/objectrelations/children/anyobjecttype_param/code.js</code> - <triggerRecalculation v="true" /> - </entityParameter> - </children> </entityConsumer> <entityField> <name>TIMETRACKINGSUM</name> diff --git a/entity/Salesproject_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js b/entity/Salesproject_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js deleted file mode 100644 index 2b119ebfa1944164fd2a1cb645511740bec9015e..0000000000000000000000000000000000000000 --- a/entity/Salesproject_entity/entityfields/objectrelations/children/anyobjectrowid_param/code.js +++ /dev/null @@ -1,4 +0,0 @@ -import("system.vars"); -import("system.result"); - -result.string(vars.get("$field.SALESPROJECTID")); \ No newline at end of file diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod index 8284ec231dcc09a93a47c3dd7ef7b64e97c2290c..59f7463d732a7b495bd384993f1ba8cbec4030d1 100644 --- a/entity/Task_entity/Task_entity.aod +++ b/entity/Task_entity/Task_entity.aod @@ -4,7 +4,6 @@ <title>Task</title> <majorModelMode>DISTRIBUTED</majorModelMode> <documentation>%aditoprj%/entity/Task_entity/documentation.adoc</documentation> - <onValidation>%aditoprj%/entity/Task_entity/onValidation.js</onValidation> <iconId>VAADIN:TASKS</iconId> <iconIdProcess>%aditoprj%/entity/Task_entity/iconIdProcess.js</iconIdProcess> <recordContainer>db</recordContainer> diff --git a/entity/Task_entity/entityfields/contacteditors/children/contactid_param/code.js b/entity/Task_entity/entityfields/contacteditors/children/contactid_param/code.js deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/entity/Task_entity/entityfields/contactrequestors/children/contactid_param/code.js b/entity/Task_entity/entityfields/contactrequestors/children/contactid_param/code.js deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/entity/Task_entity/onValidation.js b/entity/Task_entity/onValidation.js deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index bb50a0cfc5ae38837d03dbd597767fbd1009e531..bc6513be021a2415c77ad53cac33db7842e82933 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -2385,6 +2385,123 @@ <entry> <key>the specified key has to be unique for that container but does already exist</key> </entry> + <entry> + <key>Neue Aktivität</key> + </entry> + <entry> + <key>Tree Entity</key> + </entry> + <entry> + <key>Baum</key> + </entry> + <entry> + <key>Neue Aufgabe</key> + </entry> + <entry> + <key>Relationtype</key> + </entry> + <entry> + <key>Tree</key> + </entry> + <entry> + <key>100%</key> + </entry> + <entry> + <key>grandparents of - ankle of</key> + </entry> + <entry> + <key>Mobil</key> + </entry> + <entry> + <key>society - member</key> + </entry> + <entry> + <key>25%</key> + </entry> + <entry> + <key>supporter - supported</key> + </entry> + <entry> + <key>parent of - child of</key> + </entry> + <entry> + <key>50%</key> + </entry> + <entry> + <key>75%</key> + </entry> + <entry> + <key>Verknüpfungen</key> + </entry> + <entry> + <key>no keyword attribute \&quot;%0\&quot; found in keyword container \&quot;%1\&quot;</key> + </entry> + <entry> + <key>competitor</key> + </entry> + <entry> + <key>0%</key> + </entry> + <entry> + <key>parent company - subsidiary</key> + </entry> + <entry> + <key>promotion target by - solicits</key> + </entry> + <entry> + <key>supervisor of - reports to</key> + </entry> + <entry> + <key>acquainted with</key> + </entry> + <entry> + <key>collaboration with</key> + </entry> + <entry> + <key>parent company</key> + </entry> + <entry> + <key>society</key> + </entry> + <entry> + <key>ankle of</key> + </entry> + <entry> + <key>solicits</key> + </entry> + <entry> + <key>child of</key> + </entry> + <entry> + <key>supervisor of</key> + </entry> + <entry> + <key>supports - supported by</key> + </entry> + <entry> + <key>reports to</key> + </entry> + <entry> + <key>subsidiary</key> + </entry> + <entry> + <key>supported by</key> + </entry> + <entry> + <key>member</key> + </entry> + <entry> + <key>promotion target by</key> + </entry> + <entry> + <key>supports</key> + </entry> + <entry> + <key>parent of</key> + </entry> + <entry> + <key>grandparents of</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> @@ -2396,7 +2513,10 @@ union select AB_LANGUAGE.NAME_LATIN from AB_LANGUAGE union -select AB_COUNTRYINFO.NAME_LATIN from AB_COUNTRYINFO</element> +select AB_COUNTRYINFO.NAME_LATIN from AB_COUNTRYINFO +union -- Object1Title and Object2Title for Keyword-Container ObjectRelationType +select CHAR_VALUE from AB_KEYWORD_ATTRIBUTERELATION +where AB_KEYWORD_ATTRIBUTE_ID in (&apos;6f81d079-d404-4bda-a7c7-b830ed3d80d5&apos;, &apos;e8c85be3-1acb-45f6-aeea-726ba5811ab8&apos;)</element> </statements> </languageSql> </sqlModels> diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod index 4baa4574a45806c0993e401a200959da763462fa..c513b2b07abdc7890fb6669405d54fd431aecbea 100644 --- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod +++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod @@ -983,6 +983,10 @@ <key>Show all offers</key> <value>Alle Angebote anzeigen</value> </entry> + <entry> + <key>child of</key> + <value>Kind von</value> + </entry> <entry> <key>Products</key> <value>Produkte</value> @@ -1600,9 +1604,11 @@ </entry> <entry> <key>Object 2</key> + <value>Objekt 2</value> </entry> <entry> <key>Object 1</key> + <value>Objekt 1</value> </entry> <entry> <key>Type 2</key> @@ -2769,6 +2775,145 @@ <entry> <key>Estimation</key> </entry> + <entry> + <key>Neue Aktivität</key> + </entry> + <entry> + <key>Tree Entity</key> + </entry> + <entry> + <key>Baum</key> + </entry> + <entry> + <key>Neue Aufgabe</key> + </entry> + <entry> + <key>Relationtype</key> + <value>Beziehungsart</value> + </entry> + <entry> + <key>Tree</key> + </entry> + <entry> + <key>100%</key> + </entry> + <entry> + <key>grandparents of - ankle of</key> + <value>Großeltern von - Enkel/in von</value> + </entry> + <entry> + <key>Mobil</key> + </entry> + <entry> + <key>society - member</key> + <value>Verband - Mitglied</value> + </entry> + <entry> + <key>25%</key> + </entry> + <entry> + <key>supports - supported by</key> + <value>Unterstützt - Wird unterstützt von</value> + </entry> + <entry> + <key>parent of - child of</key> + <value>Elternteil von - Kind von</value> + </entry> + <entry> + <key>50%</key> + </entry> + <entry> + <key>75%</key> + </entry> + <entry> + <key>Verknüpfungen</key> + </entry> + <entry> + <key>no keyword attribute \&quot;%0\&quot; found in keyword container \&quot;%1\&quot;</key> + </entry> + <entry> + <key>competitor</key> + <value>Konkurrent</value> + </entry> + <entry> + <key>0%</key> + </entry> + <entry> + <key>parent company - subsidiary</key> + <value>Konzernmutter - Tochtergesellschaft</value> + </entry> + <entry> + <key>promotion target by - solicits</key> + <value>Werbezielgruppe von - Bewirbt</value> + </entry> + <entry> + <key>supervisor of - reports to</key> + <value>Vorgesetzter von - Bewirbt</value> + </entry> + <entry> + <key>acquainted with</key> + <value>Bekannt mit</value> + </entry> + <entry> + <key>collaboration with</key> + <value>Zusammenarbeit mit</value> + </entry> + <entry> + <key>parent company</key> + <value>Konzernmutter</value> + </entry> + <entry> + <key>society</key> + <value>Verband</value> + </entry> + <entry> + <key>ankle of</key> + <value>Enkel/in von</value> + </entry> + <entry> + <key>solicits</key> + <value>Bewirbt</value> + </entry> + <entry> + <key>supervisor of</key> + <value>Vorgesetzter von</value> + </entry> + <entry> + <key>reports to</key> + <value>Berichtet an</value> + </entry> + <entry> + <key>subsidiary</key> + <value>Tochtergesellschaft</value> + </entry> + <entry> + <key>supported by</key> + <value>Wird unterstützt von</value> + </entry> + <entry> + <key>member</key> + <value>Mitglied</value> + </entry> + <entry> + <key>promotion target by</key> + <value>Werbezielgruppe von</value> + </entry> + <entry> + <key>supports</key> + <value>Unterstützt</value> + </entry> + <entry> + <key>parent of</key> + <value>Elternteil von</value> + </entry> + <entry> + <key>grandparents of</key> + <value>Großeltern von</value> + </entry> + <entry> + <key>supporter - supported</key> + <value>Unterstützt - Wird unterstützt von</value> + </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 2706834c9bd2202b6fc5a8db92a380eec72a3c64..6af4c86de689459a4682fab8b89a085d272e987f 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -2409,6 +2409,123 @@ <entry> <key>Estimation</key> </entry> + <entry> + <key>Neue Aktivität</key> + </entry> + <entry> + <key>Tree Entity</key> + </entry> + <entry> + <key>Baum</key> + </entry> + <entry> + <key>Neue Aufgabe</key> + </entry> + <entry> + <key>Relationtype</key> + </entry> + <entry> + <key>Tree</key> + </entry> + <entry> + <key>100%</key> + </entry> + <entry> + <key>grandparents of - ankle of</key> + </entry> + <entry> + <key>Mobil</key> + </entry> + <entry> + <key>society - member</key> + </entry> + <entry> + <key>25%</key> + </entry> + <entry> + <key>supporter - supported</key> + </entry> + <entry> + <key>parent of - child of</key> + </entry> + <entry> + <key>50%</key> + </entry> + <entry> + <key>75%</key> + </entry> + <entry> + <key>Verknüpfungen</key> + </entry> + <entry> + <key>no keyword attribute \&quot;%0\&quot; found in keyword container \&quot;%1\&quot;</key> + </entry> + <entry> + <key>competitor</key> + </entry> + <entry> + <key>0%</key> + </entry> + <entry> + <key>parent company - subsidiary</key> + </entry> + <entry> + <key>promotion target by - solicits</key> + </entry> + <entry> + <key>supervisor of - reports to</key> + </entry> + <entry> + <key>acquainted with</key> + </entry> + <entry> + <key>collaboration with</key> + </entry> + <entry> + <key>parent company</key> + </entry> + <entry> + <key>society</key> + </entry> + <entry> + <key>ankle of</key> + </entry> + <entry> + <key>solicits</key> + </entry> + <entry> + <key>child of</key> + </entry> + <entry> + <key>supervisor of</key> + </entry> + <entry> + <key>supports - supported by</key> + </entry> + <entry> + <key>reports to</key> + </entry> + <entry> + <key>subsidiary</key> + </entry> + <entry> + <key>supported by</key> + </entry> + <entry> + <key>member</key> + </entry> + <entry> + <key>promotion target by</key> + </entry> + <entry> + <key>supports</key> + </entry> + <entry> + <key>parent of</key> + </entry> + <entry> + <key>grandparents of</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> </language> diff --git a/neonContext/ObjectRelation/ObjectRelation.aod b/neonContext/ObjectRelation/ObjectRelation.aod index 763a754b47c69d0746663e2b28c48748487daaa0..527072eafea065a47cd085f6a6dd47db6e4dad9b 100644 --- a/neonContext/ObjectRelation/ObjectRelation.aod +++ b/neonContext/ObjectRelation/ObjectRelation.aod @@ -2,15 +2,11 @@ <neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0"> <name>ObjectRelation</name> <majorModelMode>DISTRIBUTED</majorModelMode> - <filterview>AnyObjectRelationFilter_view</filterview> + <filterview>ObjectRelationFilter_view</filterview> <editview>ObjectRelationEdit_view</editview> <preview>ObjectRelationPreview_view</preview> <entity>ObjectRelation_entity</entity> <references> - <neonViewReference> - <name>f6b27aa2-d0a7-479c-812e-8b16400b564b</name> - <view>AnyObjectRelationFilter_view</view> - </neonViewReference> <neonViewReference> <name>dc0bd793-a472-4a7b-8394-06c4bc31258a</name> <view>ObjectRelationPreview_view</view> @@ -20,8 +16,12 @@ <view>ObjectRelationEdit_view</view> </neonViewReference> <neonViewReference> - <name>cec4dc52-b38f-4f7c-b8ca-4b81ccda3ac1</name> - <view>Object1RelationFilter_view</view> + <name>a1efaa32-2313-40b5-9cd0-715b9c635036</name> + <view>ObjectRelationTree_view</view> + </neonViewReference> + <neonViewReference> + <name>ec83a8eb-11a5-4544-8a06-47789704a626</name> + <view>ObjectRelationFilter_view</view> </neonViewReference> </references> </neonContext> diff --git a/neonView/AnyObjectRelationFilter_view/AnyObjectRelationFilter_view.aod b/neonView/AnyObjectRelationFilter_view/AnyObjectRelationFilter_view.aod deleted file mode 100644 index bcfa55713b2623688e648247cfb45de79368a04e..0000000000000000000000000000000000000000 --- a/neonView/AnyObjectRelationFilter_view/AnyObjectRelationFilter_view.aod +++ /dev/null @@ -1,46 +0,0 @@ -<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> - <name>AnyObjectRelationFilter_view</name> - <majorModelMode>DISTRIBUTED</majorModelMode> - <filterable v="true" /> - <layout> - <groupLayout> - <name>layout</name> - </groupLayout> - </layout> - <children> - <tableViewTemplate> - <name>ObjectRelations</name> - <autoNewRow v="true" /> - <entityField>#ENTITY</entityField> - <title>Object Relation</title> - <columns> - <neonTableColumn> - <name>2567cbb7-0228-4103-b153-e5f623f46382</name> - <entityField>OBJECT1_TYPE</entityField> - </neonTableColumn> - <neonTableColumn> - <name>4fb01378-e6c6-4fb5-8b3b-8a90b3550105</name> - <entityField>OBJECT1_ROWID</entityField> - <width v="75" /> - <expandRatio v="100" /> - </neonTableColumn> - <neonTableColumn> - <name>158130c9-8aa3-4ad6-a608-0271c70178bc</name> - <entityField>OBJECT2_TYPE</entityField> - </neonTableColumn> - <neonTableColumn> - <name>027a408e-56bc-4dcd-a0da-57e531954d20</name> - <entityField>OBJECT2_ROWID</entityField> - </neonTableColumn> - </columns> - </tableViewTemplate> - <treetableViewTemplate> - <name>AnyObjectRelations</name> - <favoriteActionGroup2></favoriteActionGroup2> - <titleField>AnyObjectType</titleField> - <descriptionField>AnyObjectRowid</descriptionField> - <entityField>#ENTITY</entityField> - </treetableViewTemplate> - </children> -</neonView> diff --git a/neonView/Object1RelationFilter_view/Object1RelationFilter_view.aod b/neonView/ObjectRelationFilter_view/ObjectRelationFilter_view.aod similarity index 56% rename from neonView/Object1RelationFilter_view/Object1RelationFilter_view.aod rename to neonView/ObjectRelationFilter_view/ObjectRelationFilter_view.aod index bd5d9de2901e7bcb490f61daef99819f696d9c1f..7ba25afe2f321463c222a106ee5684c4bf4c8900 100644 --- a/neonView/Object1RelationFilter_view/Object1RelationFilter_view.aod +++ b/neonView/ObjectRelationFilter_view/ObjectRelationFilter_view.aod @@ -1,7 +1,8 @@ <?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> - <name>Object1RelationFilter_view</name> + <name>ObjectRelationFilter_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> + <filterable v="true" /> <layout> <boxLayout> <name>layout</name> @@ -9,16 +10,20 @@ </layout> <children> <tableViewTemplate> - <name>Object2</name> + <name>ObjectRelations</name> <entityField>#ENTITY</entityField> <columns> <neonTableColumn> - <name>9df2f22f-96ab-461e-af54-2dfdfa2de221</name> - <entityField>OBJECT2_ROWID</entityField> + <name>88896a05-3fbc-4681-b935-8bd239ecdf5c</name> + <entityField>RELATION_TYPE</entityField> </neonTableColumn> <neonTableColumn> - <name>9df2f22f-96ab-461e-af54-2dfdfa7de221</name> - <entityField>EMPTY</entityField> + <name>99904354-1288-45c1-98cb-d40dcff310ce</name> + <entityField>OtherObjectType</entityField> + </neonTableColumn> + <neonTableColumn> + <name>654de038-0a31-4009-981a-efc2b5ded7ee</name> + <entityField>OtherObjectRowid</entityField> </neonTableColumn> </columns> </tableViewTemplate> diff --git a/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod b/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod new file mode 100644 index 0000000000000000000000000000000000000000..e85a4964fbb7a4116241a68932a2666dd19436fb --- /dev/null +++ b/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod @@ -0,0 +1,16 @@ +<?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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1"> + <name>ObjectRelationTree_view</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <treetableViewTemplate> + <name>objectRelations</name> + <entityField>#ENTITY</entityField> + </treetableViewTemplate> + </children> +</neonView> diff --git a/neonView/OrganisationMain_view/OrganisationMain_view.aod b/neonView/OrganisationMain_view/OrganisationMain_view.aod index 5fcec76945e9d274d53facb435b159b212b99989..8983facca327c13b601989999d56186c88738daa 100644 --- a/neonView/OrganisationMain_view/OrganisationMain_view.aod +++ b/neonView/OrganisationMain_view/OrganisationMain_view.aod @@ -40,25 +40,20 @@ <entityField>Contracts</entityField> <view>ContractFilter_view</view> </neonViewReference> + <neonViewReference> + <name>ee7395b9-b787-4662-9021-f6e2d486bd16</name> + <entityField>ObjectRelations</entityField> + <view>ObjectRelationFilter_view</view> + </neonViewReference> <neonViewReference> <name>39c98ccb-7f77-4df0-818f-1f302f69fec4</name> <entityField>Attributes</entityField> <view>AttributeRelationFilter_view</view> </neonViewReference> - <neonViewReference> - <name>ee7395b9-b787-4662-9021-f6e2d486bd16</name> - <entityField>ObjectRelations</entityField> - <view>AnyObjectRelationFilter_view</view> - </neonViewReference> <neonViewReference> <name>dc1aa0ca-d0bd-45fd-84dc-55cfcf3ca430</name> <entityField>Salesprojects</entityField> <view>SalesprojectFilter_view</view> </neonViewReference> - <neonViewReference> - <name>331f8519-f112-48c8-8430-85927dd0635e</name> - <entityField>TaskObjectRelations</entityField> - <view>Object1RelationFilter_view</view> - </neonViewReference> </children> </neonView> diff --git a/neonView/PersonMain_view/PersonMain_view.aod b/neonView/PersonMain_view/PersonMain_view.aod index 93442d69e26e9db2feda7e0dc32b9613366468ff..b07812c6fb5489af9f31efcd9f1bc7b71816e1b9 100644 --- a/neonView/PersonMain_view/PersonMain_view.aod +++ b/neonView/PersonMain_view/PersonMain_view.aod @@ -35,9 +35,9 @@ <view>ContractFilter_view</view> </neonViewReference> <neonViewReference> - <name>726f10a6-dad6-4325-a73e-2d6caf0340db</name> + <name>a713a58e-eae0-4657-9cb0-ffffbd41d4ab</name> <entityField>ObjectRelations</entityField> - <view>AnyObjectRelationFilter_view</view> + <view>ObjectRelationFilter_view</view> </neonViewReference> <neonViewReference> <name>be48c6fe-1837-4c40-aef1-130fc1a5c544</name> diff --git a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod index c7d28d906bcbd9991378592dda9dfbebf03539a2..86f931d7521318c8f855c0602cfed8fe337205b2 100644 --- a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod +++ b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod @@ -54,11 +54,6 @@ <entityField>Timetrackings</entityField> <view>TimetrackingFilter_view</view> </neonViewReference> - <neonViewReference> - <name>d02bf839-1901-4ca1-bcee-245ee9512fe2</name> - <entityField>ObjectRelations</entityField> - <view>AnyObjectRelationFilter_view</view> - </neonViewReference> <neonViewReference> <name>0a3f2444-8d91-41e3-8f4d-19a6013c29c5</name> <entityField>Documents</entityField> diff --git a/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type.xml b/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type.xml new file mode 100644 index 0000000000000000000000000000000000000000..0fd9deec3ba9940127f7e0a7d4f99887cf328fa1 --- /dev/null +++ b/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type.xml @@ -0,0 +1,8 @@ +<?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="e19fc338-8596-4dbb-81e0-0cb6a1af6bf2"> + <addColumn tableName="AB_OBJECTRELATION"> + <column name="RELATION_TYPE" type="CHAR(36)"/> + </addColumn> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type_exampleData.xml b/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type_exampleData.xml new file mode 100644 index 0000000000000000000000000000000000000000..5928e9f4869d10562fbb2e0a461308ad674b8e54 --- /dev/null +++ b/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type_exampleData.xml @@ -0,0 +1,48 @@ +<?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="e19fc338-8596-4dbb-81e0-0cb6a1af6bf2"> + <insert tableName="AB_OBJECTRELATION"> + <column name="AB_OBJECTRELATIONID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/> + <column name="OBJECT1_TYPE" value="Person"/> + <column name="OBJECT1_ROWID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/> + <column name="OBJECT2_TYPE" value="Person"/> + <column name="OBJECT2_ROWID" value="73d72702-e7f5-11e8-9f32-f2801f1b9fd1"/> + <column name="RELATION_TYPE" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/> + </insert> + <insert tableName="AB_OBJECTRELATION"> + <column name="AB_OBJECTRELATIONID" value="85ad4578-dce2-49df-a844-d162f1bd9f2f"/> + <column name="OBJECT1_TYPE" value="Organisation"/> + <column name="OBJECT1_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/> + <column name="OBJECT2_TYPE" value="Organisation"/> + <column name="OBJECT2_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/> + <column name="RELATION_TYPE" value="85ad4578-dce2-49df-a844-d162f1bd9f2f"/> + </insert> + <insert tableName="AB_OBJECTRELATION"> + <column name="AB_OBJECTRELATIONID" value="5c545235-231f-4082-9e74-4ec4512eb98d"/> + <column name="OBJECT1_TYPE" value="Person"/> + <column name="OBJECT1_ROWID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/> + <column name="OBJECT2_TYPE" value="Organisation"/> + <column name="OBJECT2_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/> + <column name="RELATION_TYPE" value="600cd496-c7c1-4be0-a339-76f057711025"/> + </insert> + <insert tableName="AB_OBJECTRELATION"> + <column name="AB_OBJECTRELATIONID" value="4c9bc7f3-c13b-4e55-9c23-012ba40196c9"/> + <column name="OBJECT1_TYPE" value="Person"/> + <column name="OBJECT1_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/> + <column name="OBJECT2_TYPE" value="Person"/> + <column name="OBJECT2_ROWID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/> + <column name="RELATION_TYPE" value="493ecd1a-c1ba-457c-bbe1-0f9279ad653e"/> + </insert> + <rollback> + <delete tableName="AB_OBJECTRELATION"> + <where>AB_OBJECTRELATIONID = in(?, ?, ?, ?)</where> + <whereParams> + <param value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7" /> + <param value="85ad4578-dce2-49df-a844-d162f1bd9f2f" /> + <param value="5c545235-231f-4082-9e74-4ec4512eb98d" /> + <param value="4c9bc7f3-c13b-4e55-9c23-012ba40196c9" /> + </whereParams> + </delete> + </rollback> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/others/db_changes/data_alias/basic/2019.2/add_ObjectRelationKeyword.xml b/others/db_changes/data_alias/basic/2019.2/add_ObjectRelationKeyword.xml new file mode 100644 index 0000000000000000000000000000000000000000..d62b568bdd6032a3928f1ad4493b0aae8e0b7ac8 --- /dev/null +++ b/others/db_changes/data_alias/basic/2019.2/add_ObjectRelationKeyword.xml @@ -0,0 +1,444 @@ +<?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="e19fc338-8596-4dbb-81e0-0cb6a1af6bf2"> + <!-- define attributes for the object relation --> + <insert tableName="AB_KEYWORD_ATTRIBUTE"> + <column name="AB_KEYWORD_ATTRIBUTEID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="NAME" value="Object1Title"/> + <column name="TYPE" value="CHAR_VALUE"/> + <column name="CONTAINER" value="ObjectRelationType"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTE"> + <column name="AB_KEYWORD_ATTRIBUTEID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/> + <column name="NAME" value="Object2Title"/> + <column name="TYPE" value="CHAR_VALUE"/> + <column name="CONTAINER" value="ObjectRelationType"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTE"> + <column name="AB_KEYWORD_ATTRIBUTEID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="NAME" value="Object1Type"/> + <column name="TYPE" value="CHAR_VALUE"/> + <column name="CONTAINER" value="ObjectRelationType"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTE"> + <column name="AB_KEYWORD_ATTRIBUTEID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="NAME" value="Object2Type"/> + <column name="TYPE" value="CHAR_VALUE"/> + <column name="CONTAINER" value="ObjectRelationType"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTE"> + <column name="AB_KEYWORD_ATTRIBUTEID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="NAME" value="Hierarchy"/> + <column name="TYPE" value="BOOL_VALUE"/> + <column name="CONTAINER" value="ObjectRelationType"/> + </insert> + + + <!-- insert the possible relations --> + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/> + <column name="KEYID" value="85ad4578-dce2-49df-a844-d162f1bd9f2f"/> + <column name="TITLE" value="parent company - subsidiary"/> + <column name="CONTAINER" value="ObjectRelationType"/> + <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="4e986a5a-2262-4ec0-b421-c2f5d88be018"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="AB_KEYWORD_ENTRY_ID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/> + <column name="CHAR_VALUE" value="parent company"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="7b9e8730-b6c8-482a-8a75-aee066a8efe5"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/> + <column name="AB_KEYWORD_ENTRY_ID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/> + <column name="CHAR_VALUE" value="subsidiary"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b6526d57-2ad9-48dc-94a7-689e8d263c16"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="AB_KEYWORD_ENTRY_ID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/> + <column name="CHAR_VALUE" value="Organisation"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="d9a32354-81a5-4172-bab7-fef08a49ca74"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="AB_KEYWORD_ENTRY_ID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/> + <column name="CHAR_VALUE" value="Organisation"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="ae4d4dc8-a581-4e59-ace0-7f01e716e5a6"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="AB_KEYWORD_ENTRY_ID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/> + <column name="BOOL_VALUE" valueNumeric="1"/> + </insert> + + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/> + <column name="KEYID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/> + <column name="TITLE" value="parent of - child of"/> + <column name="CONTAINER" value="ObjectRelationType"/> + <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="8a59bb48-9a59-44d4-a850-2efe195c86a3"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="AB_KEYWORD_ENTRY_ID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/> + <column name="CHAR_VALUE" value="parent of"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="df713320-3aa3-4fb0-949d-8d23e03bdcbf"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/> + <column name="AB_KEYWORD_ENTRY_ID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/> + <column name="CHAR_VALUE" value="child of"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="361a2bbf-2e1b-49fc-8d5d-8926b6ad279f"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="AB_KEYWORD_ENTRY_ID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="f8671437-0f70-406f-bd45-8013709b8b00"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="AB_KEYWORD_ENTRY_ID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="d9da1d2d-de57-411e-9e7b-341711134270"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="AB_KEYWORD_ENTRY_ID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/> + <column name="BOOL_VALUE" valueNumeric="0"/> + </insert> + + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="d912e828-a3de-4798-b169-52db380d6d1c"/> + <column name="KEYID" value="1276bd28-7cac-4445-8d73-2ee99d97bfc7"/> + <column name="TITLE" value="supports - supported by"/> + <column name="CONTAINER" value="ObjectRelationType"/> + <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="00e6118c-5c94-49c9-b0da-f46575540148"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="AB_KEYWORD_ENTRY_ID" value="d912e828-a3de-4798-b169-52db380d6d1c"/> + <column name="CHAR_VALUE" value="supports"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b5ad48e3-1a96-4357-bae7-977835defcf2"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/> + <column name="AB_KEYWORD_ENTRY_ID" value="d912e828-a3de-4798-b169-52db380d6d1c"/> + <column name="CHAR_VALUE" value="supported by"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1f7f6020-298d-430c-a1f4-ca0ca334ff67"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="AB_KEYWORD_ENTRY_ID" value="d912e828-a3de-4798-b169-52db380d6d1c"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="5ed69afb-38bf-4f08-938e-ecdca1d16a04"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="AB_KEYWORD_ENTRY_ID" value="d912e828-a3de-4798-b169-52db380d6d1c"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="9b136732-6472-4b21-a1f7-3e1014471158"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="AB_KEYWORD_ENTRY_ID" value="d912e828-a3de-4798-b169-52db380d6d1c"/> + <column name="BOOL_VALUE" valueNumeric="0"/> + </insert> + + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/> + <column name="KEYID" value="8792ea2b-f1bc-48bb-899b-1de01acbfc5a"/> + <column name="TITLE" value="supervisor of - reports to"/> + <column name="CONTAINER" value="ObjectRelationType"/> + <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="94fa8dc2-cc7c-4f71-9a88-72ee0bd9f79a"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="AB_KEYWORD_ENTRY_ID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/> + <column name="CHAR_VALUE" value="supervisor of"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c88680d8-a9d2-467b-9337-dce1539b20ca"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/> + <column name="AB_KEYWORD_ENTRY_ID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/> + <column name="CHAR_VALUE" value="reports to"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="30cf7f61-2e22-4b91-91eb-d5eda5e53fa8"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="AB_KEYWORD_ENTRY_ID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="96d5c7d1-023a-4705-984e-c4a269650138"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="AB_KEYWORD_ENTRY_ID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="765a4200-0e87-4e7f-9ac1-f78fc249cbad"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="AB_KEYWORD_ENTRY_ID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/> + <column name="BOOL_VALUE" valueNumeric="0"/> + </insert> + + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/> + <column name="KEYID" value="600cd496-c7c1-4be0-a339-76f057711025"/> + <column name="TITLE" value="promotion target by - solicits"/> + <column name="CONTAINER" value="ObjectRelationType"/> + <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="08348377-9319-4b64-a252-f8e3f02e4140"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/> + <column name="CHAR_VALUE" value="promotion target by"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c80eeaee-5434-407c-b454-cfbfefdb2092"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/> + <column name="CHAR_VALUE" value="solicits"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="e8f5072a-3705-4f54-a845-92dafa37439c"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="cddccada-b6df-4d91-9b87-d130b5eecc69"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/> + <column name="CHAR_VALUE" value="Organisation"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="cb0b466b-2b3d-4255-9f0b-40e14d687d05"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/> + <column name="BOOL_VALUE" valueNumeric="0"/> + </insert> + + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="ba666b30-27b0-46ba-8ea7-442518cb862f"/> + <column name="KEYID" value="a19802ad-f5aa-47dc-abb3-02791a4aa7ac"/> + <column name="TITLE" value="competitor"/> + <column name="CONTAINER" value="ObjectRelationType"/> + <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="6213ea88-eb7f-476e-aa00-956a83ba9c6d"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="AB_KEYWORD_ENTRY_ID" value="ba666b30-27b0-46ba-8ea7-442518cb862f"/> + <column name="CHAR_VALUE" value="competitor"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="7f0df183-d0ff-467b-a12b-fc6a0b96fd48"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="AB_KEYWORD_ENTRY_ID" value="ba666b30-27b0-46ba-8ea7-442518cb862f"/> + <column name="CHAR_VALUE" value="Organisation"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="740289a9-54d1-48e0-8e3a-207e9501853f"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="AB_KEYWORD_ENTRY_ID" value="ba666b30-27b0-46ba-8ea7-442518cb862f"/> + <column name="CHAR_VALUE" value="Organisation"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1eb8338f-0e10-4667-bd4a-fb32a844c1a4"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/> + <column name="BOOL_VALUE" valueNumeric="0"/> + </insert> + + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/> + <column name="KEYID" value="a35a0962-9607-41ff-83d0-666d74b4259a"/> + <column name="TITLE" value="society - member"/> + <column name="CONTAINER" value="ObjectRelationType"/> + <column name="SORTING" valueNumeric="6"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="a3d86cfb-b784-4c38-9c5d-eb403c120bb5"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/> + <column name="CHAR_VALUE" value="society"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c44695d7-73da-4d42-9ecc-ade12952e3b1"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/> + <column name="CHAR_VALUE" value="member"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="cd13e7a1-e7c0-4aae-8f5b-5c813d25de65"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/> + <column name="CHAR_VALUE" value="Organisation"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="68a5fd04-85e8-4dab-9812-24e829bf62d9"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/> + <column name="CHAR_VALUE" value="Organisation"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="4b1d8f5e-620a-465a-89b1-dbde63a13c87"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="AB_KEYWORD_ENTRY_ID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/> + <column name="BOOL_VALUE" valueNumeric="0"/> + </insert> + + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="c4e1e83f-55be-46aa-a29c-0564ae22df9b"/> + <column name="KEYID" value="493ecd1a-c1ba-457c-bbe1-0f9279ad653e"/> + <column name="TITLE" value="acquainted with"/> + <column name="CONTAINER" value="ObjectRelationType"/> + <column name="SORTING" valueNumeric="7"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="195b8f8b-9a3d-47b0-8f54-d36d2d91d921"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="AB_KEYWORD_ENTRY_ID" value="c4e1e83f-55be-46aa-a29c-0564ae22df9b"/> + <column name="CHAR_VALUE" value="acquainted with"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="d0326c46-28b3-4aee-918b-2389b076947b"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="AB_KEYWORD_ENTRY_ID" value="c4e1e83f-55be-46aa-a29c-0564ae22df9b"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="04bc8d76-08c2-4f3f-b2ae-82769c824aad"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="AB_KEYWORD_ENTRY_ID" value="c4e1e83f-55be-46aa-a29c-0564ae22df9b"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="0492943c-a14c-43bb-ad15-18ac8b6c696f"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="AB_KEYWORD_ENTRY_ID" value="c4e1e83f-55be-46aa-a29c-0564ae22df9b"/> + <column name="BOOL_VALUE" valueNumeric="0"/> + </insert> + + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="6727c8f1-7712-4886-b3d4-a83ef721a174"/> + <column name="KEYID" value="003e1f5f-aa21-47aa-bd21-2aa3b4154792"/> + <column name="TITLE" value="collaboration with"/> + <column name="CONTAINER" value="ObjectRelationType"/> + <column name="SORTING" valueNumeric="8"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="2f54c8cd-44d4-422e-a8c0-be6c26793b32"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="AB_KEYWORD_ENTRY_ID" value="6727c8f1-7712-4886-b3d4-a83ef721a174"/> + <column name="CHAR_VALUE" value="collaboration with"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="236adff1-8c85-4546-9391-0ef838e0fb8a"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="AB_KEYWORD_ENTRY_ID" value="6727c8f1-7712-4886-b3d4-a83ef721a174"/> + <column name="CHAR_VALUE" value="Organisation"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="ac5dac4c-df10-4095-a3ca-5d700def4266"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="AB_KEYWORD_ENTRY_ID" value="6727c8f1-7712-4886-b3d4-a83ef721a174"/> + <column name="CHAR_VALUE" value="Organisation"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="3acce4b1-a1c9-4793-b221-039412db7a67"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="AB_KEYWORD_ENTRY_ID" value="6727c8f1-7712-4886-b3d4-a83ef721a174"/> + <column name="BOOL_VALUE" valueNumeric="0"/> + </insert> + + <insert tableName="AB_KEYWORD_ENTRY"> + <column name="AB_KEYWORD_ENTRYID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/> + <column name="KEYID" value="7a932349-b7bd-4b46-90f6-1f82d48615da"/> + <column name="TITLE" value="grandparents of - ankle of"/> + <column name="CONTAINER" value="ObjectRelationType"/> + <column name="SORTING" valueNumeric="9"/> + <column name="ISACTIVE" valueNumeric="1"/> + <column name="ISESSENTIAL" valueNumeric="0"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b01c8949-9a73-4ef0-bb4e-8d7d524305fc"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <column name="AB_KEYWORD_ENTRY_ID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/> + <column name="CHAR_VALUE" value="grandparents of"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b7805a07-1c8a-4790-984d-d3c528a6d1e0"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/> + <column name="AB_KEYWORD_ENTRY_ID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/> + <column name="CHAR_VALUE" value="ankle of"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="737371f2-a2c6-4e6f-8533-cf57ff94dfad"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <column name="AB_KEYWORD_ENTRY_ID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c0737adb-17eb-438d-86f6-4975fff54494"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + <column name="AB_KEYWORD_ENTRY_ID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/> + <column name="CHAR_VALUE" value="Person"/> + </insert> + <insert tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="29cbc01b-3f21-4b4d-902b-d9ffba462cc8"/> + <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/> + <column name="AB_KEYWORD_ENTRY_ID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/> + <column name="BOOL_VALUE" valueNumeric="0"/> + </insert> + + <rollback> + <delete tableName="AB_KEYWORD_ATTRIBUTE"> + <where>CONTAINER = ?</where> + <whereParams> + <param value="ObjectRelationType"/> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ENTRY"> + <where>CONTAINER = ?</where> + <whereParams> + <param value="ObjectRelationType"/> + </whereParams> + </delete> + <delete tableName="AB_KEYWORD_ATTRIBUTERELATION"> + <where>AB_KEYWORD_ATTRIBUTE_ID in (?, ?, ?, ?)</where> + <whereParams> + <param value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/> + <param value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/> + <param value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/> + <param value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/> + </whereParams> + </delete> + </rollback> + </changeSet> +</databaseChangeLog> \ No newline at end of file diff --git a/others/db_changes/data_alias/basic/2019.2/changelog.xml b/others/db_changes/data_alias/basic/2019.2/changelog.xml index e898a40840fca7fd698b2abc1dfc10ec46bb115c..da40ca16be5001d60999c94f9d7ed42827698158 100644 --- a/others/db_changes/data_alias/basic/2019.2/changelog.xml +++ b/others/db_changes/data_alias/basic/2019.2/changelog.xml @@ -49,6 +49,10 @@ <include relativeToChangelogFile="true" file="task_add_parent.xml"/> <include relativeToChangelogFile="true" file="drop_estimation_salesproject.xml"/> + + <include relativeToChangelogFile="true" file="add_ObjectRelationKeyword.xml"/> + <include relativeToChangelogFile="true" file="ObjectRelation_add_type.xml"/> + <include relativeToChangelogFile="true" file="ObjectRelation_add_type_exampleData.xml" context="example"/> <!--References to the Keyword Values--> <include relativeToChangelogFile="true" file="OfferProbability.xml"/> diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js index bbeda2b0eaef54e86e6a5360130abe7d37e8aa58..b57b5acc67c6766ede94b1b657d829464a0edc1f 100644 --- a/process/KeywordRegistry_basic/process.js +++ b/process/KeywordRegistry_basic/process.js @@ -55,4 +55,5 @@ $KeywordRegistry.salesprojectStrenght = function(){return "SalesprojectStrenght" $KeywordRegistry.salesprojectState = function(){return "SalesprojectState"}; $KeywordRegistry.salesprojectPhase = function(){return "SalesprojectPhase"}; $KeywordRegistry.taskPriority = function(){return "TaskPriority"}; -$KeywordRegistry.salesprojectCompetitionState = function(){return "SalesprojectCompetitionState"}; \ No newline at end of file +$KeywordRegistry.salesprojectCompetitionState = function(){return "SalesprojectCompetitionState"}; +$KeywordRegistry.objectRelationType = function(){return "ObjectRelationType"}; diff --git a/process/ObjectRelation_lib/ObjectRelation_lib.aod b/process/ObjectRelation_lib/ObjectRelation_lib.aod new file mode 100644 index 0000000000000000000000000000000000000000..77cc2f184e4c94f8e0a4bde129557dcb4873bb49 --- /dev/null +++ b/process/ObjectRelation_lib/ObjectRelation_lib.aod @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7"> + <name>ObjectRelation_lib</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <process>%aditoprj%/process/ObjectRelation_lib/process.js</process> + <variants> + <element>LIBRARY</element> + </variants> +</process> diff --git a/process/ObjectRelation_lib/process.js b/process/ObjectRelation_lib/process.js new file mode 100644 index 0000000000000000000000000000000000000000..fa9c6bd8b2f23e5f85295f4528c18b0ca49f25af --- /dev/null +++ b/process/ObjectRelation_lib/process.js @@ -0,0 +1,51 @@ +import("system.vars"); +import("system.db"); +import("Keyword_lib"); +import("Sql_lib"); +import("KeywordRegistry_basic") +/** + * Methods to manage objectRelations. + * Do not create an instance of this! + * + * @class + */ +function ObjectRelationUtils() {} + + +ObjectRelationUtils.getRelationTypeJoin = function(pObjectTypeParamName) +{ + return db.translateStatement( + SqlCondition.begin() + .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.objectRelationType()) + .andSqlCondition(SqlCondition.begin() + .orPrepareVars(["AB_KEYWORD_ATTRIBUTERELATION", "CHAR_VALUE", "objType1"], pObjectTypeParamName) + .orPrepareVars(["AB_KEYWORD_ATTRIBUTERELATION", "CHAR_VALUE", "objType2"], pObjectTypeParamName)) + .buildSql( // subselect should be cached by the sql-server because it is not correlated + "AB_OBJECTRELATION \n\ + join AB_KEYWORD_ENTRY on KEYID = RELATION_TYPE \n\ + and KEYID in ( \n\ + select KEYID from AB_KEYWORD_ENTRY \n\ + join AB_KEYWORD_ATTRIBUTERELATION objType1 on AB_KEYWORD_ENTRYID = objType1.AB_KEYWORD_ENTRY_ID and objType1.AB_KEYWORD_ATTRIBUTE_ID = 'c81d7fda-9779-46cc-b170-a1c49300b8c2' \n\ + join AB_KEYWORD_ATTRIBUTERELATION objType2 on AB_KEYWORD_ENTRYID = objType2.AB_KEYWORD_ENTRY_ID and objType2.AB_KEYWORD_ATTRIBUTE_ID = '0b5d7e46-45c2-48f3-a48a-b3d1a0af674c'" + ,"", ")")); +} + +ObjectRelationUtils.getCurrentObjectNum = function(pObjectTypeParamName, pObjectRowidParamName, pObject1TypeFieldName, pObject1RowidFieldName, pObject2TypeFieldName, pObject2RowidFieldName) +{ + var objectType = vars.get(pObjectTypeParamName); + var objectRowid = vars.get(pObjectRowidParamName); + + var object1Type = vars.get(pObject1TypeFieldName); + var object1Rowid = vars.get(pObject1RowidFieldName); + + var object2Type = vars.get(pObject2TypeFieldName); + var object2Rowid = vars.get(pObject2RowidFieldName); + + if (objectType == object1Type && objectRowid == object1Rowid) + return 1; + + if (objectType == object2Type && objectRowid == object2Rowid) + return 2; + + return -1 +} \ No newline at end of file diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js index 98e631dea84403ba8da2969a74db4a5247d1a0d3..bfe2e05841546c263bffe7c908bec33834ff44f7 100644 --- a/process/Sql_lib/process.js +++ b/process/Sql_lib/process.js @@ -168,7 +168,7 @@ SqlCondition.prototype.orSqlCondition = function(cond, alternativeCond) { /** * same as the "and"-function but with preparedStatement functionality - * @param {String} field the database field as "tablename.columnname"; e.g. "ORGANISATION.NAME" + * @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} value the value that shall be set into the prepared statement * @param {String} [cond="# = ?"] the strucutre of the SQL condition as preparedString, you can use a number sign "#" as placeholder for you fieldname; * e.g. "# > ?"; escaping the number sign is possible with a backslash "\" @@ -187,7 +187,7 @@ SqlCondition.prototype.andPrepare = function(field, value, cond, fieldType) { /** * same as the "or"-function but with preparedStatement functionality - * @param {String} field the database field as "tablename.columnname"; e.g. "ORGANISATION.NAME" + * @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} value the value that shall be set into the prepared statement * @param {String} [cond="# = ?"] the strucutre of the SQL condition as preparedString, you can use a number sign "#" as placeholder for you fieldname; * e.g. "# > ?"; escaping the number sign is possible with a backslash "\" @@ -206,7 +206,7 @@ SqlCondition.prototype.orPrepare = function(field, value, cond, fieldType) { /** * same as the "andPrepare"-function but with validation of adito-variables functionality - * @param {String} field the database field as "tablename.columnname"; e.g. "ORGANISATION.NAME" + * @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} variable the adito-variable that shall be set into the prepared statement * @param {String} [cond = "# = ?" ] the strucutre of the SQL condition as preparedString, you can use a number sign "#" as placeholder for you fieldname; * e.g. "# > ?"; escaping the number sign is possible with a backslash "\" @@ -228,7 +228,7 @@ SqlCondition.prototype.andPrepareVars = function(field, variable, cond, fieldTyp /** * same as the "orPrepare"-function but with validation of adito-variables functionality - * @param {String} field the database field as "tablename.columnname"; e.g. "ORGANISATION.NAME" + * @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} variable the adito-variable that shall be set into the prepared statement * @param {String} [cond="# = ?"] the strucutre of the SQL condition as preparedString, you can use a number sign "#" as placeholder for you fieldname; * e.g. "# > ?"; escaping the number sign is possible with a backslash "\" @@ -321,7 +321,7 @@ SqlCondition.prototype._checkVars = function(variable) { /** * hidden function for composing preparedStatements - * @param {String | String[]} field the database field as "tablename.columnname"; e.g. "ORGANISATION.NAME" or as array with alias: ["ORGANISATION", "NAME", "myorgAlias"] + * @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} value the value that shall be set into the prepared statement * @param {String} cond the strucutre of the SQL condition as preparedString, you can use a number sign "#" as placeholder for you fieldname; * e.g. "# > ?"; escaping the number sign is possible with a backslash "\"