You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by mj...@apache.org on 2018/03/03 20:23:28 UTC

[2/5] guacamole-client git commit: GUACAMOLE-508: Take user to home page when Settings pages are available.

GUACAMOLE-508: Take user to home page when Settings pages are available.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-client/commit/b95b1131
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-client/tree/b95b1131
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-client/diff/b95b1131

Branch: refs/heads/master
Commit: b95b1131b6314ef579be46b2ba23a313c5e1dca2
Parents: 0645962
Author: Nick Couchman <vn...@apache.org>
Authored: Mon Feb 19 09:57:07 2018 -0500
Committer: Nick Couchman <vn...@apache.org>
Committed: Fri Mar 2 21:45:43 2018 -0500

----------------------------------------------------------------------
 .../app/navigation/services/userPageService.js  | 25 ++++++++++++++------
 1 file changed, 18 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-client/blob/b95b1131/guacamole/src/main/webapp/app/navigation/services/userPageService.js
----------------------------------------------------------------------
diff --git a/guacamole/src/main/webapp/app/navigation/services/userPageService.js b/guacamole/src/main/webapp/app/navigation/services/userPageService.js
index 479ae1a..aff16b5 100644
--- a/guacamole/src/main/webapp/app/navigation/services/userPageService.js
+++ b/guacamole/src/main/webapp/app/navigation/services/userPageService.js
@@ -60,9 +60,13 @@ angular.module('navigation').factory('userPageService', ['$injector',
      * @returns {PageDefinition}
      *     The user's home page.
      */
-    var generateHomePage = function generateHomePage(rootGroups) {
+    var generateHomePage = function generateHomePage(rootGroups,permissions) {
 
         var homePage = null;
+        var settingsPages = generateSettingsPages(permissions);
+
+        if (settingsPages.length > 1)
+            return SYSTEM_HOME_PAGE;
 
         // Determine whether a connection or balancing group should serve as
         // the home page
@@ -140,13 +144,20 @@ angular.module('navigation').factory('userPageService', ['$injector',
         var deferred = $q.defer();
 
         // Resolve promise using home page derived from root connection groups
-        dataSourceService.apply(
+        var getRootGroups = dataSourceService.apply(
             connectionGroupService.getConnectionGroupTree,
             authenticationService.getAvailableDataSources(),
             ConnectionGroup.ROOT_IDENTIFIER
-        )
-        .then(function rootConnectionGroupsRetrieved(rootGroups) {
-            deferred.resolve(generateHomePage(rootGroups));
+        );
+        var getPermissionSets = dataSourceService.apply(
+            permissionService.getPermissions,
+            authenticationService.getAvailableDataSources(),
+            authenticationService.getCurrentUsername()
+        );
+
+        $q.all([getRootGroups,getPermissionSets])
+        .then(function rootConnectionGroupsPermissionsRetrieved(data) {
+            deferred.resolve(generateHomePage(data[0],data[1]));
         });
 
         return deferred.promise;
@@ -342,7 +353,7 @@ angular.module('navigation').factory('userPageService', ['$injector',
         var pages = [];
 
         // Get home page and settings pages
-        var homePage = generateHomePage(rootGroups);
+        var homePage = generateHomePage(rootGroups, permissions);
         var settingsPages = generateSettingsPages(permissions);
 
         // Only include the home page in the list of main pages if the user
@@ -417,4 +428,4 @@ angular.module('navigation').factory('userPageService', ['$injector',
    
     return service;
     
-}]);
\ No newline at end of file
+}]);