From d335f7760b68e0f01e83b42727dcaf3772fe56c4 Mon Sep 17 00:00:00 2001
From: "a.schindlbeck" <a.schindlbeck@adito.de>
Date: Tue, 29 Sep 2020 15:26:23 +0200
Subject: [PATCH] #1063997 Favorites: Filter supportticket by favorites

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

diff --git a/entity/SupportTicket_entity/SupportTicket_entity.aod b/entity/SupportTicket_entity/SupportTicket_entity.aod
index 15878584d0..093ebd9cad 100644
--- a/entity/SupportTicket_entity/SupportTicket_entity.aod
+++ b/entity/SupportTicket_entity/SupportTicket_entity.aod
@@ -560,6 +560,17 @@
           <aggregateType>COUNT</aggregateType>
         </aggregateFieldDbMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtension>
+          <name>Favorite_filter</name>
+          <title>Favoritegroup</title>
+          <contentType>TEXT</contentType>
+          <filterValuesProcess>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js</filterConditionProcess>
+          <isLookupFilter v="false" />
+          <filtertype>BASIC</filtertype>
+        </filterExtension>
+      </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
 </entity>
diff --git a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterConditionProcess.js
new file mode 100644
index 0000000000..765e2ce46b
--- /dev/null
+++ b/entity/SupportTicket_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("TICKET.TICKETID", rowIds[i], SqlBuilder.EQUAL());
+
+result.string(favoFilterCond.toString());
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
new file mode 100644
index 0000000000..1b059fd078
--- /dev/null
+++ b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -0,0 +1,3 @@
+import("Favorites_lib");
+
+result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
-- 
GitLab