Procházet zdrojové kódy

AMBARI-11234 Installer not overriding /stacks values with /recommendations values. (ababiichuk)

aBabiichuk před 10 roky
rodič
revize
3441765407

+ 5 - 4
ambari-web/app/mixins/common/configs/enhanced_configs.js

@@ -207,16 +207,17 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
   /**
    * disable saving recommended value for current config
    * @param config
+   * @param {boolean} saveRecommended
    * @method removeCurrentFromDependentList
    */
-  removeCurrentFromDependentList: function (config) {
+  removeCurrentFromDependentList: function (config, saveRecommended) {
     var current = this.get('_dependentConfigValues').find(function(dependentConfig) {
       return Em.get(dependentConfig, 'propertyName') == config.get('name') && Em.get(dependentConfig, 'fileName') == App.config.getConfigTagFromFileName(config.get('filename'))
     });
     if (current) {
       Em.setProperties(current, {
-          'saveRecommended': false,
-          'saveRecommendedDefault': false
+          'saveRecommended': !!saveRecommended,
+          'saveRecommendedDefault': !!saveRecommended
         });
     }
   },
@@ -419,7 +420,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
 
         for (var propertyName in configObject[key].properties) {
 
-          var dependentProperty = this.get('_dependentConfigValues').findProperty('propertyName', propertyName);
+          var dependentProperty = this.get('_dependentConfigValues').filterProperty('propertyName', propertyName).findProperty('fileName', key);
           var cp = configProperties.findProperty('name', propertyName);
           var override = (notDefaultGroup && group && cp && cp.get('overrides')) ? cp.get('overrides').findProperty('group.name', group.get('name')) : null;
 

+ 3 - 2
ambari-web/app/views/common/controls_view.js

@@ -90,6 +90,7 @@ App.SupportsDependentConfigs = Ember.Mixin.create({
     if (!config.get('isValid')) return $.Deferred().resolve().promise();
     if (App.get('isClusterSupportsEnhancedConfigs') && ['mainServiceInfoConfigsController','wizardStep7Controller'].contains(this.get('controller.name'))) {
       var name = config.get('name');
+      var saveRecommended = (this.get('config.value') === this.get('config.recommendedValue'));
       var controller = this.get('controller');
       var type = App.config.getConfigTagFromFileName(config.get('filename'));
       var p = App.StackConfigProperty.find(name + '_' + type);
@@ -98,10 +99,10 @@ App.SupportsDependentConfigs = Ember.Mixin.create({
           "type": type,
           "name": name
         }], false, function() {
-          controller.removeCurrentFromDependentList(config);
+          controller.removeCurrentFromDependentList(config, saveRecommended);
         });
       } else {
-        controller.removeCurrentFromDependentList(config);
+        controller.removeCurrentFromDependentList(config, saveRecommended);
       }
     }