Skip to content
Snippets Groups Projects
Commit 9ded24ab authored by Johannes Hörmann's avatar Johannes Hörmann
Browse files

Object Relations in Pers und Org

parent fde5cd6d
No related branches found
No related tags found
No related merge requests found
Showing
with 115 additions and 21 deletions
......@@ -202,6 +202,20 @@
<name>ByAnyObject_dfi</name>
<fieldType>DEPENDENCY_IN</fieldType>
<recordContainer>db</recordContainer>
<dependencies>
<entityDependency>
<name>744259f7-3b08-4147-8376-3311b7a35712</name>
<entityName>Pers_entity</entityName>
<fieldName>ObjectRelation_dfo</fieldName>
<isOutgoing v="false" />
</entityDependency>
<entityDependency>
<name>38acc24a-716c-4c58-9e6f-9d3ccca0ab43</name>
<entityName>Org_entity</entityName>
<fieldName>ObjectRelation_dfo</fieldName>
<isOutgoing v="false" />
</entityDependency>
</dependencies>
<children>
<entityParameter>
<name>Object1Rowid_param</name>
......@@ -233,14 +247,6 @@
<name>test_dfi</name>
<fieldType>DEPENDENCY_IN</fieldType>
<recordContainer>db</recordContainer>
<dependencies>
<entityDependency>
<name>b36f00d5-6840-464e-9dba-41ef8f3b25bc</name>
<entityName>Pers_entity</entityName>
<fieldName>ObjectRelation_dfo</fieldName>
<isOutgoing v="false" />
</entityDependency>
</dependencies>
</entityIncomingField>
</entityFields>
<recordContainers>
......@@ -297,7 +303,11 @@
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>OBJECT2_ROWID.displayValue</name>
<recordfield>AB_OBJECTRELATION.OBJECT2_TYPE</recordfield>
<expression>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object2_rowid.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>OBJECT1_ROWID.displayValue</name>
<expression>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_rowid.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
</recordFieldMappings>
</dbRecordContainer>
......
import("system.result");
import("Context_lib");
result.string(ContextUtils.getNameSubselectSql("OBJECT1_TYPE", "OBJECT1_ROWID"))
\ No newline at end of file
import("system.result");
import("Context_lib");
result.string(ContextUtils.getNameSubselectSql("OBJECT2_TYPE", "OBJECT2_ROWID"))
\ No newline at end of file
......@@ -490,6 +490,26 @@
</entityParameter>
</children>
</entityOutgoingField>
<entityOutgoingField>
<name>ObjectRelation_dfo</name>
<title>Relations</title>
<fieldType>DEPENDENCY_OUT</fieldType>
<dependency>
<name>dependency</name>
<entityName>ObjectRelation_entity</entityName>
<fieldName>ByAnyObject_dfi</fieldName>
</dependency>
<children>
<entityParameter>
<name>AnyObjectRowid_param</name>
<code>%aditoprj%/entity/Org_entity/entityfields/objectrelation_dfo/children/anyobjectrowid_param/code.js</code>
</entityParameter>
<entityParameter>
<name>AnyObjectType_param</name>
<code>%aditoprj%/entity/Org_entity/entityfields/objectrelation_dfo/children/anyobjecttype_param/code.js</code>
</entityParameter>
</children>
</entityOutgoingField>
</entityFields>
<recordContainers>
<dbRecordContainer>
......
import("system.vars");
import("system.result");
result.string(vars.get("$field.ORGID"))
\ No newline at end of file
import("system.result");
import("Context_lib");
result.string(ContextUtils.getCurrentContextId())
\ No newline at end of file
......@@ -508,16 +508,17 @@
<dependency>
<name>dependency</name>
<entityName>ObjectRelation_entity</entityName>
<fieldName>test_dfi</fieldName>
<fieldName>ByAnyObject_dfi</fieldName>
</dependency>
<children>
<entityParameter>
<name>AnyObjectRowid_param</name>
<title></title>
<code>%aditoprj%/entity/Pers_entity/entityfields/objectrelation_dfo/children/anyobjectrowid_param/code.js</code>
</entityParameter>
<entityParameter>
<name>Object1Rowid_param</name>
<code>%aditoprj%/entity/Pers_entity/entityfields/objectrelation_dfo/children/object1rowid_param/code.js</code>
<name>AnyObjectType_param</name>
<code>%aditoprj%/entity/Pers_entity/entityfields/objectrelation_dfo/children/anyobjecttype_param/code.js</code>
</entityParameter>
</children>
</entityOutgoingField>
......
import("system.vars");
import("system.result");
result.string("anyid")
\ No newline at end of file
result.string(vars.get("$field.PERSID"))
\ No newline at end of file
import("system.result");
import("Context_lib");
result.string(ContextUtils.getCurrentContextId())
\ No newline at end of file
import("system.result");
result.string("1 id")
\ No newline at end of file
......@@ -14,6 +14,10 @@
<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>
......@@ -21,10 +25,8 @@
<expandRatio v="100" />
</neonTableColumn>
<neonTableColumn>
<name>c5eb8814-31f0-437d-aea8-c72301b00deb</name>
<entityField>OBJECT1_TYPE</entityField>
<width v="75" />
<expandRatio v="100" />
<name>158130c9-8aa3-4ad6-a608-0271c70178bc</name>
<entityField>OBJECT2_TYPE</entityField>
</neonTableColumn>
<neonTableColumn>
<name>4495cf75-82d1-4ad3-9a48-86ad44eadc37</name>
......
......@@ -13,6 +13,10 @@
<entityField>#ENTITY</entityField>
<title>Object</title>
<fields>
<entityFieldLink>
<name>8b21eea2-b6ec-492f-9bfe-4937b61ba1ef</name>
<entityField>OBJECT1_ROWID</entityField>
</entityFieldLink>
<entityFieldLink>
<name>eabe1737-7a31-4181-8c32-bda6a9f7d7e9</name>
<entityField>OBJECT2_ROWID</entityField>
......
......@@ -45,5 +45,10 @@
<entityField>OrgAttr_dfo</entityField>
<view>AttributeRelationTree_view</view>
</neonViewReference>
<neonViewReference>
<name>ee7395b9-b787-4662-9021-f6e2d486bd16</name>
<entityField>ObjectRelation_dfo</entityField>
<view>ObjectRelationFilter_view</view>
</neonViewReference>
</children>
</neonView>
......@@ -10,7 +10,16 @@
<column name="TYPE" valueNumeric="0"/>
<column name="PRICE_POLITICS" valueNumeric="1"/>
<column name="STRENGTH" valueNumeric="1"/>
<column name="WEAKNESS" valueNumeric="1"/>
<column name="WEAKNESS" valueNumeric="1"/>
</insert>
<insert tableName="AB_OBJECTRELATION">
<column name="AB_OBJECTRELATIONID" value="102b5d75-304b-41f4-9426-ba13d4dce1c3"/>
<column name="USER_NEW" value="admin"/>
<column name="DATE_NEW" valueDate="2018-06-13T09:03:43"/>
<column name="OBJECT1_TYPE" value="Org_context"/>
<column name="OBJECT1_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
<column name="OBJECT2_TYPE" value="Pers_context"/>
<column name="OBJECT2_ROWID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
</insert>
<insert tableName="RELATION">
<column name="RELATIONID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
......
import("system.SQLTYPES");
import("system.vars");
import("Sql_lib");
/**
* Methods to manage contexts.
......@@ -39,4 +41,25 @@ ContextUtils.getContextName = function(pContextId)
{
// TODO: currently the Id is the context name. This will be changed maybe
return pContextId;
}
/**
* TODO: !!!temporary function until you can get fields from another Entity!!!
*/
ContextUtils.getNameSubselectSql = function(pContextIdDbField, pRowIdDbField)
{
var select = "(case " + pContextIdDbField + " ";
var maskingUtils = new SqlMaskingUtils();
select += "when 'Org_context' then (select \"NAME\" from ORG where ORG.ORGID = " + pRowIdDbField + ") ";
select += "when 'Pers_context' then (select " + maskingUtils.concat(["FIRSTNAME", "LASTNAME"]) + " from PERS where PERS.PERSID = " + pRowIdDbField + ") ";
select += "when 'Activity_context' then (select SUBJECT from ACTIVITY where ACTIVITY.ACTIVITYID = " + pRowIdDbField + ") ";
select += "when 'Salesproject_context' then (select " + maskingUtils.concat([maskingUtils.cast("PROJECTCODE", SQLTYPES.VARCHAR, 10), "':'", "PROJECTTITLE"]) + " from SALESPROJECT where SALESPROJECT.SALESPROJECTID = " + pRowIdDbField + ") ";
// TODO: keywords sind noch nicht in der DB somit gibt es nichts ähnliches zu getKeySQL.
//select += "when 'Contract_context' then (select " + maskingUtils.concat([SqlMaskingUtils.cast("CONTRACTCODE", "varchar", 10), getKeySQL("CONTRACTTYPE", "CONTRACTTYPE" )]) + " from CONTRACT where CONTRACT.CONTRACTID = " + pRowIdDbField + ") ";
select += "when 'Contract_context' then (select " + maskingUtils.cast("CONTRACTCODE", SQLTYPES.VARCHAR, 10) + " from CONTRACT where CONTRACT.CONTRACTID = " + pRowIdDbField + ") ";
select += "else 'Not defined in ContextUtils.getNameSql()!'";
select += "end)";
return select;
}
\ No newline at end of file
......@@ -655,7 +655,7 @@ SqlMaskingUtils.prototype.cast = function (field, targetDatatype, targetLength)
}
if (sqlDataType == undefined) {
throw new Error("sqlDataType");//TODO: add usefull message
throw new Error("sqlDataType is undefined");//TODO: add usefull message
}
if(targetLength == undefined)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment