This is an automated email from the ASF dual-hosted git repository. alexantonenko pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/branch-2.7 by this push: new 55140c8 AMBARI-25410. Add autocomplete for all repos url for login and password new 3062942 Merge pull request #3119 from hiveww/AMBARI-25410-branch-2.7 55140c8 is described below commit 55140c80f7734e91f6355d068ecc4bdfe3322cfc Author: Alex Antonenko <aantone...@hortonworks.com> AuthorDate: Sun Nov 3 17:29:23 2019 +0200 AMBARI-25410. Add autocomplete for all repos url for login and password --- .../stackVersions/StackVersionsCreateCtrl.js | 26 ++++++++++++++++++++ .../stackVersions/StackVersionsEditCtrl.js | 25 +++++++++++++++++++ ambari-web/app/views/wizard/step1_view.js | 28 ++++++++++++++++++++++ 3 files changed, 79 insertions(+) diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js index 72b73ac..2a6c3f9 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js @@ -444,6 +444,32 @@ angular.module('ambariAdminConsole') $scope.onRepoUrlChange = function (repository) { $scope.clearError(repository); $scope.setInvalidUrlError(repository); + $scope.setUsernameAndPasswordsIfNeeded(repository); + }; + + $scope.setUsernameAndPasswordsIfNeeded = function(repo) { + try { + var urlObject = new URL(repo.Repositories.base_url); + var username = urlObject.username; + var password = urlObject.password; + } catch (e) { + return; + } + $scope.osList.forEach(function(os) { + if (os.repositories) { + os.repositories.forEach(function (repo) { + var currentUrl = repo.Repositories.base_url; + try { + var currentUrlObject = new URL(currentUrl); + } catch (e) { + return; + } + currentUrlObject.username = username; + currentUrlObject.password = password; + repo.Repositories.base_url = currentUrlObject.toString(); + }); + } + }); }; $scope.undoChange = function(repo) { diff --git a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js index 5af832d..e1f6b4f 100644 --- a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js +++ b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js @@ -322,6 +322,31 @@ angular.module('ambariAdminConsole') repo.Repositories.base_url = repo.Repositories.initial_base_url; }; + $scope.onRepoUrlChange = function(repo) { + try { + var urlObject = new URL(repo.Repositories.base_url); + var username = urlObject.username; + var password = urlObject.password; + } catch (e) { + return; + } + $scope.osList.forEach(function(os) { + if (os.repositories) { + os.repositories.forEach(function (repo) { + var currentUrl = repo.Repositories.base_url; + try { + var currentUrlObject = new URL(currentUrl); + } catch (e) { + return; + } + currentUrlObject.username = username; + currentUrlObject.password = password; + repo.Repositories.base_url = currentUrlObject.toString(); + }); + } + }); + }; + $scope.clearErrors = function() { if ($scope.osList) { $scope.osList.forEach(function(os) { diff --git a/ambari-web/app/views/wizard/step1_view.js b/ambari-web/app/views/wizard/step1_view.js index ba23c06..eb107b9 100644 --- a/ambari-web/app/views/wizard/step1_view.js +++ b/ambari-web/app/views/wizard/step1_view.js @@ -313,6 +313,9 @@ App.WizardStep1View = Em.View.extend({ if (!repositories) { return; } + var changedRepo = repositories.find(function(repository) { + return repository.get('lastBaseUrl') && repository.get('lastBaseUrl') !== repository.get('baseUrl'); + }); repositories.forEach(function (repository) { if (repository.get('lastBaseUrl') !== repository.get('baseUrl')) { repository.setProperties({ @@ -321,6 +324,31 @@ App.WizardStep1View = Em.View.extend({ }); } }, this); + if (changedRepo) { + try { + var urlObject = new URL(changedRepo.get('baseUrl')); + } catch (e) { + return; + } + var username = urlObject.username; + var password = urlObject.password; + repositories.forEach(function (repository) { + var currentUrl = repository.get('baseUrl'); + try { + var currentUrlObject = new URL(currentUrl); + } catch (e) { + return; + } + currentUrlObject.username = username; + currentUrlObject.password = password; + var newUrl = currentUrlObject.toString(); + if (newUrl !== currentUrl) { + setTimeout(function () { + repository.set('baseUrl', newUrl); + }, 0); + } + }, this); + } }.observes('allRepositories.@each.baseUrl') });