summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Antonenko <hiveww@gmail.com>2016-10-21 22:09:38 +0300
committerAlex Antonenko <hiveww@gmail.com>2016-10-22 00:49:45 +0300
commit7b1a0041629387295ae35b78a47a285abcd24208 (patch)
tree2c6980a29ff516dda2093c27fa7949fc0bc5a28f
parente570a39fb31d09967a525bbdea59daf85d328f87 (diff)
AMBARI-18648. There were no labels on fields on step "Configure Kerberos" after clicking back (alexantonenko)
-rw-r--r--ambari-web/app/controllers/main/admin/kerberos/step2_controller.js2
-rw-r--r--ambari-web/app/utils/config.js6
-rw-r--r--ambari-web/test/controllers/main/admin/kerberos/step2_controller_test.js2
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();