From 12a1cded21fae7d4ff3c34dc179224861c4fc07c Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Thu, 3 Sep 2015 12:37:45 -0700 Subject: [PATCH] GUAC-586: Do not include tabs for accounts that do not exist and cannot be created. Style read-only accounts differently. --- .../manage/controllers/manageUserController.js | 16 ++++++++++++++-- .../webapp/app/manage/styles/manage-user.css | 14 ++++++++++---- guacamole/src/main/webapp/images/lock.png | Bin 0 -> 511 bytes 3 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 guacamole/src/main/webapp/images/lock.png 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 0000000000000000000000000000000000000000..399d511829bbf323504b3ef94242eac1c5d1c073 GIT binary patch literal 511 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4-S9CC6C{4-7P-4OWT0)!hZ9 z6)As$bD7WfZ1jDgmHfw9*ONELXx~h}{qd!|mzF!)tWTYF<%H&A>6=;x`PRwzIs@G< z?|u_?rJi{n_nB&@D$DH9W1AQ}ul(0A+%Eq$Jnf9p#8k#d?|*GLa;IX=&C6LUAAL1z zkiB&1nE5&u3!NQ)HD9+Jx|9EauVSX%qPebJdtaTqRrN5Y-mmHJGk4v6PRq>1-{0CC zz_^FGBA6ILD<(VOVN~V5ESqr6>q}ZU{L(FO`1OBb2L$-MXWt&Ss-EY%Qz$U97(8A5 KT-G@yGywnxl+HT< literal 0 HcmV?d00001