mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUACAMOLE-526: Move handling of request error notification to guacNotification, resolving circular dependency.
This commit is contained in:
@@ -379,7 +379,7 @@ angular.module('manage').controller('manageConnectionController', ['$scope', '$i
|
||||
connectionService.saveConnection($scope.selectedDataSource, $scope.connection)
|
||||
.then(function savedConnection() {
|
||||
$location.url('/settings/' + encodeURIComponent($scope.selectedDataSource) + '/connections');
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
};
|
||||
|
||||
@@ -419,7 +419,7 @@ angular.module('manage').controller('manageConnectionController', ['$scope', '$i
|
||||
connectionService.deleteConnection($scope.selectedDataSource, $scope.connection)
|
||||
.then(function deletedConnection() {
|
||||
$location.path('/settings/' + encodeURIComponent($scope.selectedDataSource) + '/connections');
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
};
|
||||
|
||||
|
@@ -221,7 +221,7 @@ angular.module('manage').controller('manageConnectionGroupController', ['$scope'
|
||||
connectionGroupService.saveConnectionGroup($scope.selectedDataSource, $scope.connectionGroup)
|
||||
.then(function savedConnectionGroup() {
|
||||
$location.path('/settings/' + encodeURIComponent($scope.selectedDataSource) + '/connections');
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
};
|
||||
|
||||
@@ -261,7 +261,7 @@ angular.module('manage').controller('manageConnectionGroupController', ['$scope'
|
||||
connectionGroupService.deleteConnectionGroup($scope.selectedDataSource, $scope.connectionGroup)
|
||||
.then(function deletedConnectionGroup() {
|
||||
$location.path('/settings/' + encodeURIComponent($scope.selectedDataSource) + '/connections');
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
};
|
||||
|
||||
|
@@ -342,7 +342,7 @@ angular.module('manage').controller('manageSharingProfileController', ['$scope',
|
||||
sharingProfileService.saveSharingProfile($scope.selectedDataSource, $scope.sharingProfile)
|
||||
.then(function savedSharingProfile() {
|
||||
$location.url('/settings/' + encodeURIComponent($scope.selectedDataSource) + '/connections');
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
};
|
||||
|
||||
@@ -370,7 +370,7 @@ angular.module('manage').controller('manageSharingProfileController', ['$scope',
|
||||
sharingProfileService.deleteSharingProfile($scope.selectedDataSource, $scope.sharingProfile)
|
||||
.then(function deletedSharingProfile() {
|
||||
$location.path('/settings/' + encodeURIComponent($scope.selectedDataSource) + '/connections');
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
};
|
||||
|
||||
|
@@ -1141,9 +1141,9 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto
|
||||
permissionService.patchPermissions(selectedDataSource, $scope.user.username, permissionsAdded, permissionsRemoved)
|
||||
.then(function patchedUserPermissions() {
|
||||
$location.url('/settings/users');
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
};
|
||||
|
||||
@@ -1183,7 +1183,7 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto
|
||||
userService.deleteUser(selectedDataSource, $scope.user)
|
||||
.then(function deletedUser() {
|
||||
$location.path('/settings/users');
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
};
|
||||
|
||||
|
@@ -21,5 +21,6 @@
|
||||
* The module for code used to display arbitrary notifications.
|
||||
*/
|
||||
angular.module('notification', [
|
||||
'rest',
|
||||
'storage'
|
||||
]);
|
||||
|
@@ -25,6 +25,7 @@ angular.module('notification').factory('guacNotification', ['$injector',
|
||||
|
||||
// Required services
|
||||
var $rootScope = $injector.get('$rootScope');
|
||||
var requestService = $injector.get('requestService');
|
||||
var sessionStorageFactory = $injector.get('sessionStorageFactory');
|
||||
|
||||
var service = {};
|
||||
@@ -93,26 +94,24 @@ angular.module('notification').factory('guacNotification', ['$injector',
|
||||
};
|
||||
|
||||
/**
|
||||
* Shows the given REST error response as a modal status. If a status
|
||||
* notification is already currently shown, this function will have no
|
||||
* effect.
|
||||
* Promise error callback which displays a modal notification for all
|
||||
* rejections due to REST errors. The message displayed to the user within
|
||||
* the notification is provided by the contents of the @link{Error} object
|
||||
* within the REST response. All other rejections, such as those due to
|
||||
* JavaScript errors, are logged to the browser console without displaying
|
||||
* any notification.
|
||||
*
|
||||
* @param {Error} error
|
||||
* The error object returned from the failed REST request.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* someService.updateObject(object)
|
||||
* ['catch'](guacNotification.showRequestError);
|
||||
* @constant
|
||||
* @type Function
|
||||
*/
|
||||
service.showRequestError = function showRequestError(error) {
|
||||
service.SHOW_REQUEST_ERROR = requestService.createErrorCallback(function showRequestError(error) {
|
||||
service.showStatus({
|
||||
className : 'error',
|
||||
title : 'APP.DIALOG_HEADER_ERROR',
|
||||
text : error.translatableMessage,
|
||||
actions : [ service.ACKNOWLEDGE_ACTION ]
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
// Hide status upon navigation
|
||||
$rootScope.$on('$routeChangeSuccess', function() {
|
||||
|
@@ -22,6 +22,5 @@
|
||||
* Guacamole web application.
|
||||
*/
|
||||
angular.module('rest', [
|
||||
'auth',
|
||||
'notification'
|
||||
'auth'
|
||||
]);
|
||||
|
@@ -27,7 +27,6 @@ angular.module('rest').factory('requestService', ['$injector',
|
||||
// Required services
|
||||
var $http = $injector.get('$http');
|
||||
var $log = $injector.get('$log');
|
||||
var guacNotification = $injector.get('guacNotification');
|
||||
|
||||
// Required types
|
||||
var Error = $injector.get('Error');
|
||||
@@ -116,19 +115,6 @@ angular.module('rest').factory('requestService', ['$injector',
|
||||
$log.warn(error.type, error.message || error.translatableMessage);
|
||||
});
|
||||
|
||||
/**
|
||||
* Promise error callback which displays a modal notification for all
|
||||
* rejections due to REST errors. The message displayed to the user within
|
||||
* the notification is provided by the contents of the @link{Error} object
|
||||
* within the REST response. All other rejections, such as those due to
|
||||
* JavaScript errors, are logged to the browser console without displaying
|
||||
* any notification.
|
||||
*
|
||||
* @constant
|
||||
* @type Function
|
||||
*/
|
||||
service.SHOW_NOTIFICATION = service.createErrorCallback(guacNotification.showRequestError);
|
||||
|
||||
return service;
|
||||
|
||||
}]);
|
||||
|
@@ -165,7 +165,7 @@ angular.module('settings').directive('guacSettingsPreferences', [function guacSe
|
||||
},
|
||||
actions : [ ACKNOWLEDGE_ACTION ]
|
||||
});
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
};
|
||||
|
||||
|
@@ -316,7 +316,7 @@ angular.module('settings').directive('guacSettingsSessions', [function guacSetti
|
||||
// Clear selection
|
||||
allSelectedWrappers = {};
|
||||
|
||||
}, requestService.SHOW_NOTIFICATION);
|
||||
}, guacNotification.SHOW_REQUEST_ERROR);
|
||||
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user