From 2f8bf0e825d891f3e5e585238b0f0cdfa0dee989 Mon Sep 17 00:00:00 2001 From: Johannes Zellner Date: Thu, 6 Oct 2022 19:50:47 +0200 Subject: [PATCH] Better upstreamUri error feedback --- src/views/apps.js | 7 +++++++ src/views/appstore.js | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/views/apps.js b/src/views/apps.js index ddea12069..34c74e1c7 100644 --- a/src/views/apps.js +++ b/src/views/apps.js @@ -178,6 +178,7 @@ angular.module('Application').controller('AppsController', ['$scope', '$translat submit: function () { $scope.applinksEdit.busyEdit = true; + $scope.applinksEdit.error = {}; var accessRestriction = null; if ($scope.applinksEdit.accessRestrictionOption === 'groups') { @@ -204,6 +205,12 @@ angular.module('Application').controller('AppsController', ['$scope', '$translat Client.updateApplink($scope.applinksEdit.id, data, function (error) { $scope.applinksEdit.busyEdit = false; + if (error && error.statusCode === 400 && error.message.includes('upstreamUri')) { + $scope.applinksEdit.error.upstreamUri = error.message; + $scope.applinksEditForm.$setUntouched(); + $scope.applinksEditForm.$setPristine(); + return; + } if (error) return console.error('Failed to update applink', error); Client.refreshInstalledApps(); diff --git a/src/views/appstore.js b/src/views/appstore.js index 890149d9b..923521d19 100644 --- a/src/views/appstore.js +++ b/src/views/appstore.js @@ -637,6 +637,7 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$tran if (!$scope.applinksAdd.upstreamUri) return; $scope.applinksAdd.busy = true; + $scope.applinksAdd.error = {}; var accessRestriction = null; if ($scope.applinksAdd.accessRestrictionOption === 'groups') { @@ -655,6 +656,12 @@ angular.module('Application').controller('AppStoreController', ['$scope', '$tran Client.addApplink(data, function (error) { $scope.applinksAdd.busy = false; + if (error && error.statusCode === 400 && error.message.includes('upstreamUri')) { + $scope.applinksAdd.error.upstreamUri = error.message; + $scope.applinksAddForm.$setUntouched(); + $scope.applinksAddForm.$setPristine(); + return; + } if (error) return console.error('Failed to add applink', error); // wait for dialog to be fully closed to avoid modal behavior breakage when moving to a different view already