AMBARI-11135. Kerberos: Selecting "Manual" option and then going back to "Existing KDC" option loses KDC host field and connection tester (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d239381e Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d239381e Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d239381e Branch: refs/heads/trunk Commit: d239381ebce715e56ab840a227dc32c333b7e493 Parents: ea8a804 Author: Alex Antonenko <hiv...@gmail.com> Authored: Fri May 15 12:40:40 2015 +0300 Committer: Alex Antonenko <hiv...@gmail.com> Committed: Fri May 15 12:53:46 2015 +0300 ---------------------------------------------------------------------- .../main/admin/kerberos/step2_controller.js | 28 ++++++++++++-------- .../main/admin/kerberos/wizard_controller.js | 15 ++++++----- ambari-web/app/routes/add_kerberos_routes.js | 2 ++ .../configs/service_configs_by_category_view.js | 4 --- 4 files changed, 27 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/d239381e/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js ---------------------------------------------------------------------- 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 eca8ab2..947ea12 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js @@ -91,15 +91,15 @@ App.KerberosWizardStep2Controller = App.WizardStep7Controller.extend({ //STEP 2: Load on-site configs by service from local DB var storedConfigs = this.get('content.serviceConfigProperties'); //STEP 3: Merge pre-defined configs with loaded on-site configs - var configs = App.config.mergePreDefinedWithStored( + this.set('configs', App.config.mergePreDefinedWithStored( storedConfigs, advancedConfigs, - this.get('selectedServiceNames')); + this.get('selectedServiceNames'))); App.config.setPreDefinedServiceConfigs(this.get('addMiscTabToPage')); //STEP 4: Add advanced configs - App.config.addAdvancedConfigs(configs, advancedConfigs); - this.filterConfigs(configs); - this.applyServicesConfigs(configs, storedConfigs); + App.config.addAdvancedConfigs(this.get('configs'), advancedConfigs); + this.filterConfigs(this.get('configs')); + this.applyServicesConfigs(this.get('configs'), storedConfigs); }, /** @@ -109,15 +109,21 @@ App.KerberosWizardStep2Controller = App.WizardStep7Controller.extend({ filterConfigs: function (configs) { var kdcType = this.get('content.kerberosOption'); var configNames = ['ldap_url', 'container_dn', 'create_attributes_template']; + var kerberosWizardController = this.controllers.get('kerberosWizardController'); + + if (kdcType === Em.I18n.t('admin.kerberos.wizard.step1.option.manual')) { + if (kerberosWizardController.get('skipClientInstall')) { + kerberosWizardController.overrideVisibility(configs, false, kerberosWizardController.get('exceptionsOnSkipClient')); + } + return; + } + configNames.forEach(function (_configName) { var config = configs.findProperty('name', _configName); - config.isVisible = kdcType === Em.I18n.t('admin.kerberos.wizard.step1.option.ad'); + if (config) { + config.isVisible = kdcType === Em.I18n.t('admin.kerberos.wizard.step1.option.ad'); + } }, this); - if (kdcType === Em.I18n.t('admin.kerberos.wizard.step1.option.manual')) { - var host = configs.findProperty('name', 'kdc_host'); - host.isRequiredByAgent = false; - host.isVisible = false; - } }, submit: function () { http://git-wip-us.apache.org/repos/asf/ambari/blob/d239381e/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js index 10046eb..738af3f 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js @@ -179,14 +179,15 @@ App.KerberosWizardController = App.WizardController.extend({ * @param {Array} itemsArray * @param newValue */ - overrideVisibility: function (itemsArray, newValue) { - var self = this; - newValue = newValue || false; + overrideVisibility: function (itemsArray, newValue, exceptions) { + newValue = newValue || false - for (var i=0; i < itemsArray.length; i += 1) { - var isException = self.get('exceptionsOnSkipClient').filterProperty(itemsArray[i].get('category'), itemsArray[i].get('name')); - if (!isException.length) { - itemsArray[i].set('isVisible', newValue); + for (var i = 0, len = itemsArray.length; i < len; i += 1) { + if (!Ember.$.isEmptyObject(itemsArray[i])) { + var isException = exceptions.filterProperty(itemsArray[i].category, itemsArray[i].name); + if (!isException.length) { + itemsArray[i].isVisible = newValue; + } } } }, http://git-wip-us.apache.org/repos/asf/ambari/blob/d239381e/ambari-web/app/routes/add_kerberos_routes.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/add_kerberos_routes.js b/ambari-web/app/routes/add_kerberos_routes.js index 0f9f3e3..ef2d1e7 100644 --- a/ambari-web/app/routes/add_kerberos_routes.js +++ b/ambari-web/app/routes/add_kerberos_routes.js @@ -164,7 +164,9 @@ module.exports = App.WizardRoute.extend({ }, back: function(router) { var controller = router.get('kerberosWizardStep2Controller'); + var kerberosWizardController = router.get('kerberosWizardController'); if (!controller.get('isBackBtnDisabled')) { + kerberosWizardController.overrideVisibility(controller.get('configs'), true, []); router.transitionTo('step1') } }, http://git-wip-us.apache.org/repos/asf/ambari/blob/d239381e/ambari-web/app/views/common/configs/service_configs_by_category_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/service_configs_by_category_view.js b/ambari-web/app/views/common/configs/service_configs_by_category_view.js index 56f34bf..5cfc3e9 100644 --- a/ambari-web/app/views/common/configs/service_configs_by_category_view.js +++ b/ambari-web/app/views/common/configs/service_configs_by_category_view.js @@ -62,10 +62,6 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri */ categoryConfigsAll: function () { var configs = this.get('serviceConfigs').filterProperty('category', this.get('category.name')); - - if (this.get('service.serviceName') === 'KERBEROS' && App.router.get('kerberosWizardController.skipClientInstall')) { - App.router.get('kerberosWizardController').overrideVisibility(configs, false); - } return configs; }.property('serviceConfigs.@each').cacheable(),