From ea78e2682b6305db0f453b7df624345b3c890b7c Mon Sep 17 00:00:00 2001 From: Manisha Singhal Date: Tue, 10 May 2022 22:42:04 +0200 Subject: [PATCH] Fixes #34818 - Fix Upstream authentication autofill issue (#10076) --- .../repository-details-info.controller.js | 12 +++---- .../details/views/repository-info.html | 15 ++++----- .../new/views/new-repository.html | 3 +- ...repository-details-info.controller.test.js | 32 ++----------------- 4 files changed, 15 insertions(+), 47 deletions(-) diff --git a/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js b/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js index dc3e721fb53..287c2d41f90 100644 --- a/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +++ b/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js @@ -89,7 +89,7 @@ angular.module('Bastion.repositories').controller('RepositoryDetailsInfoControll return deferred.promise; }; - $scope.save = function (repository, saveUpstreamAuth) { + $scope.save = function (repository) { var deferred = $q.defer(); var fields = ['upstream_password', 'upstream_username', 'upstream_authentication_token', 'ansible_collection_auth_token', 'ansible_collection_auth_url', 'ansible_collection_requirements']; if (repository.content_type === 'yum' && typeof repository.ignore_srpms !== 'undefined') { @@ -99,13 +99,6 @@ angular.module('Bastion.repositories').controller('RepositoryDetailsInfoControll repository['ignorable_content'] = []; } } - - if (!saveUpstreamAuth) { - repository['upstream_username'] = null; - repository['upstream_password'] = null; - repository['upstream_authentication_token'] = null; - } - if ($scope.genericRemoteOptions && $scope.genericRemoteOptions !== []) { $scope.genericRemoteOptions.forEach(function(option) { if (option.type === "Array") { @@ -141,6 +134,9 @@ angular.module('Bastion.repositories').controller('RepositoryDetailsInfoControll repository[field] = null; } }); + if (!repository['upstream_username']) { + repository['upstream_password'] = null; + } repository.os_versions = $scope.osVersionsParam(); repository.$update(function (response) { deferred.resolve(response); diff --git a/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html b/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html index d0df6a6e236..b5fbea67e5e 100644 --- a/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +++ b/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html @@ -63,7 +63,7 @@

Sync Settings

Upstream URL
Registry URL
@@ -134,7 +134,7 @@

Sync Settings

Ansible Collection Authorization
Sync Settings
Upstream Authorization
Sync Settings
Upstream Password
-
Upstream Authentication Token
diff --git a/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html b/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html index 2b09b737f11..51054f29976 100644 --- a/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +++ b/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html @@ -224,7 +224,8 @@

Sync Settings

+ type="password" + autocomplete="new-password"/>

Password of the upstream repository user for authentication. Leave empty if repository does not require authentication.

diff --git a/engines/bastion_katello/test/products/details/repositories/details/repository-details-info.controller.test.js b/engines/bastion_katello/test/products/details/repositories/details/repository-details-info.controller.test.js index d47d45adaa6..41188cd8ccc 100644 --- a/engines/bastion_katello/test/products/details/repositories/details/repository-details-info.controller.test.js +++ b/engines/bastion_katello/test/products/details/repositories/details/repository-details-info.controller.test.js @@ -125,34 +125,6 @@ describe('Controller: RepositoryDetailsInfoController', function() { expect(Notification.setSuccessMessage).toHaveBeenCalledWith('Repository Saved.'); }); - it('should ignore upstream auth on save unless specified', function() { - var repo = new Repository({ - upstream_username: 'autofilled', - upstream_password: 'autofilled', - upstream_authentication_token: 'autofilled' - }) - - $scope.save(repo); - - expect(repo.upstream_username).toBe(null); - expect(repo.upstream_password).toBe(null); - expect(repo.upstream_authentication_token).toBe(null); - }); - - it('should not ignore upstream auth on save unless specified', function() { - var repo = new Repository({ - upstream_username: 'autofilled', - upstream_password: 'autofilled', - upstream_authentication_token: 'autofilled' - }) - - $scope.save(repo, true); - - expect(repo.upstream_username).toBe('autofilled'); - expect(repo.upstream_password).toBe('autofilled'); - expect(repo.upstream_authentication_token).toBe('autofilled'); - }); - it('should clear out auth fields on save if blank', function() { var repo = new Repository({ upstream_username: '', @@ -162,7 +134,7 @@ describe('Controller: RepositoryDetailsInfoController', function() { ansible_collection_auth_token: '', }) - $scope.save(repo, true); + $scope.save(repo); expect(repo.upstream_username).toBe(null); expect(repo.upstream_password).toBe(null); @@ -180,7 +152,7 @@ describe('Controller: RepositoryDetailsInfoController', function() { ansible_collection_auth_token: 'some_token', }) - $scope.save(repo, true); + $scope.save(repo); expect(repo.upstream_username).not.toBe(null); expect(repo.upstream_password).not.toBe(null);