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

refactor object relation

parent 929f32b7
No related branches found
No related tags found
No related merge requests found
Showing
with 175 additions and 26 deletions
......@@ -3791,6 +3791,20 @@
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>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>
......
......@@ -105,6 +105,15 @@
<name>Object1Rowid_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>Object2RowidTitle_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>ProviderType_param</name>
<code>%aditoprj%/entity/ObjectRelation_entity/entityfields/object1/children/providertype_param/code.js</code>
<expose v="true" />
</entityParameter>
</children>
</entityProvider>
<entityParameter>
......@@ -146,6 +155,15 @@
<expose v="true" />
<mandatory v="true" />
</entityParameter>
<entityParameter>
<name>Object2RowidTitle_param</name>
<expose v="false" />
</entityParameter>
<entityParameter>
<name>ProviderType_param</name>
<code>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2/children/providertype_param/code.js</code>
<expose v="true" />
</entityParameter>
</children>
</entityProvider>
<entityProvider>
......@@ -192,6 +210,15 @@
<expose v="true" />
<mandatory v="true" />
</entityParameter>
<entityParameter>
<name>Object2RowidTitle_param</name>
<expose v="false" />
</entityParameter>
<entityParameter>
<name>ProviderType_param</name>
<code>%aditoprj%/entity/ObjectRelation_entity/entityfields/bothobjects/children/providertype_param/code.js</code>
<expose v="true" />
</entityParameter>
</children>
</entityProvider>
<entityParameter>
......@@ -277,6 +304,15 @@
<expose v="true" />
<mandatory v="true" />
</entityParameter>
<entityParameter>
<name>Object2RowidTitle_param</name>
<expose v="false" />
</entityParameter>
<entityParameter>
<name>ProviderType_param</name>
<code>%aditoprj%/entity/ObjectRelation_entity/entityfields/anyobject/children/providertype_param/code.js</code>
<expose v="true" />
</entityParameter>
</children>
</entityProvider>
<entityConsumer>
......@@ -341,6 +377,56 @@
<entityField>
<name>EMPTY</name>
</entityField>
<entityField>
<name>TYPE</name>
</entityField>
<entityProvider>
<name>ObjectTree</name>
<fieldType>DEPENDENCY_IN</fieldType>
<recordContainer>tree_jdito</recordContainer>
<children>
<entityParameter>
<name>Object1Rowid_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>Object1Type_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>AnyObjectRowid_param</name>
<expose v="false" />
</entityParameter>
<entityParameter>
<name>AnyObjectType_param</name>
<expose v="false" />
</entityParameter>
<entityParameter>
<name>Object2Type_param</name>
<expose v="false" />
</entityParameter>
<entityParameter>
<name>Object2Rowid_param</name>
<expose v="false" />
</entityParameter>
<entityParameter>
<name>Object2RowidTitle_param</name>
<expose v="false" />
</entityParameter>
<entityParameter>
<name>ProviderType_param</name>
<code>%aditoprj%/entity/ObjectRelation_entity/entityfields/objecttree/children/providertype_param/code.js</code>
<expose v="true" />
</entityParameter>
</children>
</entityProvider>
<entityParameter>
<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>
</entityFields>
<recordContainers>
<dbRecordContainer>
......@@ -386,7 +472,14 @@
<name>OBJECT1_ROWID.displayValue</name>
<expression>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_rowid.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>TYPE.value</name>
<recordfield>AB_OBJECTRELATION.TYPE</recordfield>
</dbRecordFieldMapping>
</recordFieldMappings>
</dbRecordContainer>
<jDitoRecordContainer>
<name>tree_jdito</name>
</jDitoRecordContainer>
</recordContainers>
</entity>
......@@ -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
import("system.result");
result.string("any");
\ No newline at end of file
......@@ -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"))));
}
......@@ -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"))
......
......@@ -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
......@@ -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"))
......
import("system.result");
result.string("both");
\ No newline at end of file
import("system.result");
result.string("1");
\ No newline at end of file
......@@ -7,7 +7,9 @@ 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"))
var providerType = vars.getString("$param.ProviderType_param");
// any object
if (providerType == "any")
{
result.string(db.cell(ContextUtils.getNameSql(vars.get("$param.AnyObjectType_param"), vars.get("$param.AnyObjectRowid_param"))));
}
......
......@@ -5,9 +5,9 @@ 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")))
var providerType = vars.getString("$param.ProviderType_param");
if (providerType == "any" && vars.get("$param.AnyObjectRowid_param") == vars.get("$field.OBJECT1_ROWID")
|| providerType == "1")
{
result.string(neon.COMPONENTSTATE_READONLY);
}
......
......@@ -6,7 +6,9 @@ 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"))
var providerType = vars.getString("$param.ProviderType_param");
// any object
if (providerType == "any")
{
result.string(vars.get("$param.AnyObjectRowid_param"));
}
......
......@@ -5,10 +5,11 @@ 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")))
var providerType = vars.getString("$param.ProviderType_param");
if (providerType == "any" && vars.get("$param.AnyObjectType_param") == vars.get("$field.OBJECT1_TYPE")
|| providerType == "1")
{
result.string(neon.COMPONENTSTATE_READONLY);
}
}
result.string(neon.COMPONENTSTATE_READONLY);
\ No newline at end of file
}
\ No newline at end of file
import("system.result");
result.string("2");
\ No newline at end of file
......@@ -5,6 +5,9 @@ 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"))
var providerType = vars.getString("$param.ProviderType_param");
if (providerType == "any" && vars.get("$param.AnyObjectRowid_param") == vars.get("$field.OBJECT2_ROWID")
|| providerType == "2")
result.string(neon.COMPONENTSTATE_READONLY);
}
\ No newline at end of file
......@@ -5,6 +5,9 @@ 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"))
var providerType = vars.getString("$param.ProviderType_param");
if (providerType == "any" && vars.get("$param.AnyObjectType_param") == vars.get("$field.OBJECT2_TYPE")
|| providerType == "2")
result.string(neon.COMPONENTSTATE_READONLY);
}
\ No newline at end of file
import("system.result");
result.string("tree");
\ No newline at end of file
import("system.result");
result.string("none");
\ No newline at end of file
......@@ -3,6 +3,8 @@ import("system.result");
import("system.db");
import("Sql_lib");
var providerType = vars.getString("$param.ProviderType_param");
var anyObject = SqlCondition.begin()
.orSqlCondition(SqlCondition.begin()
.andPrepareVars("AB_OBJECTRELATION.OBJECT1_TYPE", "$param.AnyObjectType_param")
......@@ -21,17 +23,20 @@ var object2 = 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
switch (providerType)
{
fullCondition.orSqlCondition(anyObject)
.orSqlCondition(object1)
.orSqlCondition(object2);
case "both":
fullCondition.andSqlCondition(object1, "1=2")
.andSqlCondition(object2, "1=2");
break;
case "any":
fullCondition.orSqlCondition(anyObject);
break;
case "1":
fullCondition.orSqlCondition(object1);
case "2":
fullCondition.orSqlCondition(object2);
}
result.string(db.translateCondition(fullCondition.build("1=2")));
\ No newline at end of file
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