diff --git a/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js b/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js index 640034f6e..34c67800c 100644 --- a/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js +++ b/extensions/guacamole-auth-quickconnect/src/main/resources/controllers/quickconnectController.js @@ -20,28 +20,16 @@ /** * The controller for making ad-hoc (quick) connections */ -angular.module('guacQuickConnect').controller('quickconnectController', ['$scope', '$injector', '$log', - function manageConnectionController($scope, $injector, $log) { +angular.module('guacQuickConnect').controller('quickconnectController', ['$scope', '$injector', + function manageConnectionController($scope, $injector) { // Required types var ClientIdentifier = $injector.get('ClientIdentifier'); // Required services - var $location = $injector.get('$location'); - var guacNotification = $injector.get('guacNotification'); - var quickConnectService = $injector.get('quickConnectService'); - - /** - * An action to be provided along with the object sent to showStatus which - * closes the currently-shown status dialog. - */ - var ACKNOWLEDGE_ACTION = { - name : "MANAGE_CONNECTION.ACTION_ACKNOWLEDGE", - // Handle action - callback : function acknowledgeCallback() { - guacNotification.showStatus(false); - } - }; + var $location = $injector.get('$location'); + var guacNotification = $injector.get('guacNotification'); + var quickConnectService = $injector.get('quickConnectService'); /** * The URI that will be passed in to the extension to create @@ -56,21 +44,13 @@ angular.module('guacQuickConnect').controller('quickconnectController', ['$scope $scope.quickConnect = function quickConnect() { quickConnectService.createConnection($scope.uri) - .success(function createdConnection(connectionId) { + .then(function createdConnection(connectionId) { $location.url('/client/' + ClientIdentifier.toString({ dataSource : 'quickconnect', type : ClientIdentifier.Types.CONNECTION, id : connectionId })); - }) - .error(function createFailed(error) { - guacNotification.showStatus({ - 'className' : 'error', - 'title' : 'MANAGE_CONNECTION.DIALOG_HEADER_ERROR', - 'text' : error.translatableMessage, - 'actions' : [ ACKNOWLEDGE_ACTION ] - }); - }); + }, guacNotification.SHOW_REQUEST_ERROR); return; diff --git a/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js b/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js index 946e1912a..b5f947515 100644 --- a/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js +++ b/extensions/guacamole-auth-quickconnect/src/main/resources/services/quickConnectService.js @@ -24,9 +24,9 @@ angular.module('guacQuickConnect').factory('quickConnectService', ['$injector', function quickConnectService($injector) { // Required services - var $http = $injector.get('$http'); var authenticationService = $injector.get('authenticationService'); var cacheService = $injector.get('cacheService'); + var requestService = $injector.get('requestService'); var service = {}; @@ -47,17 +47,20 @@ angular.module('guacQuickConnect').factory('quickConnectService', ['$injector', token : authenticationService.getCurrentToken() }; - return $http({ + return requestService({ method : 'POST', url : 'api/session/ext/quickconnect/create', params : httpParameters, - data : $.param({uri: uri }), + data : $.param({uri: uri}), headers : {'Content-Type': 'application/x-www-form-urlencoded'} }) - .success(function connectionCreated() { + .then(function connectionCreated(connectionId) { // Clear connections and users from cache. cacheService.connections.removeAll(); cacheService.users.removeAll(); + + // Pass on the connection identifier + return connectionId; }); };