From 2c2e043dbb3b71247e2f347f1f108b855a3681be Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:45:27 +0200
Subject: [PATCH] #1063997 Favorites: Filter Contracts by Favorites

---
 entity/Contract_entity/Contract_entity.aod            |  8 ++++++++
 .../favorite_filter/filterConditionProcess.js         | 11 +++++++++++
 .../favorite_filter/filterValuesProcess.js            |  4 ++++
 3 files changed, 23 insertions(+)
 create mode 100644 entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
 create mode 100644 entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js

diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index b3f109df9e..273e731918 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -553,6 +553,14 @@
           <filterConditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
           <filtertype>BASIC</filtertype>
         </filterExtensionSet>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..6b54c17068
--- /dev/null
+++ b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
@@ -0,0 +1,11 @@
+import("Favorites_lib");
+import("system.result");
+import("Sql_lib");
+
+var favoFilterCond = newWhere();
+var rowIds = FavoritesUtil.getRowIdsOfFavoriteGroup();
+
+for(i = 0; i < rowIds.length; i++)
+    favoFilterCond.or("CONTRACT.CONTRACTID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..97692e13aa
--- /dev/null
+++ b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,4 @@
+import("Favorites_lib");
+import("system.result");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
-- 
GitLab