diff --git a/entity/ActivityLink_entity/ActivityLink_entity.aod b/entity/ActivityLink_entity/ActivityLink_entity.aod index be409330d53def37793e2e0c360ff2aad8aa61c6..bf6bac7e1b76d842c6774c8da6d4540b43122a85 100644 --- a/entity/ActivityLink_entity/ActivityLink_entity.aod +++ b/entity/ActivityLink_entity/ActivityLink_entity.aod @@ -10,9 +10,11 @@ </entityProvider> <entityField> <name>ACTIVITYLINKID</name> + <valueProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/activitylinkid/valueProcess.js</valueProcess> </entityField> <entityField> <name>OBJECT_TYPE</name> + <title>Object type</title> <consumer>Contexts</consumer> <linkedContext>Context</linkedContext> <displayValueProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/object_type/displayValueProcess.js</displayValueProcess> @@ -22,22 +24,12 @@ <title>Beziehung</title> <consumer>Objects</consumer> <linkedContextProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess> + <displayValueProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess> </entityField> <entityField> <name>ACTIVITY_ID</name> + <valueProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/activity_id/valueProcess.js</valueProcess> </entityField> - <entityParameter> - <name>ObjectRowid_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <description>PARAMETER</description> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <expose v="true" /> - <triggerRecalculation v="true" /> - <description>PARAMETER</description> - </entityParameter> <entityProvider> <name>Link</name> <fieldType>DEPENDENCY_IN</fieldType> @@ -54,11 +46,7 @@ </dependencies> <children> <entityParameter> - <name>ObjectRowid_param</name> - <expose v="true" /> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> + <name>ActivityId_param</name> <expose v="true" /> </entityParameter> </children> @@ -88,6 +76,11 @@ <fieldName>#PROVIDER</fieldName> </dependency> </entityConsumer> + <entityParameter> + <name>ActivityId_param</name> + <expose v="true" /> + <description>PARAMETER</description> + </entityParameter> </entityFields> <recordContainers> <dbRecordContainer> diff --git a/entity/ActivityLink_entity/entityfields/activity_id/valueProcess.js b/entity/ActivityLink_entity/entityfields/activity_id/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..3d7f987d124710e6e2987bac550e6c8b6eaaa119 --- /dev/null +++ b/entity/ActivityLink_entity/entityfields/activity_id/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$param.ActivityId_param")) \ No newline at end of file diff --git a/entity/ActivityLink_entity/entityfields/activitylinkid/valueProcess.js b/entity/ActivityLink_entity/entityfields/activitylinkid/valueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..86ef789e064a4016f2d12c432498dc23474807aa --- /dev/null +++ b/entity/ActivityLink_entity/entityfields/activitylinkid/valueProcess.js @@ -0,0 +1,7 @@ +import("system.util"); +import("system.vars"); +import("system.result"); +import("system.neon"); + +if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) + result.string(util.getNewUUID()); \ No newline at end of file diff --git a/entity/ActivityLink_entity/entityfields/object_rowid/displayValueProcess.js b/entity/ActivityLink_entity/entityfields/object_rowid/displayValueProcess.js new file mode 100644 index 0000000000000000000000000000000000000000..4bec272246cb114439a2de8479cbfa9c9feebfe7 --- /dev/null +++ b/entity/ActivityLink_entity/entityfields/object_rowid/displayValueProcess.js @@ -0,0 +1,7 @@ +import("system.vars"); +import("system.db"); +import("system.result"); +import("Context_lib"); + +if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) + result.string(db.cell(ContextUtils.getNameSql(vars.get("$field.OBJECT_TYPE"), vars.get("$field.OBJECT_ROWID")))); \ No newline at end of file diff --git a/entity/ActivityLink_entity/recordcontainers/db/conditionProcess.js b/entity/ActivityLink_entity/recordcontainers/db/conditionProcess.js index af5991c0cd552dd6b51fe8b99cf7e95139c84c5f..f5f56bc8bb2e41b4b3a1e60bba4cbde45f4a1e05 100644 --- a/entity/ActivityLink_entity/recordcontainers/db/conditionProcess.js +++ b/entity/ActivityLink_entity/recordcontainers/db/conditionProcess.js @@ -1,10 +1,13 @@ +import("system.logging"); +import("system.vars"); import("system.db"); import("system.result"); import("Sql_lib"); +logging.log("GET: " + vars.get("$param.ActivityId_param")) + var cond = SqlCondition.begin() - .andPrepareVars("ACTIVITYLINK.OBJECT_ROWID", "$param.ObjectRowid_param") - .andPrepareVars("ACTIVITYLINK.OBJECT_TYPE", "$param.ObjectType_param"); + .andPrepareVars("ACTIVITYLINK.ACTIVITY_ID", "$param.ActivityId_param"); //TODO: use a preparedCondition when available #1030812 #1034026 -result.string(db.translateCondition(cond.build("1 = 1"))); \ No newline at end of file +result.string(db.translateCondition(cond.build("1 = 0"))); \ No newline at end of file diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod index 529db43dc538ae9bcd337e7b1b9af89ff79c3eea..52c7b7707909e889ab2089eb686bff45fc37cfd1 100644 --- a/entity/Activity_entity/Activity_entity.aod +++ b/entity/Activity_entity/Activity_entity.aod @@ -147,7 +147,6 @@ </entityField> <entityParameter> <name>ActivityId_param</name> - <expose v="true" /> <mandatory v="false" /> <description>PARAMETER</description> </entityParameter> @@ -184,12 +183,9 @@ </dependency> <children> <entityParameter> - <name>ObjectRowid_param</name> - <code>%aditoprj%/entity/Activity_entity/entityfields/links/children/objectrowid_param/code.js</code> - </entityParameter> - <entityParameter> - <name>ObjectType_param</name> - <code>%aditoprj%/entity/Activity_entity/entityfields/links/children/objecttype_param/code.js</code> + <name>ActivityId_param</name> + <code>%aditoprj%/entity/Activity_entity/entityfields/links/children/activityid_param/code.js</code> + <expose v="true" /> </entityParameter> </children> </entityConsumer> diff --git a/entity/Activity_entity/entityfields/links/children/activityid_param/code.js b/entity/Activity_entity/entityfields/links/children/activityid_param/code.js new file mode 100644 index 0000000000000000000000000000000000000000..a8267b62060b4bd30cedaba4713f4421a6e6f9ff --- /dev/null +++ b/entity/Activity_entity/entityfields/links/children/activityid_param/code.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.ACTIVITYID")); \ No newline at end of file diff --git a/entity/Activity_entity/recordcontainers/db/conditionProcess.js b/entity/Activity_entity/recordcontainers/db/conditionProcess.js index f8ca95a041f3a052a2e375692dcaa0bdf90d52f3..9c8391b37c47aa5a3d88d8d58f8d5b59760f8470 100644 --- a/entity/Activity_entity/recordcontainers/db/conditionProcess.js +++ b/entity/Activity_entity/recordcontainers/db/conditionProcess.js @@ -9,6 +9,7 @@ if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars. var activityLinkCond = SqlCondition.begin().andPrepareVars("ACTIVITYLINK.OBJECT_ROWID", "$param.RowId_param") .andPrepareVars("ACTIVITYLINK.OBJECT_TYPE", "$param.ObjectId_param"); + // TODO: more performant way than IN. Maybe a join?? cond.and(db.translateStatement(activityLinkCond.buildSql("ACTIVITY.ACTIVITYID in (select ACTIVITYLINK.ACTIVITY_ID from ACTIVITYLINK", "1=2", ")"))) } diff --git a/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod b/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod index 597ac9502a58f95a5c666e853338c7f276225c48..d7491b7ecf0d1e22859cd53718fcbc68c1b872bc 100644 --- a/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod +++ b/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod @@ -11,6 +11,7 @@ <children> <tableViewTemplate> <name>ActivityLinkFilter_template</name> + <autoNewRow v="true" /> <entityField>#ENTITY</entityField> <columns> <neonTableColumn>