open-vault/ui/app/components/auth-config-form/config.js

37 lines
1 KiB
JavaScript
Raw Normal View History

import { inject as service } from '@ember/service';
import Component from '@ember/component';
2018-04-03 14:16:57 +00:00
import { task } from 'ember-concurrency';
import DS from 'ember-data';
const AuthConfigBase = Component.extend({
2018-04-03 14:16:57 +00:00
tagName: '',
model: null,
flashMessages: service(),
2019-02-14 18:52:34 +00:00
router: service(),
wizard: service(),
2018-04-03 14:16:57 +00:00
saveModel: task(function*() {
try {
2019-02-14 18:52:34 +00:00
yield this.model.save();
2018-04-03 14:16:57 +00:00
} catch (err) {
// AdapterErrors are handled by the error-message component
// in the form
if (err instanceof DS.AdapterError === false) {
throw err;
}
return;
}
2019-02-14 18:52:34 +00:00
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.');
2018-04-03 14:16:57 +00:00
}),
});
AuthConfigBase.reopenClass({
positionalParams: ['model'],
});
export default AuthConfigBase;