You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by wu...@apache.org on 2022/11/16 02:54:40 UTC
[ambari] branch trunk updated: AMBARI-25410: Add autocomplete for all repos url for login and password (#3503)
This is an automated email from the ASF dual-hosted git repository.
wuzhiguo pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new e87e2b6565 AMBARI-25410: Add autocomplete for all repos url for login and password (#3503)
e87e2b6565 is described below
commit e87e2b65652723457d0173f777ba86aeff57e5e0
Author: Zhiguo Wu <wu...@apache.org>
AuthorDate: Wed Nov 16 10:54:34 2022 +0800
AMBARI-25410: Add autocomplete for all repos url for login and password (#3503)
---
.../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 78f0880ed0..cd86d5d815 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
@@ -440,6 +440,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 7b10a1e60c..5452c60ce8 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 ba23c06454..eb107b9edd 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')
});
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ambari.apache.org
For additional commands, e-mail: commits-help@ambari.apache.org