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 <[email protected]>
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('[email protected]')
});