ra_high_availability_routes.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. var App = require('app');
  19. module.exports = App.WizardRoute.extend({
  20. route: '/highAvailability/RangerAdmin/enable',
  21. enter: function (router) {
  22. var rAHighAvailabilityWizardController = router.get('rAHighAvailabilityWizardController');
  23. rAHighAvailabilityWizardController.dataLoading().done(function () {
  24. //Set RANGER as current service
  25. App.router.set('mainServiceItemController.content', App.Service.find().findProperty('serviceName', 'RANGER'));
  26. });
  27. Em.run.next(function () {
  28. App.router.get('updateController').set('isWorking', false);
  29. var popup = App.ModalPopup.show({
  30. classNames: ['full-width-modal'],
  31. header: Em.I18n.t('admin.ra_highAvailability.wizard.header'),
  32. bodyClass: App.RAHighAvailabilityWizardView.extend({
  33. controller: rAHighAvailabilityWizardController
  34. }),
  35. primary: Em.I18n.t('form.cancel'),
  36. showFooter: false,
  37. secondary: null,
  38. onClose: function () {
  39. var rAHighAvailabilityWizardController = router.get('rAHighAvailabilityWizardController'),
  40. currStep = rAHighAvailabilityWizardController.get('currentStep'),
  41. self = this;
  42. if (parseInt(currStep) === 4) {
  43. App.showConfirmationPopup(function () {
  44. router.get('updateController').set('isWorking', true);
  45. rAHighAvailabilityWizardController.finish();
  46. App.clusterStatus.setClusterStatus({
  47. clusterName: App.router.getClusterName(),
  48. clusterState: 'DEFAULT',
  49. localdb: App.db.data
  50. }, {
  51. alwaysCallback: function () {
  52. self.hide();
  53. router.transitionTo('main.services.index');
  54. //location.reload();
  55. }
  56. });
  57. }, Em.I18n.t('admin.ra_highAvailability.closePopup'));
  58. } else {
  59. router.get('updateController').set('isWorking', true);
  60. rAHighAvailabilityWizardController.finish();
  61. App.clusterStatus.setClusterStatus({
  62. clusterName: App.router.getClusterName(),
  63. clusterState: 'DEFAULT',
  64. localdb: App.db.data
  65. }, {
  66. alwaysCallback: function () {
  67. self.hide();
  68. router.transitionTo('main.services.index');
  69. //location.reload();
  70. }
  71. });
  72. }
  73. },
  74. didInsertElement: function () {
  75. this.fitHeight();
  76. }
  77. });
  78. rAHighAvailabilityWizardController.set('popup', popup);
  79. var currentClusterStatus = App.clusterStatus.get('value');
  80. if (currentClusterStatus) {
  81. switch (currentClusterStatus.clusterState) {
  82. case 'RA_HIGH_AVAILABILITY_DEPLOY' :
  83. rAHighAvailabilityWizardController.setCurrentStep(currentClusterStatus.localdb.RAHighAvailabilityWizard.currentStep);
  84. break;
  85. default:
  86. var currStep = App.router.get('rAHighAvailabilityWizardController.currentStep');
  87. rAHighAvailabilityWizardController.setCurrentStep(currStep);
  88. break;
  89. }
  90. }
  91. router.transitionTo('step' + rAHighAvailabilityWizardController.get('currentStep'));
  92. });
  93. },
  94. step1: Em.Route.extend({
  95. route: '/step1',
  96. connectOutlets: function (router) {
  97. var controller = router.get('rAHighAvailabilityWizardController');
  98. controller.dataLoading().done(function () {
  99. controller.setCurrentStep('1');
  100. controller.loadAllPriorSteps().done(function(){
  101. controller.connectOutlet('rAHighAvailabilityWizardStep1', controller.get('content'));
  102. });
  103. })
  104. },
  105. next: function (router) {
  106. router.get('rAHighAvailabilityWizardController').save('loadBalancerURL');
  107. router.transitionTo('step2');
  108. }
  109. }),
  110. step2: Em.Route.extend({
  111. route: '/step2',
  112. connectOutlets: function (router) {
  113. var controller = router.get('rAHighAvailabilityWizardController');
  114. controller.dataLoading().done(function () {
  115. controller.setCurrentStep('2');
  116. controller.loadAllPriorSteps().done(function(){
  117. controller.connectOutlet('rAHighAvailabilityWizardStep2', controller.get('content'));
  118. });
  119. })
  120. },
  121. next: function (router) {
  122. router.transitionTo('step3');
  123. },
  124. back: function (router) {
  125. router.transitionTo('step1');
  126. }
  127. }),
  128. step3: Em.Route.extend({
  129. route: '/step3',
  130. connectOutlets: function (router) {
  131. var controller = router.get('rAHighAvailabilityWizardController');
  132. controller.dataLoading().done(function () {
  133. controller.setCurrentStep('3');
  134. controller.connectOutlet('rAHighAvailabilityWizardStep3', controller.get('content'));
  135. })
  136. },
  137. next: function (router) {
  138. router.transitionTo('step4');
  139. },
  140. back: function (router) {
  141. router.transitionTo('step2');
  142. }
  143. }),
  144. step4: Em.Route.extend({
  145. route: '/step4',
  146. connectOutlets: function (router) {
  147. var controller = router.get('rAHighAvailabilityWizardController');
  148. controller.dataLoading().done(function () {
  149. controller.setCurrentStep('4');
  150. controller.connectOutlet('rAHighAvailabilityWizardStep4', controller.get('content'));
  151. })
  152. },
  153. next: function (router) {
  154. router.get('updateController').set('isWorking', true);
  155. var rAHighAvailabilityWizardController = router.get('rAHighAvailabilityWizardController');
  156. rAHighAvailabilityWizardController.finish();
  157. App.clusterStatus.setClusterStatus({
  158. clusterName: App.router.getClusterName(),
  159. clusterState: 'DEFAULT',
  160. localdb: App.db.data
  161. }, {
  162. alwaysCallback: function () {
  163. rAHighAvailabilityWizardController.get('popup').hide();
  164. router.transitionTo('main.services.index');
  165. //location.reload();
  166. }
  167. });
  168. },
  169. back: function (router) {
  170. router.transitionTo('step3');
  171. }
  172. })
  173. });