From 782e4b2644977f50b5dbe4a4aab79a54d6ebb869 Mon Sep 17 00:00:00 2001
From: "j.goderbauer" <j.goderbauer@adito.de>
Date: Fri, 6 Dec 2019 13:28:19 +0100
Subject: [PATCH] Task: automatically filter "ended" tasks

---
 entity/Task_entity/afterUiInit.js            | 25 +++++++++++++++++++-
 neonView/TaskFilter_view/TaskFilter_view.aod |  2 +-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/entity/Task_entity/afterUiInit.js b/entity/Task_entity/afterUiInit.js
index bf767e8d66b..566c37e5652 100644
--- a/entity/Task_entity/afterUiInit.js
+++ b/entity/Task_entity/afterUiInit.js
@@ -1,8 +1,31 @@
 import("system.neon");
 import("system.vars");
+import("system.neon");
 import("ActivityTask_lib");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+var recordState = vars.get("$sys.recordstate");
+if(recordState == neon.OPERATINGSTATE_NEW)
 {
     TaskUtils.addLinkRecords("$param.ObjectId_param", "$param.RowId_param", "$param.PresetLinks_param", "$field.PARENT_CONTEXT", "$field.PARENT_ID");
+}
+else if (recordState != neon.OPERATINGSTATE_SEARCH)
+{
+    var statusFilterElement = {
+        "type":"row",
+        "name":"STATUS",
+        "operator":"NOT_EQUAL",
+        "key":$KeywordRegistry.taskStatus$ended(),
+        "contenttype": vars.get("$property.STATUS.contentType")
+    };
+    statusFilterElement.value = KeywordUtils.getViewValue($KeywordRegistry.taskStatus(), statusFilterElement.key);
+    
+    var filter = {
+        "type":"group",
+        "operator":"AND",
+        "childs": [statusFilterElement]
+    };
+    filter = JSON.stringify(filter);
+    neon.setFilter("#ENTITY", filter);
 }
\ No newline at end of file
diff --git a/neonView/TaskFilter_view/TaskFilter_view.aod b/neonView/TaskFilter_view/TaskFilter_view.aod
index bab5b6e34e7..730b7bc9182 100644
--- a/neonView/TaskFilter_view/TaskFilter_view.aod
+++ b/neonView/TaskFilter_view/TaskFilter_view.aod
@@ -8,7 +8,7 @@
       <name>mytasks</name>
       <title>My tasks</title>
       <description>Tasks for which I am responsible</description>
-      <fragment>Task/filter</fragment>
+      <fragment>Task/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6IkFORCIsImNoaWxkcyI6W3sidHlwZSI6InJvdyIsIm5hbWUiOiJTVEFUVVMiLCJvcGVyYXRvciI6Ik5PVF9FUVVBTCIsInZhbHVlIjoiRU5ERUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwia2V5IjoiRU5ERUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwiY29udGVudHR5cGUiOiJURVhUIn1dfSXc</fragment>
       <singleton v="true" />
       <requiresConfiguration v="false" />
       <storeRoles />
-- 
GitLab