Pārlūkot izejas kodu

AMBARI-11144. Kerberos: service page incorrect with manual (rlevas)

Robert Levas 10 gadi atpakaļ
vecāks
revīzija
954bc6f6d8

+ 7 - 0
ambari-web/app/controllers/main/admin/kerberos.js

@@ -26,6 +26,13 @@ App.MainAdminKerberosController = App.KerberosWizardStep4Controller.extend({
   dataIsLoaded: false,
   isRecommendedLoaded: true,
   kdc_type: 'none',
+
+  kdcTypesValues: {
+    'mit-kdc'         : Em.I18n.t('admin.kerberos.wizard.step1.option.kdc'),
+    'active-directory': Em.I18n.t('admin.kerberos.wizard.step1.option.ad'),
+    'none'            : Em.I18n.t('admin.kerberos.wizard.step1.option.manual')
+  },
+
   getAddSecurityWizardStatus: function () {
     return App.db.getSecurityWizardStatus();
   },

+ 3 - 9
ambari-web/app/controllers/main/admin/kerberos/step2_controller.js

@@ -24,12 +24,6 @@ App.KerberosWizardStep2Controller = App.WizardStep7Controller.extend({
 
   isKerberosWizard: true,
 
-  kdcTypesValues: {
-    'mit-kdc'         : Em.I18n.t('admin.kerberos.wizard.step1.option.kdc'),
-    'active-directory': Em.I18n.t('admin.kerberos.wizard.step1.option.ad'),
-    'none'            : Em.I18n.t('admin.kerberos.wizard.step1.option.manual')
-  },
-
   selectedServiceNames: ['KERBEROS'],
 
   allSelectedServiceNames: ['KERBEROS'],
@@ -271,9 +265,9 @@ App.KerberosWizardStep2Controller = App.WizardStep7Controller.extend({
   },
 
   tweakKdcTypeValue: function (properties) {
-    for (var prop in this.get('kdcTypesValues')) {
-      if (this.get('kdcTypesValues').hasOwnProperty(prop)) {
-        if (this.get('kdcTypesValues')[prop] === properties['kdc_type']) {
+    for (var prop in App.router.get('mainAdminKerberosController.kdcTypesValues')) {
+      if (App.router.get('mainAdminKerberosController.kdcTypesValues').hasOwnProperty(prop)) {
+        if (App.router.get('mainAdminKerberosController.kdcTypesValues')[prop] === properties['kdc_type']) {
           properties['kdc_type'] = prop;
         }
       }

+ 1 - 1
ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js

@@ -174,7 +174,7 @@ App.KerberosWizardController = App.WizardController.extend({
   },
 
   /**
-   * Overide the visibility of a list of form items with a new value
+   * Override the visibility of a list of form items with a new value
    *
    * @param {Array} itemsArray
    * @param newValue

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

@@ -409,6 +409,18 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
         var configsToSkip = self.get('advancedConfigs').filterProperty('filename', 'capacity-scheduler.xml').filterProperty('subSection');
         configs = App.config.fileConfigsIntoTextarea(configs, 'capacity-scheduler.xml', configsToSkip);
       }
+
+      if (self.get('content.serviceName') === 'KERBEROS') {
+        var kdc_type = configs.findProperty('name', 'kdc_type');
+        if (kdc_type.get('value') === 'none') {
+          configs.findProperty('name', 'kdc_host').set('isRequired', false).set('isVisible', false);
+          configs.findProperty('name', 'admin_server_host').set('isRequired', false).set('isVisible', false);
+          configs.findProperty('name', 'domains').set('isRequired', false).set('isVisible', false);
+        }
+
+        kdc_type.set('value', App.router.get('mainAdminKerberosController.kdcTypesValues')[kdc_type.get('value')]);
+      }
+
       self.set('allConfigs', configs);
       //add configs as names of host components
       self.addHostNamesToConfig();