From 698a652a92348d5854a74fef9c79410106a64b60 Mon Sep 17 00:00:00 2001 From: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com> Date: Thu, 16 Feb 2023 16:44:33 -0600 Subject: [PATCH] UI: Remove Wizard (#19220) * Remove UI Wizard temporarily [GH-19000] --- changelog/19220.txt | 3 ++ ui/app/app.js | 13 +------- ui/app/components/auth-config-form/config.js | 4 --- ui/app/components/auth-config-form/options.js | 4 --- ui/app/components/auth-info.js | 6 ---- ui/app/components/database-connection.js | 8 ----- ui/app/components/database-role-edit.js | 7 ----- ui/app/components/generate-credentials.js | 23 +++----------- ui/app/components/keymgmt/distribute.js | 11 ------- ui/app/components/mount-backend-form.js | 14 --------- ui/app/components/role-edit.js | 17 ----------- ui/app/components/secret-create-or-update.js | 4 --- ui/app/components/secret-edit.js | 5 ---- ui/app/components/splash-page.js | 2 +- ui/app/components/tool-actions-form.js | 4 --- ui/app/components/transit-edit.js | 8 ----- ui/app/controllers/vault/cluster/init.js | 5 ---- .../vault/cluster/policies/index.js | 4 --- .../controllers/vault/cluster/policy/edit.js | 4 --- .../vault/cluster/settings/auth/enable.js | 3 -- .../cluster/settings/mount-secret-backend.js | 5 +--- ui/app/controllers/vault/cluster/unseal.js | 9 +----- ui/app/routes/application.js | 24 --------------- .../vault/cluster/access/method/item.js | 1 - .../vault/cluster/access/method/item/list.js | 1 - .../vault/cluster/access/method/section.js | 7 +---- ui/app/routes/vault/cluster/auth.js | 12 -------- ui/app/routes/vault/cluster/init.js | 11 +------ .../routes/vault/cluster/policies/create.js | 8 ----- ui/app/routes/vault/cluster/policies/index.js | 7 ----- ui/app/routes/vault/cluster/policy/edit.js | 11 +------ ui/app/routes/vault/cluster/policy/show.js | 7 ----- .../cluster/secrets/backend/configuration.js | 4 --- .../cluster/secrets/backend/create-root.js | 8 ----- ui/app/routes/vault/cluster/tools/tool.js | 6 ---- ui/app/routes/vault/cluster/unseal.js | 10 +------ ui/app/templates/components/auth-info.hbs | 5 ---- .../components/mount-backend-form.hbs | 1 - ui/app/templates/components/splash-page.hbs | 30 +++++++++---------- ui/app/templates/vault/cluster.hbs | 16 +++++----- ui/app/templates/vault/cluster/unseal.hbs | 1 - ui/lib/kmip/addon/engine.js | 1 - ui/lib/pki/addon/engine.js | 1 - .../addon/components/replication-summary.js | 1 - ui/lib/replication/addon/engine.js | 11 +------ 45 files changed, 37 insertions(+), 310 deletions(-) create mode 100644 changelog/19220.txt diff --git a/changelog/19220.txt b/changelog/19220.txt new file mode 100644 index 000000000..cbfe7e5a9 --- /dev/null +++ b/changelog/19220.txt @@ -0,0 +1,3 @@ +```release-note:improvement +ui: remove wizard +``` diff --git a/ui/app/app.js b/ui/app/app.js index ee85a0150..115474cda 100644 --- a/ui/app/app.js +++ b/ui/app/app.js @@ -15,16 +15,7 @@ export default class App extends Application { }, replication: { dependencies: { - services: [ - 'auth', - 'flash-messages', - 'namespace', - 'replication-mode', - 'router', - 'store', - 'version', - 'wizard', - ], + services: ['auth', 'flash-messages', 'namespace', 'replication-mode', 'router', 'store', 'version'], externalRoutes: { replication: 'vault.cluster.replication.index', }, @@ -41,7 +32,6 @@ export default class App extends Application { 'router', 'store', 'version', - 'wizard', 'secret-mount-path', ], externalRoutes: { @@ -69,7 +59,6 @@ export default class App extends Application { 'secret-mount-path', 'store', 'version', - 'wizard', ], externalRoutes: { secrets: 'vault.cluster.secrets.backends', diff --git a/ui/app/components/auth-config-form/config.js b/ui/app/components/auth-config-form/config.js index 0e21139f2..bb0c2bc77 100644 --- a/ui/app/components/auth-config-form/config.js +++ b/ui/app/components/auth-config-form/config.js @@ -23,7 +23,6 @@ const AuthConfigBase = Component.extend({ flashMessages: service(), router: service(), - wizard: service(), saveModel: task( waitFor(function* () { try { @@ -36,9 +35,6 @@ const AuthConfigBase = Component.extend({ } return; } - if (this.wizard.currentMachine === 'authentication' && this.wizard.featureState === 'config') { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE'); - } this.router.transitionTo('vault.cluster.access.methods').followRedirects(); this.flashMessages.success('The configuration was saved successfully.'); }) diff --git a/ui/app/components/auth-config-form/options.js b/ui/app/components/auth-config-form/options.js index 191c9c136..a50bf96be 100644 --- a/ui/app/components/auth-config-form/options.js +++ b/ui/app/components/auth-config-form/options.js @@ -20,7 +20,6 @@ import { waitFor } from '@ember/test-waiters'; export default AuthConfigComponent.extend({ flashMessages: service(), router: service(), - wizard: service(), saveModel: task( waitFor(function* () { @@ -49,9 +48,6 @@ export default AuthConfigComponent.extend({ } return; } - if (this.wizard.currentMachine === 'authentication' && this.wizard.featureState === 'config') { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE'); - } this.router.transitionTo('vault.cluster.access.methods').followRedirects(); this.flashMessages.success('The configuration was saved successfully.'); }) diff --git a/ui/app/components/auth-info.js b/ui/app/components/auth-info.js index 1ca7f9cef..37430e69b 100644 --- a/ui/app/components/auth-info.js +++ b/ui/app/components/auth-info.js @@ -17,7 +17,6 @@ import { tracked } from '@glimmer/tracking'; */ export default class AuthInfoComponent extends Component { @service auth; - @service wizard; @service router; @tracked fakeRenew = false; @@ -36,11 +35,6 @@ export default class AuthInfoComponent extends Component { this.router.transitionTo(...arguments); } - @action - restartGuide() { - this.wizard.restartGuide(); - } - @action renewToken() { this.fakeRenew = true; diff --git a/ui/app/components/database-connection.js b/ui/app/components/database-connection.js index c71c7ac77..ea32bcc77 100644 --- a/ui/app/components/database-connection.js +++ b/ui/app/components/database-connection.js @@ -19,7 +19,6 @@ export default class DatabaseConnectionEdit extends Component { @service store; @service router; @service flashMessages; - @service wizard; @tracked showPasswordField = false; // used for edit mode @@ -27,13 +26,6 @@ export default class DatabaseConnectionEdit extends Component { @tracked showSaveModal = false; // used for create mode - constructor() { - super(...arguments); - if (this.wizard.featureState === 'details' || this.wizard.featureState === 'connection') { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE', 'database'); - } - } - rotateCredentials(backend, name) { const adapter = this.store.adapterFor('database/connection'); return adapter.rotateRootCredentials(backend, name); diff --git a/ui/app/components/database-role-edit.js b/ui/app/components/database-role-edit.js index 64ea98eac..70e8077fa 100644 --- a/ui/app/components/database-role-edit.js +++ b/ui/app/components/database-role-edit.js @@ -9,17 +9,10 @@ const SHOW_ROUTE = 'vault.cluster.secrets.backend.show'; export default class DatabaseRoleEdit extends Component { @service router; @service flashMessages; - @service wizard; @service store; constructor() { super(...arguments); - if ( - this.wizard.featureState === 'displayConnection' || - this.wizard.featureState === 'displayRoleDatabase' - ) { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE', 'database'); - } if (this.args.initialKey) { this.args.model.database = [this.args.initialKey]; } diff --git a/ui/app/components/generate-credentials.js b/ui/app/components/generate-credentials.js index 74526b209..7d832a1d2 100644 --- a/ui/app/components/generate-credentials.js +++ b/ui/app/components/generate-credentials.js @@ -26,7 +26,6 @@ const MODEL_TYPES = { }; export default Component.extend({ - wizard: service(), store: service(), router: service(), // set on the component @@ -58,13 +57,6 @@ export default Component.extend({ this.createOrReplaceModel(); }, - didReceiveAttrs() { - this._super(); - if (this.wizard.featureState === 'displayRole') { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE', this.backendType); - } - }, - willDestroy() { if (!this.model.isDestroyed && !this.model.isDestroying) { this.model.unloadRecord(); @@ -98,17 +90,10 @@ export default Component.extend({ create() { const model = this.model; this.set('loading', true); - this.model - .save() - .catch(() => { - if (this.wizard.featureState === 'credentials') { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'ERROR', this.backendType); - } - }) - .finally(() => { - model.set('hasGenerated', true); - this.set('loading', false); - }); + this.model.save().finally(() => { + model.set('hasGenerated', true); + this.set('loading', false); + }); }, codemirrorUpdated(attr, val, codemirror) { diff --git a/ui/app/components/keymgmt/distribute.js b/ui/app/components/keymgmt/distribute.js index f64620720..798a39435 100644 --- a/ui/app/components/keymgmt/distribute.js +++ b/ui/app/components/keymgmt/distribute.js @@ -35,7 +35,6 @@ export default class KeymgmtDistribute extends Component { @service store; @service flashMessages; @service router; - @service wizard; @tracked keyModel; @tracked isNewKey = false; @@ -57,14 +56,6 @@ export default class KeymgmtDistribute extends Component { this.getKeyInfo(this.args.key); } this.formData.operations = []; - this.updateWizard('nextStep'); - } - - updateWizard(key) { - // wizard will pause unless we manually continue it -- verify that keymgmt tutorial is in progress - if (this.wizard[key] === 'distribute') { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE', 'keymgmt'); - } } get keyTypes() { @@ -198,8 +189,6 @@ export default class KeymgmtDistribute extends Component { this.store.clearDataset('keymgmt/key'); const providerModel = this.store.peekRecord('keymgmt/provider', provider); providerModel.fetchKeys(providerModel.keys?.meta?.currentPage || 1); - // move wizard forward if tutorial is in progress - this.updateWizard('featureState'); this.args.onClose(); }) .catch((e) => { diff --git a/ui/app/components/mount-backend-form.js b/ui/app/components/mount-backend-form.js index 8d5f2d741..585c91a17 100644 --- a/ui/app/components/mount-backend-form.js +++ b/ui/app/components/mount-backend-form.js @@ -21,7 +21,6 @@ import { methods } from 'vault/helpers/mountable-auth-methods'; export default class MountBackendForm extends Component { @service store; - @service wizard; @service flashMessages; // validation related properties @@ -139,22 +138,9 @@ export default class MountBackendForm extends Component { this.args.mountModel[name] = value; } - @action - onTypeChange(path, value) { - if (path === 'type') { - this.wizard.set('componentState', value); - } - } - @action setMountType(value) { this.args.mountModel.type = value; this.checkPathChange(value); - if (value) { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE', this.args.mountModel.type); - } else if (this.wizard.featureState === 'idle') { - // resets wizard - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'RESET', this.args.mountModel.type); - } } } diff --git a/ui/app/components/role-edit.js b/ui/app/components/role-edit.js index 571dc8be7..c24fb3ee0 100644 --- a/ui/app/components/role-edit.js +++ b/ui/app/components/role-edit.js @@ -12,7 +12,6 @@ const SHOW_ROUTE = 'vault.cluster.secrets.backend.show'; export default Component.extend(FocusOnInsertMixin, { router: service(), - wizard: service(), mode: null, emptyData: '{\n}', @@ -21,19 +20,6 @@ export default Component.extend(FocusOnInsertMixin, { model: null, requestInFlight: or('model.isLoading', 'model.isReloading', 'model.isSaving'), - didReceiveAttrs() { - this._super(...arguments); - if ( - (this.wizard.featureState === 'details' && this.mode === 'create') || - (this.wizard.featureState === 'role' && this.mode === 'show') - ) { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE', this.backendType); - } - if (this.wizard.featureState === 'displayRole') { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'NOOP', this.backendType); - } - }, - willDestroyElement() { this._super(...arguments); if (this.model && this.model.isError) { @@ -69,9 +55,6 @@ export default Component.extend(FocusOnInsertMixin, { const model = this.model; return model[method]().then(() => { if (!model.isError) { - if (this.wizard.featureState === 'role') { - this.wizard.transitionFeatureMachine('role', 'CONTINUE', this.backendType); - } successCallback(model); } }); diff --git a/ui/app/components/secret-create-or-update.js b/ui/app/components/secret-create-or-update.js index 634fb4b05..7e93fd0eb 100644 --- a/ui/app/components/secret-create-or-update.js +++ b/ui/app/components/secret-create-or-update.js @@ -48,7 +48,6 @@ export default class SecretCreateOrUpdate extends Component { @service controlGroup; @service router; @service store; - @service wizard; @action setup(elem, [secretData, model, mode]) { @@ -164,9 +163,6 @@ export default class SecretCreateOrUpdate extends Component { }); } saveComplete(callback, key) { - if (this.wizard.featureState === 'secret') { - this.wizard.transitionFeatureMachine('secret', 'CONTINUE'); - } callback(key); } transitionToRoute() { diff --git a/ui/app/components/secret-edit.js b/ui/app/components/secret-edit.js index 2a9ab3a0e..1818bbade 100644 --- a/ui/app/components/secret-edit.js +++ b/ui/app/components/secret-edit.js @@ -27,7 +27,6 @@ import { maybeQueryRecord } from 'vault/macros/maybe-query-record'; import { alias, or } from '@ember/object/computed'; export default class SecretEdit extends Component { - @service wizard; @service store; @tracked secretData = null; @@ -43,10 +42,6 @@ export default class SecretEdit extends Component { } this.secretData = KVObject.create({ content: [] }).fromJSON(model.secretData); this.codemirrorString = this.secretData.toJSONString(); - if (this.wizard.featureState === 'details' && this.args.mode === 'create') { - const engine = model.backend.includes('kv') ? 'kv' : model.backend; - this.wizard.transitionFeatureMachine('details', 'CONTINUE', engine); - } } @maybeQueryRecord( diff --git a/ui/app/components/splash-page.js b/ui/app/components/splash-page.js index 8a1d4f546..e5560f76d 100644 --- a/ui/app/components/splash-page.js +++ b/ui/app/components/splash-page.js @@ -9,7 +9,7 @@ * content here * { if (!key.isError) { - if (this.wizard.featureState === 'secret') { - this.wizard.transitionFeatureMachine('secret', 'CONTINUE'); - } else { - if (this.wizard.featureState === 'encryption') { - this.wizard.transitionFeatureMachine('encryption', 'CONTINUE', 'transit'); - } - } successCallback(key); } }); diff --git a/ui/app/controllers/vault/cluster/init.js b/ui/app/controllers/vault/cluster/init.js index 9c4439bfa..4707bb071 100644 --- a/ui/app/controllers/vault/cluster/init.js +++ b/ui/app/controllers/vault/cluster/init.js @@ -1,5 +1,4 @@ import { computed } from '@ember/object'; -import { inject as service } from '@ember/service'; import Controller from '@ember/controller'; const DEFAULTS = { @@ -12,8 +11,6 @@ const DEFAULTS = { }; export default Controller.extend(DEFAULTS, { - wizard: service(), - reset() { this.setProperties(DEFAULTS); }, @@ -22,8 +19,6 @@ export default Controller.extend(DEFAULTS, { this.set('loading', false); this.set('keyData', resp); this.model.reload(); - this.wizard.set('initEvent', 'SAVE'); - this.wizard.transitionTutorialMachine(this.wizard.currentState, 'TOSAVE'); }, initError(e) { diff --git a/ui/app/controllers/vault/cluster/policies/index.js b/ui/app/controllers/vault/cluster/policies/index.js index b75e2703a..e8d617f75 100644 --- a/ui/app/controllers/vault/cluster/policies/index.js +++ b/ui/app/controllers/vault/cluster/policies/index.js @@ -4,7 +4,6 @@ import Controller from '@ember/controller'; export default Controller.extend({ flashMessages: service(), - wizard: service(), queryParams: { page: 'page', @@ -58,9 +57,6 @@ export default Controller.extend({ // this will clear the dataset cache on the store this.send('reload'); flash.success(`${policyType.toUpperCase()} policy "${name}" was successfully deleted.`); - if (this.wizard.featureState === 'delete') { - this.wizard.transitionFeatureMachine('delete', 'CONTINUE', policyType); - } }) .catch((e) => { const errors = e.errors ? e.errors.join('') : e.message; diff --git a/ui/app/controllers/vault/cluster/policy/edit.js b/ui/app/controllers/vault/cluster/policy/edit.js index 927e70ea4..dd5deff9b 100644 --- a/ui/app/controllers/vault/cluster/policy/edit.js +++ b/ui/app/controllers/vault/cluster/policy/edit.js @@ -5,7 +5,6 @@ import { inject as service } from '@ember/service'; export default class PolicyEditController extends Controller { @service router; @service flashMessages; - @service wizard; @action async deletePolicy() { @@ -14,9 +13,6 @@ export default class PolicyEditController extends Controller { await this.model.destroyRecord(); this.flashMessages.success(`${policyType.toUpperCase()} policy "${name}" was successfully deleted.`); this.router.transitionTo('vault.cluster.policies', policyType); - if (this.wizard.featureState === 'delete') { - this.wizard.transitionFeatureMachine('delete', 'CONTINUE', policyType); - } } catch (error) { this.model.rollbackAttributes(); const errors = error.errors ? error.errors.join('. ') : error.message; diff --git a/ui/app/controllers/vault/cluster/settings/auth/enable.js b/ui/app/controllers/vault/cluster/settings/auth/enable.js index d0e02c950..da57dddab 100644 --- a/ui/app/controllers/vault/cluster/settings/auth/enable.js +++ b/ui/app/controllers/vault/cluster/settings/auth/enable.js @@ -1,11 +1,8 @@ -import { inject as service } from '@ember/service'; import Controller from '@ember/controller'; export default Controller.extend({ - wizard: service(), actions: { onMountSuccess: function (type, path) { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE', type); const transition = this.transitionToRoute('vault.cluster.settings.auth.configure', path); return transition.followRedirects(); }, diff --git a/ui/app/controllers/vault/cluster/settings/mount-secret-backend.js b/ui/app/controllers/vault/cluster/settings/mount-secret-backend.js index 4b2c306c3..0991ac9f3 100644 --- a/ui/app/controllers/vault/cluster/settings/mount-secret-backend.js +++ b/ui/app/controllers/vault/cluster/settings/mount-secret-backend.js @@ -7,7 +7,6 @@ import { action } from '@ember/object'; const SUPPORTED_BACKENDS = supportedSecretBackends(); export default class MountSecretBackendController extends Controller { - @service wizard; @service router; @action @@ -27,8 +26,6 @@ export default class MountSecretBackendController extends Controller { } else { transition = this.router.transitionTo('vault.cluster.secrets.backends'); } - return transition.followRedirects().then(() => { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE', type); - }); + return transition.followRedirects(); } } diff --git a/ui/app/controllers/vault/cluster/unseal.js b/ui/app/controllers/vault/cluster/unseal.js index 8d1e76adb..ea5d4a8ce 100644 --- a/ui/app/controllers/vault/cluster/unseal.js +++ b/ui/app/controllers/vault/cluster/unseal.js @@ -1,22 +1,15 @@ -import { inject as service } from '@ember/service'; import Controller from '@ember/controller'; export default Controller.extend({ - wizard: service(), showLicenseError: false, actions: { - transitionToCluster(resp) { + transitionToCluster() { return this.model.reload().then(() => { - this.wizard.transitionTutorialMachine(this.wizard.currentState, 'CONTINUE', resp); return this.transitionToRoute('vault.cluster', this.model.name); }); }, - setUnsealState(resp) { - this.wizard.set('componentState', resp); - }, - isUnsealed(data) { return data.sealed === false; }, diff --git a/ui/app/routes/application.js b/ui/app/routes/application.js index 1f8c8ec09..c5baa0a05 100644 --- a/ui/app/routes/application.js +++ b/ui/app/routes/application.js @@ -1,12 +1,10 @@ import { inject as service } from '@ember/service'; -import { next } from '@ember/runloop'; import Route from '@ember/routing/route'; import ControlGroupError from 'vault/lib/control-group-error'; export default Route.extend({ controlGroup: service(), routing: service('router'), - wizard: service(), namespaceService: service('namespace'), featureFlagService: service('featureFlag'), @@ -60,28 +58,6 @@ export default Route.extend({ return true; }, - didTransition() { - const wizard = this.wizard; - - if (wizard.get('currentState') !== 'active.feature') { - return true; - } - next(() => { - const applicationURL = this.routing.currentURL; - const activeRoute = this.routing.currentRouteName; - - if (this.wizard.setURLAfterTransition) { - this.set('wizard.setURLAfterTransition', false); - this.set('wizard.expectedURL', applicationURL); - this.set('wizard.expectedRouteName', activeRoute); - } - const expectedRouteName = this.wizard.expectedRouteName; - if (this.routing.isActive(expectedRouteName) === false) { - wizard.transitionTutorialMachine(wizard.get('currentState'), 'PAUSE'); - } - }); - return true; - }, }, async beforeModel() { diff --git a/ui/app/routes/vault/cluster/access/method/item.js b/ui/app/routes/vault/cluster/access/method/item.js index 9371a9a7e..f0416d8ab 100644 --- a/ui/app/routes/vault/cluster/access/method/item.js +++ b/ui/app/routes/vault/cluster/access/method/item.js @@ -3,7 +3,6 @@ import Route from '@ember/routing/route'; import { singularize } from 'ember-inflector'; export default Route.extend({ - wizard: service(), pathHelp: service('path-help'), beforeModel() { diff --git a/ui/app/routes/vault/cluster/access/method/item/list.js b/ui/app/routes/vault/cluster/access/method/item/list.js index d2e4315e8..8ae1ef613 100644 --- a/ui/app/routes/vault/cluster/access/method/item/list.js +++ b/ui/app/routes/vault/cluster/access/method/item/list.js @@ -5,7 +5,6 @@ import ListRoute from 'vault/mixins/list-route'; export default Route.extend(ListRoute, { store: service(), - wizard: service(), pathHelp: service('path-help'), getMethodAndModelInfo() { diff --git a/ui/app/routes/vault/cluster/access/method/section.js b/ui/app/routes/vault/cluster/access/method/section.js index 904f2f519..5a5a29c25 100644 --- a/ui/app/routes/vault/cluster/access/method/section.js +++ b/ui/app/routes/vault/cluster/access/method/section.js @@ -1,11 +1,8 @@ import AdapterError from '@ember-data/adapter/error'; import { set } from '@ember/object'; -import { inject as service } from '@ember/service'; import Route from '@ember/routing/route'; export default Route.extend({ - wizard: service(), - model(params) { const { section_name: section } = params; if (section !== 'configuration') { @@ -13,9 +10,7 @@ export default Route.extend({ set(error, 'httpStatus', 404); throw error; } - const backend = this.modelFor('vault.cluster.access.method'); - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'DETAILS', backend.type); - return backend; + return this.modelFor('vault.cluster.access.method'); }, setupController(controller) { diff --git a/ui/app/routes/vault/cluster/auth.js b/ui/app/routes/vault/cluster/auth.js index 1c2409797..7bf2e80f9 100644 --- a/ui/app/routes/vault/cluster/auth.js +++ b/ui/app/routes/vault/cluster/auth.js @@ -10,7 +10,6 @@ export default ClusterRouteBase.extend({ }, flashMessages: service(), version: service(), - wizard: service(), beforeModel() { return this._super().then(() => { return this.version.fetchFeatures(); @@ -30,15 +29,4 @@ export default ClusterRouteBase.extend({ this.flashMessages.stickyInfo(config.welcomeMessage); } }, - activate() { - this.wizard.set('initEvent', 'LOGIN'); - this.wizard.transitionTutorialMachine(this.wizard.currentState, 'TOLOGIN'); - }, - actions: { - willTransition(transition) { - if (transition.targetName !== this.routeName) { - this.wizard.transitionTutorialMachine(this.wizard.currentState, 'INITDONE'); - } - }, - }, }); diff --git a/ui/app/routes/vault/cluster/init.js b/ui/app/routes/vault/cluster/init.js index 820de51ed..1495fc503 100644 --- a/ui/app/routes/vault/cluster/init.js +++ b/ui/app/routes/vault/cluster/init.js @@ -1,12 +1,3 @@ -import { inject as service } from '@ember/service'; import ClusterRoute from './cluster-route-base'; -export default ClusterRoute.extend({ - wizard: service(), - - activate() { - // always start from idle instead of using the current state - this.wizard.transitionTutorialMachine('idle', 'INIT'); - this.wizard.set('initEvent', 'START'); - }, -}); +export default ClusterRoute.extend({}); diff --git a/ui/app/routes/vault/cluster/policies/create.js b/ui/app/routes/vault/cluster/policies/create.js index 66f7813dc..c4256b052 100644 --- a/ui/app/routes/vault/cluster/policies/create.js +++ b/ui/app/routes/vault/cluster/policies/create.js @@ -6,17 +6,9 @@ import UnsavedModelRoute from 'vault/mixins/unsaved-model-route'; export default Route.extend(UnloadModelRoute, UnsavedModelRoute, { store: service(), version: service(), - wizard: service(), model() { const policyType = this.policyType(); - if ( - policyType === 'acl' && - this.wizard.currentMachine === 'policies' && - this.wizard.featureState === 'idle' - ) { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE'); - } if (!this.version.hasSentinel && policyType !== 'acl') { return this.transitionTo('vault.cluster.policies', policyType); } diff --git a/ui/app/routes/vault/cluster/policies/index.js b/ui/app/routes/vault/cluster/policies/index.js index ce4cb27e9..7650e8bc8 100644 --- a/ui/app/routes/vault/cluster/policies/index.js +++ b/ui/app/routes/vault/cluster/policies/index.js @@ -6,13 +6,6 @@ import ListRoute from 'core/mixins/list-route'; export default Route.extend(ClusterRoute, ListRoute, { store: service(), version: service(), - wizard: service(), - - activate() { - if (this.wizard.featureState === 'details') { - this.wizard.transitionFeatureMachine('details', 'CONTINUE', this.policyType()); - } - }, shouldReturnEmptyModel(policyType, version) { return policyType !== 'acl' && (version.get('isOSS') || !version.get('hasSentinel')); diff --git a/ui/app/routes/vault/cluster/policy/edit.js b/ui/app/routes/vault/cluster/policy/edit.js index 4b22d1d2f..b5a186dd9 100644 --- a/ui/app/routes/vault/cluster/policy/edit.js +++ b/ui/app/routes/vault/cluster/policy/edit.js @@ -1,13 +1,4 @@ import UnsavedModelRoute from 'vault/mixins/unsaved-model-route'; import ShowRoute from './show'; -import { inject as service } from '@ember/service'; -export default ShowRoute.extend(UnsavedModelRoute, { - wizard: service(), - - activate() { - if (this.wizard.featureState === 'details') { - this.wizard.transitionFeatureMachine('details', 'CONTINUE', this.policyType()); - } - }, -}); +export default ShowRoute.extend(UnsavedModelRoute, {}); diff --git a/ui/app/routes/vault/cluster/policy/show.js b/ui/app/routes/vault/cluster/policy/show.js index 89c27a2b2..e6d1e9ac2 100644 --- a/ui/app/routes/vault/cluster/policy/show.js +++ b/ui/app/routes/vault/cluster/policy/show.js @@ -5,13 +5,6 @@ import { inject as service } from '@ember/service'; export default Route.extend(UnloadModelRoute, { store: service(), - wizard: service(), - - activate() { - if (this.wizard.featureState === 'create') { - this.wizard.transitionFeatureMachine('create', 'CONTINUE', this.policyType()); - } - }, beforeModel() { const params = this.paramsFor(this.routeName); diff --git a/ui/app/routes/vault/cluster/secrets/backend/configuration.js b/ui/app/routes/vault/cluster/secrets/backend/configuration.js index 446be4b44..a2f32af08 100644 --- a/ui/app/routes/vault/cluster/secrets/backend/configuration.js +++ b/ui/app/routes/vault/cluster/secrets/backend/configuration.js @@ -2,13 +2,9 @@ import { inject as service } from '@ember/service'; import Route from '@ember/routing/route'; export default Route.extend({ - wizard: service(), store: service(), async model() { const backend = this.modelFor('vault.cluster.secrets.backend'); - if (this.wizard.featureState === 'list') { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE', backend.get('type')); - } if (backend.isV2KV) { const canRead = await this.store .findRecord('capabilities', `${backend.id}/config`) diff --git a/ui/app/routes/vault/cluster/secrets/backend/create-root.js b/ui/app/routes/vault/cluster/secrets/backend/create-root.js index 5041d60fc..ebaa2585b 100644 --- a/ui/app/routes/vault/cluster/secrets/backend/create-root.js +++ b/ui/app/routes/vault/cluster/secrets/backend/create-root.js @@ -29,7 +29,6 @@ const transformModel = (queryParams) => { export default EditBase.extend({ store: service(), - wizard: service(), createModel(transition) { const { backend } = this.paramsFor('vault.cluster.secrets.backend'); @@ -44,9 +43,6 @@ export default EditBase.extend({ modelType = 'database/role'; } if (modelType !== 'secret' && modelType !== 'secret-v2') { - if (this.wizard.featureState === 'details' && this.wizard.componentState === 'transit') { - this.wizard.transitionFeatureMachine('details', 'CONTINUE', 'transit'); - } return this.store.createRecord(modelType); } // create record in capabilities that checks for access to create metadata @@ -59,10 +55,6 @@ export default EditBase.extend({ }, model(params, transition) { - // wizard will pause unless we manually continue it -- verify that keymgmt tutorial is in progress - if (params.itemType === 'provider' && this.wizard.nextStep === 'provider') { - this.wizard.transitionFeatureMachine(this.wizard.featureState, 'CONTINUE', 'keymgmt'); - } return hash({ secret: this.createModel(transition), capabilities: {}, diff --git a/ui/app/routes/vault/cluster/tools/tool.js b/ui/app/routes/vault/cluster/tools/tool.js index c5030f822..0c5ecfde7 100644 --- a/ui/app/routes/vault/cluster/tools/tool.js +++ b/ui/app/routes/vault/cluster/tools/tool.js @@ -1,10 +1,7 @@ -import { inject as service } from '@ember/service'; import Route from '@ember/routing/route'; import { toolsActions } from 'vault/helpers/tools-actions'; export default Route.extend({ - wizard: service(), - beforeModel(transition) { const supportedActions = toolsActions(); const { selected_action: selectedAction } = this.paramsFor(this.routeName); @@ -26,9 +23,6 @@ export default Route.extend({ actions: { didTransition() { const params = this.paramsFor(this.routeName); - if (this.wizard.currentMachine === 'tools') { - this.wizard.transitionFeatureMachine(this.wizard.featureState, params.selected_action.toUpperCase()); - } /* eslint-disable-next-line ember/no-controller-access-in-routes */ this.controller.setProperties(params); return true; diff --git a/ui/app/routes/vault/cluster/unseal.js b/ui/app/routes/vault/cluster/unseal.js index 917588e09..1495fc503 100644 --- a/ui/app/routes/vault/cluster/unseal.js +++ b/ui/app/routes/vault/cluster/unseal.js @@ -1,11 +1,3 @@ -import { inject as service } from '@ember/service'; import ClusterRoute from './cluster-route-base'; -export default ClusterRoute.extend({ - wizard: service(), - - activate() { - this.wizard.set('initEvent', 'UNSEAL'); - this.wizard.transitionTutorialMachine(this.wizard.currentState, 'TOUNSEAL'); - }, -}); +export default ClusterRoute.extend({}); diff --git a/ui/app/templates/components/auth-info.hbs b/ui/app/templates/components/auth-info.hbs index bed119be9..29cca1d20 100644 --- a/ui/app/templates/components/auth-info.hbs +++ b/ui/app/templates/components/auth-info.hbs @@ -23,11 +23,6 @@ {{/if}} -