hino / app / controllers / user-alias / create.js
create.js
Raw
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';

export default Controller.extend({
	userAlias : service(),
	userAliasData : service(),
	userManagementData : service(),
	userAliasDetailData : service(),
	session : service(),
	errors : service(),
	didValidate: false,
	rightActionInProgress: false,

	userManagements: Array(),

	init() {
		this._super(...arguments);
		var userManagements = this.userManagementData.getList();
		this.set("userManagements", userManagements);

	},

	actions: {
		onChangeCombo(propertyName, itemCollection) {
			this.set(propertyName, itemCollection);
		},

		async saveUserAlias() {
			this.set("rightActionInProgress", true);
			this.get('model')
				.validate()
				.then(async ({ validations }) => {
					this.set('didValidate', true); 
					if (validations.get('isValid')) {
						this.set('userAlias.model.isApprovalData', false);
						this.userAliasData.save(this.userAlias.model).then(response => {
							if (response != undefined) {
								this.set("rightActionInProgress", false);
								this.transitionToRoute('user-alias.detail', response.id); 
							}
						}) 
						.catch((e) => {
							this.set("rightActionInProgress", false);
							this.set('errorMessages', this.errors.getErrorMessages(e));
						});
					} else {
						this.set("rightActionInProgress", false);
					}
			});
		},

		addRowData(modal_type) {
			if (modal_type == "user-alias-details") {
				let data = this.userAliasDetailData.createRecord();
				this.userAlias.addRow(data, "userAliasDetails");
			}
		},
		deleteRowData(modal_type, data) {
			if (modal_type == "user-alias-details") {
				this.userAlias.deleteRow(data, "userAliasDetails");
			}
		},
	},
});