From 4f19b5a7ebcaed37de77663c98be6a680bd94b6c Mon Sep 17 00:00:00 2001
From: Thomas Steur <tsteur@users.noreply.github.com>
Date: Tue, 25 Apr 2017 23:56:27 +0000
Subject: [PATCH] add possibility to reload the reporting menu on demand

---
 .../reporting-menu/reportingmenu-model.js         |  1 +
 .../reporting-menu/reportingmenu.controller.js    | 15 +++++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/plugins/CoreHome/angularjs/reporting-menu/reportingmenu-model.js b/plugins/CoreHome/angularjs/reporting-menu/reportingmenu-model.js
index ca26581da0..d2979772bb 100644
--- a/plugins/CoreHome/angularjs/reporting-menu/reportingmenu-model.js
+++ b/plugins/CoreHome/angularjs/reporting-menu/reportingmenu-model.js
@@ -147,6 +147,7 @@
             var pagesPromise = reportingPagesModel.reloadAllPages();
             return pagesPromise.then(function (pages) {
                 model.menu = buildMenuFromPages(pages);
+                return model.menu;
             });
         }
 
diff --git a/plugins/CoreHome/angularjs/reporting-menu/reportingmenu.controller.js b/plugins/CoreHome/angularjs/reporting-menu/reportingmenu.controller.js
index dd2b685dc5..1c94136827 100644
--- a/plugins/CoreHome/angularjs/reporting-menu/reportingmenu.controller.js
+++ b/plugins/CoreHome/angularjs/reporting-menu/reportingmenu.controller.js
@@ -120,6 +120,21 @@
             }
         });
 
+        $rootScope.$on('updateReportingMenu', function () {
+            menuModel.reloadMenuItems().then(function (menu) {
+                var $search = $location.search();
+                var category    = $search.category;
+                var subcategory = $search.subcategory;
+                // we need to make sure to select same categories again
+                if (category && subcategory) {
+                    var found = menuModel.findSubcategory(category, subcategory);
+                    if (found) {
+                        enterSubcategory(found.category, found.subcategory, found.subsubcategory);
+                    }
+                }
+            });
+        });
+
         $rootScope.$on('$locationChangeSuccess', function () {
             var $search = $location.search();
             var category    = $search.category;
-- 
GitLab