From 59357dd23a5970758a6ddf86c0d9753fda81e5c7 Mon Sep 17 00:00:00 2001 From: "S.Listl" <S.Listl@SLISTL.aditosoftware.local> Date: Wed, 13 Mar 2019 09:27:51 +0100 Subject: [PATCH] Tasklink fix --- entity/TaskLink_entity/TaskLink_entity.aod | 9 ++++++-- .../{code.js => valueProcess.js} | 0 .../entityfields/tasklinkid/valueProcess.js | 7 +++++++ .../object_rowid.displayvalue/expression.js | 4 ++++ entity/Task_entity/Task_entity.aod | 5 +++-- .../containername_param/valueProcess.js | 5 +++++ .../children/taskid_param/valueProcess.js | 4 ++++ .../recordcontainers/db/onDBDelete.js | 9 ++++++++ .../recordcontainers/db/onDBInsert.js | 15 +++++++------ .../_____LANGUAGE_EXTRA.aod | 8 ++++++- .../_____LANGUAGE_en/_____LANGUAGE_en.aod | 2 +- neonView/TaskEdit_view/TaskEdit_view.aod | 5 +++++ .../TaskLinkMultiEdit_view.aod | 21 +++++++++++++++++++ process/Task_lib/process.js | 2 +- 14 files changed, 81 insertions(+), 15 deletions(-) rename entity/TaskLink_entity/entityfields/objects/children/objecttype_param/{code.js => valueProcess.js} (100%) create mode 100644 entity/TaskLink_entity/entityfields/tasklinkid/valueProcess.js create mode 100644 entity/TaskLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js create mode 100644 entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js create mode 100644 entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js create mode 100644 entity/Task_entity/recordcontainers/db/onDBDelete.js diff --git a/entity/TaskLink_entity/TaskLink_entity.aod b/entity/TaskLink_entity/TaskLink_entity.aod index 50aeb41fe5..1d0f0f2355 100644 --- a/entity/TaskLink_entity/TaskLink_entity.aod +++ b/entity/TaskLink_entity/TaskLink_entity.aod @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.2.0"> +<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.2.1"> <name>TaskLink_entity</name> <majorModelMode>DISTRIBUTED</majorModelMode> <recordContainer>db</recordContainer> @@ -9,6 +9,7 @@ </entityProvider> <entityField> <name>TASKLINKID</name> + <valueProcess>%aditoprj%/entity/TaskLink_entity/entityfields/tasklinkid/valueProcess.js</valueProcess> </entityField> <entityField> <name>TASK_ID</name> @@ -68,7 +69,7 @@ <children> <entityParameter> <name>ObjectType_param</name> - <code>%aditoprj%/entity/TaskLink_entity/entityfields/objects/children/objecttype_param/code.js</code> + <valueProcess>%aditoprj%/entity/TaskLink_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess> <triggerRecalculation v="true" /> </entityParameter> </children> @@ -105,6 +106,10 @@ <name>TASKLINKID.value</name> <recordfield>TASKLINK.TASKLINKID</recordfield> </dbRecordFieldMapping> + <dbRecordFieldMapping> + <name>OBJECT_ROWID.displayValue</name> + <expression>%aditoprj%/entity/TaskLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js</expression> + </dbRecordFieldMapping> </recordFieldMappings> </dbRecordContainer> </recordContainers> diff --git a/entity/TaskLink_entity/entityfields/objects/children/objecttype_param/code.js b/entity/TaskLink_entity/entityfields/objects/children/objecttype_param/valueProcess.js similarity index 100% rename from entity/TaskLink_entity/entityfields/objects/children/objecttype_param/code.js rename to entity/TaskLink_entity/entityfields/objects/children/objecttype_param/valueProcess.js diff --git a/entity/TaskLink_entity/entityfields/tasklinkid/valueProcess.js b/entity/TaskLink_entity/entityfields/tasklinkid/valueProcess.js new file mode 100644 index 0000000000..a2378ee42b --- /dev/null +++ b/entity/TaskLink_entity/entityfields/tasklinkid/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/TaskLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js b/entity/TaskLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js new file mode 100644 index 0000000000..4ac0690f62 --- /dev/null +++ b/entity/TaskLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js @@ -0,0 +1,4 @@ +import("system.result"); +import("Context_lib"); + +result.string(ContextUtils.getNameSubselectSql("OBJECT_TYPE", "OBJECT_ROWID")) \ No newline at end of file diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod index bd4fb80d8e..640e9c59c6 100644 --- a/entity/Task_entity/Task_entity.aod +++ b/entity/Task_entity/Task_entity.aod @@ -278,7 +278,7 @@ <children> <entityParameter> <name>containerName_param</name> - <code>%aditoprj%/entity/Task_entity/entityfields/keywordprogress/children/containername_param/code.js</code> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js</valueProcess> </entityParameter> </children> </entityConsumer> @@ -294,7 +294,7 @@ <children> <entityParameter> <name>TaskId_param</name> - <code>%aditoprj%/entity/Task_entity/entityfields/links/children/taskid_param/code.js</code> + <valueProcess>%aditoprj%/entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js</valueProcess> </entityParameter> </children> </entityConsumer> @@ -305,6 +305,7 @@ <alias>Data_alias</alias> <orderClauseProcess>%aditoprj%/entity/Task_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess> <onDBInsert>%aditoprj%/entity/Task_entity/recordcontainers/db/onDBInsert.js</onDBInsert> + <onDBDelete>%aditoprj%/entity/Task_entity/recordcontainers/db/onDBDelete.js</onDBDelete> <linkInformation> <linkInformation> <name>47e1b4a5-6901-48b0-85ba-bec39b86a2d7</name> diff --git a/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js b/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js new file mode 100644 index 0000000000..a9e216fdcc --- /dev/null +++ b/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js @@ -0,0 +1,5 @@ +import("system.result"); +import("Keyword_lib"); +import("KeywordRegistry_basic"); + +result.string($KeywordRegistry.taskProgress()); \ No newline at end of file diff --git a/entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js b/entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js new file mode 100644 index 0000000000..190bc03275 --- /dev/null +++ b/entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js @@ -0,0 +1,4 @@ +import("system.vars"); +import("system.result"); + +result.string(vars.get("$field.TASKID")); \ No newline at end of file diff --git a/entity/Task_entity/recordcontainers/db/onDBDelete.js b/entity/Task_entity/recordcontainers/db/onDBDelete.js new file mode 100644 index 0000000000..9cf43b7f16 --- /dev/null +++ b/entity/Task_entity/recordcontainers/db/onDBDelete.js @@ -0,0 +1,9 @@ +import("system.vars"); +import("system.db"); +import("Sql_lib"); + +var condition = SqlCondition.begin() + .andPrepareVars("TASKLINK.TASK_ID", "$field.TASKID"); + +db.deleteData("TASKLINK", condition.build("1=2")); + diff --git a/entity/Task_entity/recordcontainers/db/onDBInsert.js b/entity/Task_entity/recordcontainers/db/onDBInsert.js index 333d4d3ca9..832d42b125 100644 --- a/entity/Task_entity/recordcontainers/db/onDBInsert.js +++ b/entity/Task_entity/recordcontainers/db/onDBInsert.js @@ -3,11 +3,10 @@ import("system.util"); import("system.db"); if (vars.exists("$param.ObjectType_param") && vars.exists("$param.RowId_param") && vars.get("$param.ObjectType_param") && vars.get("$param.RowId_param")) - db.insertData("AB_OBJECTRELATION", ["AB_OBJECTRELATIONID", "OBJECT1_TYPE", "OBJECT1_ROWID", "OBJECT2_TYPE", "OBJECT2_ROWID"], null, - [ - util.getNewUUID(), - vars.get("$param.ObjectType_param"), - vars.get("$param.RowId_param"), - "Task", - vars.get("$field.TASKID") - ]); \ No newline at end of file + db.insertData("TASKLINK", ["TASKLINKID", "OBJECT_TYPE", "OBJECT_ROWID", "TASK_ID"], null, + [ + util.getNewUUID(), + vars.get("$param.ObjectType_param"), + vars.get("$param.RowId_param"), + vars.get("$field.TASKID") + ]); \ No newline at end of file diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod index ffa69dc777..f977443797 100644 --- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod +++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod @@ -2556,6 +2556,12 @@ <entry> <key>New attribute</key> </entry> + <entry> + <key>History</key> + </entry> + <entry> + <key>Progress</key> + </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> <sqlModels> @@ -2574,4 +2580,4 @@ where AB_KEYWORD_ATTRIBUTE_ID in (&apos;6f81d079-d404-4bda-a7c7-b830ed3d80d5 </statements> </languageSql> </sqlModels> -</language +</language> diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod index fb0c366351..abbf572093 100644 --- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod +++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod @@ -2585,4 +2585,4 @@ </entry> </keyValueMap> <font name="Dialog" style="0" size="11" /> -</language +</language> diff --git a/neonView/TaskEdit_view/TaskEdit_view.aod b/neonView/TaskEdit_view/TaskEdit_view.aod index 75107e82b5..b0a1d9bbfe 100644 --- a/neonView/TaskEdit_view/TaskEdit_view.aod +++ b/neonView/TaskEdit_view/TaskEdit_view.aod @@ -55,5 +55,10 @@ </entityFieldLink> </fields> </genericViewTemplate> + <neonViewReference> + <name>ee35d86f-aef9-4ebd-b90a-d31b32cc3d5f</name> + <entityField>Links</entityField> + <view>TaskLinkMultiEdit_view</view> + </neonViewReference> </children> </neonView> diff --git a/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod b/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod index 3a535fc78a..15b6f53016 100644 --- a/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod +++ b/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod @@ -2,4 +2,25 @@ <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>TaskLinkMultiEdit_view</name> <majorModelMode>DISTRIBUTED</majorModelMode> + <layout> + <boxLayout> + <name>layout</name> + </boxLayout> + </layout> + <children> + <genericMultipleViewTemplate> + <name>GenericMultiple</name> + <entityField>#ENTITY</entityField> + <columns> + <neonTableColumn> + <name>4f3bde0b-cdd7-46a3-b0fc-24eba3ff9b92</name> + <entityField>OBJECT_TYPE</entityField> + </neonTableColumn> + <neonTableColumn> + <name>ef83bb53-da75-498c-8ad5-4927c83243e4</name> + <entityField>OBJECT_ROWID</entityField> + </neonTableColumn> + </columns> + </genericMultipleViewTemplate> + </children> </neonView> diff --git a/process/Task_lib/process.js b/process/Task_lib/process.js index 8d3f2f2525..3cb13fda69 100644 --- a/process/Task_lib/process.js +++ b/process/Task_lib/process.js @@ -16,7 +16,7 @@ function TaskUtils () {} TaskUtils.createNewTask = function (pRowId) { var params = {}; - params["ObjectId_param"] = ContextUtils.getCurrentContextId(); + params["ObjectType_param"] = ContextUtils.getCurrentContextId(); params["RowId_param"] = pRowId; neon.openContext("Task", null, null, neon.OPERATINGSTATE_NEW, params); } \ No newline at end of file -- GitLab