From 7b1a0041629387295ae35b78a47a285abcd24208 Mon Sep 17 00:00:00 2001 From: Alex Antonenko Date: Fri, 21 Oct 2016 22:09:38 +0300 Subject: AMBARI-18648. There were no labels on fields on step "Configure Kerberos" after clicking back (alexantonenko) --- ambari-web/app/controllers/main/admin/kerberos/step2_controller.js | 2 +- ambari-web/app/utils/config.js | 6 ++++-- .../test/controllers/main/admin/kerberos/step2_controller_test.js | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js b/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js index dbea0b2c0d..992fd345d3 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js @@ -97,7 +97,7 @@ App.KerberosWizardStep2Controller = App.WizardStep7Controller.extend(App.KDCCred App.config.setPreDefinedServiceConfigs(this.get('addMiscTabToPage')); var stored = this.get('content.serviceConfigProperties'); - this.set('configs', stored || this.getKerberosConfigs()); + this.set('configs', stored ? App.config.mergeStoredValue(this.getKerberosConfigs(), stored) : this.getKerberosConfigs()); this.filterConfigs(this.get('configs')); if (!this.get('wizardController.skipClientInstall')) { diff --git a/ambari-web/app/utils/config.js b/ambari-web/app/utils/config.js index 3dd89268c3..40f5d8791a 100644 --- a/ambari-web/app/utils/config.js +++ b/ambari-web/app/utils/config.js @@ -1154,16 +1154,18 @@ App.config = Em.Object.create({ * Merge values in "stored" to "base" if name matches, it's a value only merge. * @param base {Array} Em.Object * @param stored {Array} Object + * @returns {Object[]|Em.Object[]} base */ mergeStoredValue: function(base, stored) { if (stored) { base.forEach(function (p) { - var sp = stored.filterProperty("filename", p.filename).findProperty("name", p.name); + var sp = stored.filterProperty('filename', p.filename).findProperty('name', p.name); if (sp) { - p.set("value", sp.value); + Em.set(p, 'value', Em.get(sp, 'value')); } }); } + return base; }, diff --git a/ambari-web/test/controllers/main/admin/kerberos/step2_controller_test.js b/ambari-web/test/controllers/main/admin/kerberos/step2_controller_test.js index dd8263ebb6..2e603da3c2 100644 --- a/ambari-web/test/controllers/main/admin/kerberos/step2_controller_test.js +++ b/ambari-web/test/controllers/main/admin/kerberos/step2_controller_test.js @@ -212,6 +212,7 @@ describe('App.KerberosWizardStep2Controller', function() { }]); sinon.stub(controller, 'clearStep'); sinon.stub(App.config, 'setPreDefinedServiceConfigs'); + sinon.stub(App.config, 'mergeStoredValue'); sinon.stub(controller, 'filterConfigs'); sinon.stub(controller, 'getKerberosConfigs'); sinon.stub(controller, 'initializeKDCStoreProperties'); @@ -233,6 +234,7 @@ describe('App.KerberosWizardStep2Controller', function() { this.mockStackService.restore(); controller.clearStep.restore(); App.config.setPreDefinedServiceConfigs.restore(); + App.config.mergeStoredValue.restore(); controller.filterConfigs.restore(); controller.getKerberosConfigs.restore(); controller.initializeKDCStoreProperties.restore(); -- cgit v1.2.3