From 977b1aa53ba28ac57643b704f3b77722872e031c Mon Sep 17 00:00:00 2001
From: Benjamin Ulrich <b.ulrich@adito.de>
Date: Wed, 28 Oct 2020 14:40:37 +0000
Subject: [PATCH] [Projekt: Entwicklung - Neon][TicketNr.:
 1066929][Firma/Kontakt: Fehlermeldung beim Filtern nach Favoriten]

---
 .../favorite_filter/filterValuesProcess.js    |  5 +--
 .../favorite_filter/filterValuesProcess.js    |  5 +--
 .../favorite_filter/filterValuesProcess.js    |  5 +--
 .../favorite_filter/filterValuesProcess.js    |  5 +--
 .../favorite_filter/filterValuesProcess.js    |  4 +--
 .../favorite_filter/filterValuesProcess.js    |  4 +--
 .../favorites_filter/filterValuesProcess.js   |  4 +--
 .../favorites_filter/filterValuesProcess.js   |  3 +-
 .../favorite_filter/filterValuesProcess.js    |  4 +--
 .../favoritefilter/filterValuesProcess.js     |  3 +-
 .../favorite_filter/filterValuesProcess.js    |  3 +-
 .../favorite_filter/filterValuesProcess.js    |  5 +--
 process/Favorites_lib/process.js              | 31 ++++++++++++++++++-
 13 files changed, 59 insertions(+), 22 deletions(-)

diff --git a/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 97692e13aa..419128ca73 100644
--- a/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Campaign_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
-import("Favorites_lib");
+import("Context_lib");
 import("system.result");
+import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ 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
index 97692e13aa..419128ca73 100644
--- a/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Contract_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
-import("Favorites_lib");
+import("Context_lib");
 import("system.result");
+import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 97692e13aa..419128ca73 100644
--- a/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/DocumentTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
-import("Favorites_lib");
+import("Context_lib");
 import("system.result");
+import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 97692e13aa..419128ca73 100644
--- a/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/ExportTemplate_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
-import("Favorites_lib");
+import("Context_lib");
 import("system.result");
+import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 371a5b567d..419128ca73 100644
--- a/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Offer_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
-
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 371a5b567d..419128ca73 100644
--- a/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Order_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
-
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
index 371a5b567d..419128ca73 100644
--- a/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
-
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
index 0ebab765b8..419128ca73 100644
--- a/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
+++ b/entity/Person_entity/recordcontainers/db/filterextensions/favorites_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js b/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
index 371a5b567d..419128ca73 100644
--- a/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Product_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,5 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
-
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js b/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js
index 0ebab765b8..419128ca73 100644
--- a/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js
+++ b/entity/Productprice_entity/recordcontainers/db/filterextensions/favoritefilter/filterValuesProcess.js
@@ -1,4 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ 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
index 0ebab765b8..419128ca73 100644
--- a/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
+import("Context_lib");
 import("system.result");
 import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ 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
index 97692e13aa..419128ca73 100644
--- a/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
+++ b/entity/SupportTicket_entity/recordcontainers/db/filterextensions/favorite_filter/filterValuesProcess.js
@@ -1,4 +1,5 @@
-import("Favorites_lib");
+import("Context_lib");
 import("system.result");
+import("Favorites_lib");
 
-result.object(FavoritesUtil.getUserFavoriteGroups());
\ No newline at end of file
+result.object(FavoritesUtil.getUserFavoriteGroupsByContext(ContextUtils.getCurrentContextId()));
\ No newline at end of file
diff --git a/process/Favorites_lib/process.js b/process/Favorites_lib/process.js
index 04ae6f9b9e..d5e32f5145 100644
--- a/process/Favorites_lib/process.js
+++ b/process/Favorites_lib/process.js
@@ -55,4 +55,33 @@ FavoritesUtil.getRowIdsOfFavoriteGroup = function()
     
     return null;
 }
-    
\ No newline at end of file
+    
+FavoritesUtil.getUserFavoriteGroupsByContext = function(pContext)
+{
+    var allTypes = [];
+    var alias = favorite.getFavoritesAlias();
+
+    var filterCond = newWhere("ASYS_RECORDGROUP.USER_ID", tools.getCurrentUser()[tools.NAME], null, null, alias);
+
+    var idsOfContext = (new SqlBuilder(alias)).selectDistinct("ASYS_RECORD.RECORDGROUP_ID")
+                            .from("ASYS_RECORD")
+                            .where("ASYS_RECORD.OBJECT_TYPE", pContext)
+                            .arrayColumn();
+
+    var groupNames = (new SqlBuilder(alias)).selectDistinct("ASYS_RECORDGROUP.TITLE")
+                            .from("ASYS_RECORDGROUP")
+                            .where(filterCond)
+                            .and("ASYS_RECORDGROUP.ID", idsOfContext, SqlBuilder.IN())
+                            .arrayColumn();
+    
+    for(var i = 0; i < groupNames.length; i++)
+    {
+        if(groupNames[i].equals("Default"))
+           allTypes.push([groupNames[i], translate.text(groupNames[i])]);
+        else
+           allTypes.push([groupNames[i], groupNames[i]]); 
+    }
+
+    return allTypes;
+        
+}
\ No newline at end of file
-- 
GitLab