Browse Source

AMBARI-3996. Installer wizard Config Group: Refreshing the page after saving a config group doesn't persist groups on step-7 (alexantonenko)

Alex Antonenko 11 năm trước cách đây
mục cha
commit
868a789046

+ 3 - 0
ambari-web/app/controllers/main/service/info/configs.js

@@ -1902,6 +1902,9 @@ App.MainServiceInfoConfigsController = Em.Controller.extend({
         if (!!controller) {
           controller.set('selectedService.configGroups', App.router.get('installerManageConfigGroupsController.configGroups'));
           controller.selectedServiceObserver();
+          if (controller.get('name') == "wizardStep7Controller") {
+            App.config.persistWizardStep7ConfigGroups()
+          }
           this.hide();
           return;
         }

+ 15 - 0
ambari-web/app/utils/config.js

@@ -1003,6 +1003,18 @@ App.config = Em.Object.create({
     });
   },
 
+  //Persist config groups created in step7 wizard controller
+  persistWizardStep7ConfigGroups: function () {
+    var installerController = App.router.get('installerController');
+    var step7Controller = App.router.get('wizardStep7Controller');
+    if (App.supports.hostOverridesInstaller) {
+      installerController.saveServiceConfigGroups(step7Controller);
+      App.clusterStatus.setClusterStatus({
+        localdb: App.db.data
+      });
+    }
+  },
+
   launchConfigGroupSelectionCreationDialog : function(serviceId, configGroups, usedConfigGroupNames, configProperty, callback, isInstaller) {
     var self = this;
     var availableConfigGroups = configGroups.slice();
@@ -1051,6 +1063,9 @@ App.config = Em.Object.create({
           if (newConfigGroup) {
             newConfigGroup.set('parentConfigGroup', configGroups.findProperty('isDefault'));
             configGroups.pushObject(newConfigGroup);
+            if (isInstaller) {
+              self.persistWizardStep7ConfigGroups();
+            }
             this.hide();
             self.saveGroupConfirmationPopup(newConfigGroupName,isInstaller);
             callback(newConfigGroup);