Parcourir la source

AMBARI-19637 - No baseURL field on Register Version page if repoinfo.xml contains only one baseurl (rzang)

Richard Zang il y a 8 ans
Parent
commit
a03389c750

+ 0 - 23
ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsCreateCtrl.js

@@ -284,21 +284,6 @@ angular.module('ambariAdminConsole')
     $scope.editVersionDisabled = true;
     delete $scope.updateObj.href;
     $scope.updateObj.operating_systems = [];
-    var updateRepoUrl = false;
-    angular.forEach($scope.osList, function (os) {
-      var savedUrls = $scope.defaulfOSRepos[os.OperatingSystems.os_type];
-      os.OperatingSystems.ambari_managed_repositories = !$scope.useRedhatSatellite;
-      if (os.selected) {
-        var currentRepos = os.repositories;
-        if (!savedUrls || currentRepos[0].Repositories.base_url != savedUrls.defaultBaseUrl
-          || currentRepos[1].Repositories.base_url != savedUrls.defaultUtilsUrl) {
-          updateRepoUrl = true;
-        }
-        $scope.updateObj.operating_systems.push(os);
-      } else if (savedUrls) {
-        updateRepoUrl = true;
-      }
-    });
 
     var skip = $scope.skipValidation || $scope.useRedhatSatellite;
     return Stack.validateBaseUrls(skip, $scope.osList, $scope.upgradeStack).then(function (invalidUrls) {
@@ -477,14 +462,6 @@ angular.module('ambariAdminConsole')
           var skipServices = ['MAPREDUCE2', 'GANGLIA', 'KERBEROS'];
           return skipServices.indexOf(service.name) === -1;
         }) || [];
-    //save default values of repos to check if they were changed
-    $scope.defaulfOSRepos = {};
-    response.updateObj.operating_systems.forEach(function(os) {
-      $scope.defaulfOSRepos[os.OperatingSystems.os_type] = {
-        defaultBaseUrl: os.repositories[0].Repositories.base_url,
-        defaultUtilsUrl: os.repositories[1].Repositories.base_url
-      };
-    });
     $scope.repoVersionFullName = response.repoVersionFullName;
     $scope.osList = response.osList;
 

+ 11 - 6
ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/stackVersions/StackVersionsEditCtrl.js

@@ -57,10 +57,10 @@ angular.module('ambariAdminConsole')
       //save default values of repos to check if they were changed
       $scope.defaulfOSRepos = {};
       response.updateObj.operating_systems.forEach(function(os) {
-        $scope.defaulfOSRepos[os.OperatingSystems.os_type] = {
-          defaultBaseUrl: os.repositories[0].Repositories.base_url,
-          defaultUtilsUrl: os.repositories[1].Repositories.base_url
-        };
+        $scope.defaulfOSRepos[os.OperatingSystems.os_type] = {};
+        os.repositories.forEach(function(repo) {
+          $scope.defaulfOSRepos[os.OperatingSystems.os_type][repo.Repositories.repo_id] = repo.Repositories.base_url;
+        });
       });
       $scope.repoVersionFullName = response.repoVersionFullName;
       angular.forEach(response.osList, function (os) {
@@ -145,8 +145,13 @@ angular.module('ambariAdminConsole')
       os.OperatingSystems.ambari_managed_repositories = !$scope.useRedhatSatellite;
       if (os.selected) {
         var currentRepos = os.repositories;
-        if (!savedUrls || currentRepos[0].Repositories.base_url != savedUrls.defaultBaseUrl
-            || currentRepos[1].Repositories.base_url != savedUrls.defaultUtilsUrl) {
+        var urlChanged = false;
+        angular.forEach(currentRepos, function (repo) {
+          if (repo.Repositories.base_url != savedUrls[repo.Repositories.repo_id]) {
+            urlChanged = true;
+          }
+        });
+        if (!savedUrls || urlChanged) {
           updateRepoUrl = true;
         }
         $scope.updateObj.operating_systems.push(os);

+ 3 - 3
ambari-admin/src/main/resources/ui/admin-web/app/styles/main.css

@@ -1700,7 +1700,7 @@ thead.view-permission-header > tr > th {
 
 .register-version-form .repos-panel .remove-icon {
   color: red;
-  margin: 20px 0;
+  margin: 13px 0;
   padding: 0;
   text-align: center;
   cursor: pointer;
@@ -1717,12 +1717,12 @@ thead.view-permission-header > tr > th {
 }
 
 .register-version-form .repos-panel .repo-name-url {
-  padding: 8px 0px;
+  padding: 15px 0px;
   margin-bottom: 0px;
 }
 
 .register-version-form .repos-panel .os-type-label {
-  margin-top: 27px;
+  margin-top: 25px;
   padding-left: 10px;
 }