diff --git a/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js b/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js index a8032c2f8..969e49351 100644 --- a/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js +++ b/guacamole/src/main/webapp/app/manage/controllers/manageUserController.js @@ -393,13 +393,25 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto angular.forEach(dataSources, function addAccountPage(dataSource) { // Determine whether data source contains this user - var linked = $scope.userExists(dataSource); + var linked = $scope.userExists(dataSource); + var readOnly = $scope.isReadOnly(dataSource); + + // Account is not relevant if it does not exist and cannot be + // created + if (!linked && readOnly) + return; + + // Determine class name based on read-only / linked status + var className; + if (readOnly) className = 'read-only'; + else if (linked) className = 'linked'; + else className = 'unlinked'; // Add page entry $scope.accountPages.push(new PageDefinition({ name : translationStringService.canonicalize('DATA_SOURCE_' + dataSource) + '.NAME', url : '/manage/' + encodeURIComponent(dataSource) + '/users/' + encodeURIComponent(username), - className : linked ? 'linked' : 'unlinked' + className : className })); }); diff --git a/guacamole/src/main/webapp/app/manage/styles/manage-user.css b/guacamole/src/main/webapp/app/manage/styles/manage-user.css index 7d6f077db..ab64e78b7 100644 --- a/guacamole/src/main/webapp/app/manage/styles/manage-user.css +++ b/guacamole/src/main/webapp/app/manage/styles/manage-user.css @@ -28,14 +28,16 @@ text-transform: none; } -.manage-user .page-tabs .page-list li.unlinked a[href], -.manage-user .page-tabs .page-list li.linked a[href] { +.manage-user .page-tabs .page-list li.read-only a[href], +.manage-user .page-tabs .page-list li.unlinked a[href], +.manage-user .page-tabs .page-list li.linked a[href] { padding-right: 2.5em; position: relative; } -.manage-user .page-tabs .page-list li.unlinked a[href]:before, -.manage-user .page-tabs .page-list li.linked a[href]:before { +.manage-user .page-tabs .page-list li.read-only a[href]:before, +.manage-user .page-tabs .page-list li.unlinked a[href]:before, +.manage-user .page-tabs .page-list li.linked a[href]:before { content: ' '; position: absolute; right: 0; @@ -47,6 +49,10 @@ background-position: center; } +.manage-user .page-tabs .page-list li.read-only a[href]:before { + background-image: url('images/lock.png'); +} + .manage-user .page-tabs .page-list li.unlinked a[href]:before { background-image: url('images/plus.png'); } diff --git a/guacamole/src/main/webapp/images/lock.png b/guacamole/src/main/webapp/images/lock.png new file mode 100644 index 000000000..399d51182 Binary files /dev/null and b/guacamole/src/main/webapp/images/lock.png differ