From 628d80895d48bb3514b9d29732b168c58d3d5793 Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Mon, 11 May 2015 13:47:40 -0400 Subject: [PATCH] Make sure to escape error messages and add clarification to the trigger activation dialog --- static/js/directives/ui/setup-trigger-dialog.js | 3 +++ static/js/services/api-service.js | 4 +++- static/js/services/util-service.js | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/static/js/directives/ui/setup-trigger-dialog.js b/static/js/directives/ui/setup-trigger-dialog.js index 3077f09af..6696d6cdd 100644 --- a/static/js/directives/ui/setup-trigger-dialog.js +++ b/static/js/directives/ui/setup-trigger-dialog.js @@ -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) { diff --git a/static/js/services/api-service.js b/static/js/services/api-service.js index 08af7d6ff..5952463fd 100644 --- a/static/js/services/api-service.js +++ b/static/js/services/api-service.js @@ -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, diff --git a/static/js/services/util-service.js b/static/js/services/util-service.js index bf9edbbc4..9e33a659f 100644 --- a/static/js/services/util-service.js +++ b/static/js/services/util-service.js @@ -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, '
'); + return text; + }; + utilService.getRestUrl = function(args) { var url = ''; for (var i = 0; i < arguments.length; ++i) {