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

objectTree exclude some Ids

parent 0d7fd850
No related branches found
No related tags found
No related merge requests found
......@@ -127,7 +127,7 @@
<dependency>
<name>dependency</name>
<entityName>Object_entity</entityName>
<fieldName>AllObjects</fieldName>
<fieldName>FilteredObjects</fieldName>
</dependency>
<children>
<entityParameter>
......@@ -136,6 +136,10 @@
<valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess>
<triggerRecalculation v="true" />
</entityParameter>
<entityParameter>
<name>ExcludedObjectIds_param</name>
<valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objects/children/excludedobjectids_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityActionGroup>
......
import("Sql_lib");
import("system.vars");
import("system.result");
import("system.db");
import("ObjectRelation_lib");
var relationTypeData = ObjectRelationUtils.getRelationType(vars.get("$field.OBJECTRELATIONTYPEID"));
var sql1 = db.translateStatement(SqlCondition.begin()
.andPrepareVars("AB_OBJECTRELATION.OBJECT1_ROWID", "$field.PARENT_ID")
.andPrepare("AB_OBJECTRELATION.AB_OBJECTRELATIONTYPE1", relationTypeData[7])
.andPrepare("AB_OBJECTRELATION.AB_OBJECTRELATIONTYPE2", relationTypeData[8])
.buildSql("select OBJECT2_ROWID from AB_OBJECTRELATION", "1=2"));
var sql2 = db.translateStatement(SqlCondition.begin()
.andPrepareVars("AB_OBJECTRELATION.OBJECT2_ROWID", "$field.PARENT_ID")
.andPrepare("AB_OBJECTRELATION.AB_OBJECTRELATIONTYPE1", relationTypeData[7])
.andPrepare("AB_OBJECTRELATION.AB_OBJECTRELATIONTYPE2", relationTypeData[8])
.buildSql("select OBJECT1_ROWID from AB_OBJECTRELATION", "1=2"));
result.object([vars.get("$field.PARENT_ID")].concat(db.array(db.COLUMN, sql1 + " union " + sql2)));
\ No newline at end of file
......@@ -29,32 +29,6 @@
<mandatory v="true" />
<description>PARAMETER</description>
</entityParameter>
<entityParameter>
<name>ObjectRowId_param</name>
<expose v="true" />
<mandatory v="false" />
<description>PARAMETER</description>
</entityParameter>
<entityProvider>
<name>OneObject</name>
<fieldType>DEPENDENCY_IN</fieldType>
<documentation>%aditoprj%/entity/Object_entity/entityfields/oneobject/documentation.adoc</documentation>
<recordContainer>jdito</recordContainer>
<children>
<entityParameter>
<name>ObjectRowId_param</name>
<expose v="true" />
<triggerRecalculation v="true" />
<mandatory v="true" />
</entityParameter>
<entityParameter>
<name>ObjectType_param</name>
<expose v="true" />
<triggerRecalculation v="true" />
<mandatory v="true" />
</entityParameter>
</children>
</entityProvider>
<entityProvider>
<name>AllObjects</name>
<fieldType>DEPENDENCY_IN</fieldType>
......@@ -86,25 +60,18 @@
<fieldName>Objects</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>e55777a1-7dfc-46b3-b0e3-318eeecf018e</name>
<entityName>ObjectTree_entity</entityName>
<fieldName>Objects</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
<children>
<entityParameter>
<name>ObjectRowId_param</name>
<expose v="false" />
<mandatory v="false" />
</entityParameter>
<entityParameter>
<name>ObjectType_param</name>
<expose v="true" />
<triggerRecalculation v="true" />
<mandatory v="true" />
</entityParameter>
<entityParameter>
<name>ExcludedObjectIds_param</name>
<expose v="false" />
</entityParameter>
</children>
</entityProvider>
<entityConsumer>
......@@ -170,6 +137,35 @@
<fieldName>#PROVIDER</fieldName>
</dependency>
</entityConsumer>
<entityParameter>
<name>ExcludedObjectIds_param</name>
<expose v="true" />
<description>PARAMETER</description>
</entityParameter>
<entityProvider>
<name>FilteredObjects</name>
<fieldType>DEPENDENCY_IN</fieldType>
<dependencies>
<entityDependency>
<name>e644a709-cc8f-425e-bef2-9c51eea9bbe9</name>
<entityName>ObjectTree_entity</entityName>
<fieldName>Objects</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
<children>
<entityParameter>
<name>ExcludedObjectIds_param</name>
<expose v="true" />
</entityParameter>
<entityParameter>
<name>ObjectType_param</name>
<expose v="true" />
<triggerRecalculation v="true" />
<mandatory v="true" />
</entityParameter>
</children>
</entityProvider>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
......
== OneObjects provider ==
This provider returns one specific object.
\ No newline at end of file
......@@ -3,16 +3,14 @@ import("system.vars");
import("system.result");
import("Context_lib");
if (vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param"))
{
if (vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param"))
{
result.object(db.table(vars.get("$param.ObjectRowId_param"), ContextUtils.getContextDataSql(vars.get("$param.ObjectType_param"), vars.get("$param.ObjectRowId_param"), false, undefined, false)));
}
else
{
result.object(db.table(ContextUtils.getContextDataSql(vars.get("$param.ObjectType_param"), undefined, false, undefined, false)))
}
var excludedIds = [];
if (vars.exists("$param.ExcludedObjectIds_param") && vars.get("$param.ExcludedObjectIds_param"))
excludedIds = JSON.parse(vars.get("$param.ExcludedObjectIds_param"));
result.object(db.table(ContextUtils.getContextDataSql(vars.get("$param.ObjectType_param"), undefined, false, undefined, false, excludedIds)))
}
else
{
......
......@@ -375,14 +375,14 @@ ContextUtils.getNameSql = function(pContextId, pRowId)
/**
* TODO: !!!temporary function until you can get fields from another Entity!!!
*/
ContextUtils.getContextDataSql = function(pContextId, pRowId, pWithDate, pActive, pWithState)
ContextUtils.getContextDataSql = function(pContextId, pContactId, pWithDate, pActive, pWithState, pExcludedObjectIds)
{
var selectMap = ContextUtils.getSelectMap();
var ownContextSelector = selectMap[pContextId];
var cond = SqlCondition.begin();
if (pRowId)
if (pContactId)
{
cond.andPrepare(ownContextSelector.tableName + "." + ownContextSelector.contactIdField, pRowId)
cond.andPrepare(ownContextSelector.tableName + "." + ownContextSelector.contactIdField, pContactId)
}
if (pActive != undefined)
......@@ -401,6 +401,19 @@ ContextUtils.getContextDataSql = function(pContextId, pRowId, pWithDate, pActive
cond.andSqlCondition(condSub);
}
}
if (pExcludedObjectIds)
{
var exludedIdsCond = new SqlCondition()
pExcludedObjectIds.forEach(function(id)
{
this.andPrepare(ownContextSelector.tableName + "." + ownContextSelector.idField, id, "# <> ?");
}, exludedIdsCond)
cond.andSqlCondition(exludedIdsCond);
}
var dateColumn = "";
if (pWithDate === true)
dateColumn = ", " + (ownContextSelector.creationDateField || "''");
......
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