| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| var App = require('app'); |
| |
| module.exports = App.WizardRoute.extend({ |
| route: '/enable', |
| enter: function (router) { |
| router.get('mainController').dataLoading().done(function() { |
| return App.clusterStatus.updateFromServer(); |
| }).done(function () { |
| var kerberosWizardController = router.get('kerberosWizardController'); |
| App.router.get('updateController').set('isWorking', false); |
| var popup = App.ModalPopup.show({ |
| classNames: ['full-width-modal'], |
| header: Em.I18n.t('admin.kerberos.wizard.header'), |
| bodyClass: App.KerberosWizardView.extend({ |
| controller: kerberosWizardController |
| }), |
| primary: Em.I18n.t('form.cancel'), |
| showFooter: false, |
| secondary: null, |
| |
| onClose: function () { |
| var self = this; |
| switch (kerberosWizardController.get('currentStep')) { |
| case "2": |
| var step2Controller = router.get('kerberosWizardStep2Controller'); |
| if (step2Controller.get('testConnectionInProgress')) { |
| step2Controller.showConnectionInProgressPopup(function () { |
| kerberosWizardController.warnBeforeExitPopup(function () { |
| self.exitWizard(); |
| }, false); |
| }); |
| } else { |
| kerberosWizardController.warnBeforeExitPopup(function () { |
| self.exitWizard(); |
| }, false); |
| } |
| break; |
| case "6": |
| case "7": |
| kerberosWizardController.warnBeforeExitPopup(function () { |
| self.exitWizard(); |
| }, true); |
| break; |
| case "8": |
| kerberosWizardController.warnBeforeExitPopup(function () { |
| self.exitWizard(true); |
| }, false); |
| break; |
| default: |
| kerberosWizardController.warnBeforeExitPopup(function () { |
| self.exitWizard(); |
| }, false); |
| } |
| }, |
| didInsertElement: function () { |
| this._super(); |
| this.fitHeight(); |
| }, |
| |
| exitWizard: function (skipDiscardChanges) { |
| var controller = App.router.get('kerberosWizardController'); |
| var exitPath = controller.getDBProperty('onClosePath') || 'adminKerberos.index'; |
| controller.clearTasksData(); |
| if (skipDiscardChanges) { |
| controller.resetOnClose(controller, exitPath); |
| } else { |
| controller.discardChanges().then(function() { |
| controller.resetOnClose(controller, exitPath); |
| }); |
| } |
| } |
| }); |
| kerberosWizardController.set('popup', popup); |
| var currentClusterStatus = App.clusterStatus.get('value'); |
| if (currentClusterStatus) { |
| if (App.get('testMode')) { |
| kerberosWizardController.setCurrentStep(App.db.data.KerberosWizard.currentStep); |
| } else { |
| switch (currentClusterStatus.clusterState) { |
| case 'KERBEROS_DEPLOY' : |
| kerberosWizardController.setCurrentStep(currentClusterStatus.localdb.KerberosWizard.currentStep); |
| break; |
| default: |
| var currStep = App.get('router.kerberosWizardController.currentStep'); |
| kerberosWizardController.setCurrentStep(currStep); |
| break; |
| } |
| } |
| |
| } |
| Em.run.next(function(){ |
| App.router.get('wizardWatcherController').setUser(kerberosWizardController.get('name')); |
| router.transitionTo('step' + kerberosWizardController.get('currentStep')); |
| }); |
| }); |
| }, |
| |
| step1: App.StepRoute.extend({ |
| route: '/step1', |
| |
| connectOutlets: function (router) { |
| var controller = router.get('kerberosWizardController'); |
| controller.dataLoading().done(function () { |
| router.get('kerberosWizardController').setCurrentStep('1'); |
| controller.loadAllPriorSteps().done(function() { |
| controller.connectOutlet('kerberosWizardStep1', controller.get('content')); |
| }); |
| }); |
| }, |
| |
| unroutePath: function () { |
| return false; |
| }, |
| |
| nextTransition: function (router) { |
| var kerberosWizardController = router.get('kerberosWizardController'); |
| var kerberosStep1controller = router.get('kerberosWizardStep1Controller'); |
| |
| kerberosWizardController.saveKerberosOption(kerberosStep1controller); |
| kerberosWizardController.clearServiceConfigProperties().always(function() { |
| router.transitionTo('step2'); |
| }); |
| } |
| }), |
| |
| step2: App.StepRoute.extend({ |
| route: '/step2', |
| |
| connectOutlets: function (router) { |
| var controller = router.get('kerberosWizardController'); |
| controller.dataLoading().done(function () { |
| router.get('kerberosWizardController').setCurrentStep('2'); |
| controller.loadAllPriorSteps().done(function() { |
| var kerberosWizardStep2Controller = router.get('kerberosWizardStep2Controller'); |
| kerberosWizardStep2Controller.set('wizardController', controller); |
| controller.connectOutlet('kerberosWizardStep2', controller.get('content')); |
| }); |
| }); |
| }, |
| unroutePath: function () { |
| return false; |
| }, |
| backTransition: function(router) { |
| var controller = router.get('kerberosWizardStep2Controller'); |
| var kerberosWizardController = router.get('kerberosWizardController'); |
| kerberosWizardController.overrideVisibility(controller.get('configs'), true, []); |
| router.transitionTo('step1'); |
| }, |
| |
| nextTransition: function (router) { |
| var kerberosWizardController = router.get('kerberosWizardController'); |
| var kerberosWizardStep2Controller = router.get('kerberosWizardStep2Controller'); |
| |
| if (kerberosWizardController.get('skipClientInstall')) { |
| kerberosWizardStep2Controller.get('stepConfigs')[0].get('configs').findProperty('name', 'manage_identities').set('value', 'false'); |
| kerberosWizardStep2Controller.get('stepConfigs')[0].get('configs').findProperty('name', 'install_packages').set('value', 'false'); |
| kerberosWizardStep2Controller.get('stepConfigs')[0].get('configs').findProperty('name', 'manage_krb5_conf').set('value', 'false'); |
| } |
| |
| kerberosWizardController.saveServiceConfigProperties(kerberosWizardStep2Controller).always(function() { |
| kerberosWizardController.clearTasksData(); |
| if (kerberosWizardController.get('skipClientInstall')) { |
| kerberosWizardController.setDBProperty('kerberosDescriptorConfigs', null); |
| router.transitionTo('step4'); |
| } else { |
| router.transitionTo('step3'); |
| } |
| }); |
| } |
| }), |
| |
| step3: App.StepRoute.extend({ |
| route: '/step3', |
| |
| connectOutlets: function (router) { |
| var controller = router.get('kerberosWizardController'); |
| controller.dataLoading().done(function () { |
| router.get('kerberosWizardController').setCurrentStep('3'); |
| controller.loadAllPriorSteps().done(function() { |
| controller.connectOutlet('kerberosWizardStep3', controller.get('content')); |
| }); |
| }); |
| }, |
| unroutePath: function () { |
| return false; |
| }, |
| back: Em.Router.transitionTo('step2'), |
| nextTransition: function (router) { |
| var kerberosWizardController = router.get('kerberosWizardController'); |
| kerberosWizardController.setDBProperty('kerberosDescriptorConfigs', null); |
| kerberosWizardController.clearCachedStepConfigValues(router.get('kerberosWizardStep4Controller')); |
| router.transitionTo('step4'); |
| } |
| }), |
| |
| step4: App.StepRoute.extend({ |
| route: '/step4', |
| |
| connectOutlets: function (router) { |
| var controller = router.get('kerberosWizardController'); |
| var step4Controller = router.get('kerberosWizardStep4Controller'); |
| controller.setCurrentStep(4); |
| controller.dataLoading().done(function () { |
| router.get('kerberosWizardController').setCurrentStep('4'); |
| controller.loadAllPriorSteps().done(function() { |
| controller.setLowerStepsDisable(4); |
| step4Controller.set('wizardController', controller); |
| controller.connectOutlet('kerberosWizardStep4', controller.get('content')); |
| }); |
| }); |
| }, |
| unroutePath: function () { |
| return false; |
| }, |
| backTransition: function (router) { |
| if (router.get('kerberosWizardController.skipClientInstall')) { |
| router.transitionTo('step2'); |
| } else { |
| router.transitionTo('step3'); |
| } |
| }, |
| nextTransition: function (router) { |
| var kerberosWizardController = router.get('kerberosWizardController'); |
| var step5Controller = router.get('kerberosWizardStep5Controller'); |
| var kerberosDescriptor = kerberosWizardController.get('kerberosDescriptorConfigs'); |
| kerberosWizardController.cacheStepConfigValues(router.get('kerberosWizardStep4Controller')); |
| step5Controller.postKerberosDescriptor(kerberosDescriptor).always(function (data, result) { |
| if (result === 'error' && data.status === 409) { |
| step5Controller.putKerberosDescriptor(kerberosDescriptor); |
| } else { |
| step5Controller.unkerberizeCluster(); |
| } |
| }); |
| } |
| }), |
| |
| step5: App.StepRoute.extend({ |
| route: '/step5', |
| |
| connectOutlets: function (router) { |
| var controller = router.get('kerberosWizardController'); |
| controller.dataLoading().done(function () { |
| router.get('kerberosWizardController').setCurrentStep('5'); |
| controller.setLowerStepsDisable(5); |
| controller.loadAllPriorSteps().done(function() { |
| controller.connectOutlet('kerberosWizardStep5', controller.get('content')); |
| }); |
| }); |
| }, |
| |
| unroutePath: function () { |
| return false; |
| }, |
| |
| exitWizard: function (router) { |
| var popup = router.get('kerberosWizardController.popup'); |
| popup.onClose(); |
| }, |
| |
| downloadCSV: function (router) { |
| var kerberosWizardStep5Controller = router.get('kerberosWizardStep5Controller'); |
| kerberosWizardStep5Controller.getCSVData(); |
| }, |
| |
| backTransition: Em.Router.transitionTo('step4'), |
| |
| nextTransition: function (router) { |
| var kerberosWizardController = router.get('kerberosWizardController'); |
| kerberosWizardController.setDBProperties({ |
| tasksStatuses: null, |
| tasksRequestIds: null |
| }); |
| router.transitionTo('step6'); |
| } |
| }), |
| |
| step6: App.StepRoute.extend({ |
| route: '/step6', |
| |
| connectOutlets: function (router) { |
| var controller = router.get('kerberosWizardController'); |
| controller.dataLoading().done(function () { |
| router.get('kerberosWizardController').setCurrentStep('6'); |
| controller.setLowerStepsDisable(6); |
| controller.loadAllPriorSteps().done(function() { |
| controller.connectOutlet('kerberosWizardStep6', controller.get('content')); |
| }); |
| }); |
| }, |
| unroutePath: function () { |
| return false; |
| }, |
| backTransition: Em.Router.transitionTo('step4'), |
| nextTransition: function (router) { |
| var kerberosWizardController = router.get('kerberosWizardController'); |
| kerberosWizardController.setDBProperties({ |
| tasksStatuses: null, |
| tasksRequestIds: null |
| }); |
| router.transitionTo('step7'); |
| } |
| }), |
| |
| step7: App.StepRoute.extend({ |
| route: '/step7', |
| |
| connectOutlets: function (router) { |
| var controller = router.get('kerberosWizardController'); |
| var step7Controller = router.get('kerberosWizardStep7Controller'); |
| controller.dataLoading().done(function () { |
| router.get('kerberosWizardController').setCurrentStep('7'); |
| controller.setLowerStepsDisable(7); |
| controller.loadAllPriorSteps().done(function() { |
| step7Controller.setRequest(); |
| controller.connectOutlet('kerberosWizardStep7', controller.get('content')); |
| }); |
| }); |
| }, |
| unroutePath: function () { |
| return false; |
| }, |
| backTransition: Em.Router.transitionTo('step4'), |
| nextTransition: function (router) { |
| router.transitionTo('step8'); |
| } |
| }), |
| |
| step8: App.StepRoute.extend({ |
| route: '/step8', |
| |
| connectOutlets: function (router) { |
| var controller = router.get('kerberosWizardController'); |
| controller.dataLoading().done(function () { |
| router.get('kerberosWizardController').setCurrentStep('8'); |
| controller.setLowerStepsDisable(8); |
| controller.loadAllPriorSteps().done(function() { |
| controller.connectOutlet('kerberosWizardStep8', controller.get('content')); |
| }); |
| }); |
| }, |
| unroutePath: function () { |
| return false; |
| }, |
| backTransition: Em.Router.transitionTo('step7'), |
| nextTransition: function (router) { |
| var controller = router.get('kerberosWizardController'); |
| controller.resetOnClose(controller, 'adminKerberos.index'); |
| } |
| }) |
| }); |