From 16625434f6a02e04b917a173ec07b782904f08a9 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:16:47 +0200
Subject: [PATCH] ##1063997 Favorites: Filter Salesproj by Favorites

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

diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index d9710bbf19..5cc67eef56 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -935,6 +935,14 @@
           <isGroupable v="true" />
           <groupQueryProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js</groupQueryProcess>
         </filterExtension>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
       </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..bf9199d486
--- /dev/null
+++ b/entity/Salesproject_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("SALESPROJECT.SALESPROJECTID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..0ebab765b8
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Favorites_lib");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
-- 
GitLab