Make sure to escape error messages and add clarification to the trigger activation dialog

This commit is contained in:
Joseph Schorr 2015-05-11 13:47:40 -04:00
parent 4feb2a2032
commit 628d80895d
3 changed files with 12 additions and 1 deletions

View file

@ -111,6 +111,9 @@ angular.module('quay').directive('setupTriggerDialog', function () {
var errorHandler = ApiService.errorDisplay('Cannot activate build trigger', function(resp) {
$scope.hide();
$scope.canceled({'trigger': $scope.trigger});
return ApiService.getErrorMessage(resp) +
'\n\nThis usually means that you do not have admin access on the repository.';
});
ApiService.activateBuildTrigger(data, params).then(function(resp) {

View file

@ -3,7 +3,7 @@
* callbacks. Any method defined on the server is exposed here as an equivalent method. Also
* defines some helper functions for working with API responses.
*/
angular.module('quay').factory('ApiService', ['Restangular', '$q', function(Restangular, $q) {
angular.module('quay').factory('ApiService', ['Restangular', '$q', 'UtilService', function(Restangular, $q, UtilService) {
var apiService = {};
var getResource = function(path, opt_background) {
@ -313,6 +313,8 @@ angular.module('quay').factory('ApiService', ['Restangular', '$q', function(Rest
}
}
message = UtilService.stringToHTML(message);
bootbox.dialog({
"message": message,
"title": defaultMessage,

View file

@ -61,6 +61,12 @@ angular.module('quay').factory('UtilService', ['$sanitize', function($sanitize)
return adjusted;
};
utilService.stringToHTML = function(text) {
text = utilService.escapeHtmlString(text);
text = text.replace(/\n/g, '<br>');
return text;
};
utilService.getRestUrl = function(args) {
var url = '';
for (var i = 0; i < arguments.length; ++i) {