diff --git a/src/js/client.js b/src/js/client.js index 34a94793c..33b703a82 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -22,10 +22,8 @@ angular.module('Application').service('Client', ['$http', '$interval', 'md5', 'N this.message = 'Empty message or object'; } else if (typeof messageOrObject === 'string') { this.message = messageOrObject; - } else if (messageOrObject.message) { - this.message = messageOrObject.message; - } else { - this.message = JSON.stringify(messageOrObject); + } else if (messageOrObject) { + angular.extend(this, messageOrObject); // status, message, reason and other properties } } diff --git a/src/views/appstore.js b/src/views/appstore.js index be2618909..5d33a5309 100644 --- a/src/views/appstore.js +++ b/src/views/appstore.js @@ -190,18 +190,26 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$loca } else { $scope.appInstall.subscriptionHelperPage = 'app_install_subscription_required.html'; } - } else if (error.statusCode === 409 && (error.message.indexOf('Port') !== -1)) { - $scope.appInstall.error.port = error.message; - } else if (error.statusCode === 409 && error.message.indexOf('subdomain') !== -1) { - $scope.appInstall.error.location = error.message; - $scope.appInstallForm.location.$setPristine(); - $('#appInstallLocationInput').focus(); - } else if (error.statusCode === 400 && error.message.indexOf('cert') !== -1 ) { - $scope.appInstall.error.cert = error.message; - $scope.appInstall.certificateFileName = ''; - $scope.appInstall.certificateFile = null; - $scope.appInstall.keyFileName = ''; - $scope.appInstall.keyFile = null; + } else if (error.statusCode === 409) { + if (error.reason === 'Port Conflict') { + $scope.appInstall.error.port = error.message; + } else if (error.reason === 'Location Conflict') { + $scope.appInstall.error.location = error.message; + $scope.appInstallForm.location.$setPristine(); + $('#appInstallLocationInput').focus(); + } else { + $scope.appInstall.error.other = error.message; + } + } else if (error.statusCode === 400) { + if (error.reason === 'Invalid certificate') { + $scope.appInstall.error.cert = error.message; + $scope.appInstall.certificateFileName = ''; + $scope.appInstall.certificateFile = null; + $scope.appInstall.keyFileName = ''; + $scope.appInstall.keyFile = null; + } else { + $scope.appInstall.error.other = error.message; + } } else { $scope.appInstall.error.other = error.message; }