hino / app / controllers / hoyu-pdi-approval / edit.js
edit.js
Raw
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';

export default Controller.extend({
	hoyuPdiApproval : service(),
	hoyuPdiApprovalData : service(),
	session : service(),
	errors : service(),
	didValidate: false,
	rightActionInProgress: false,

	formConfig : {
		sourceSystemNo : { isEditable : true }, 
		vehicleId : { isEditable : true }, 
		pDINo : { isEditable : true }, 
		tanggalPDIRequest : { isEditable : true }, 
		dimintaKe : { isEditable : true }, 
		dimintaOleh : { isEditable : true }, 
		requestCompany : { isEditable : true }, 
		keterangan : { isEditable : true }, 
		namaCabang : { isEditable : true }, 
		namaDealer : { isEditable : true }, 
		statusDokumen : { isEditable : true }, 
		woStatus : { isEditable : true }, 
		noWo : { isEditable : true }, 
		ditolakOleh : { isEditable : true }, 
		vinNo : { isEditable : true }, 
		merek : { isEditable : true }, 
		noMesin : { isEditable : true }, 
		noRangka : { isEditable : true }, 
		model : { isEditable : true }, 
		varian : { isEditable : true }, 
		warna : { isEditable : true }, 
		eTD : { isEditable : true }, 
		waktuServis : { isEditable : true }, 
		notes : { isEditable : true }, 
	},
	init() {
		this._super(...arguments);
	},

	actions: {
		async saveHoyuPdiApproval() {
			this.set("rightActionInProgress", true);
			this.get('model')
				.validate()
				.then(async ({ validations }) => {
					this.set('didValidate', true); 
					if (validations.get('isValid')) {
						this.set('hoyuPdiApproval.model.isApprovalData', false);
						this.hoyuPdiApprovalData.save(this.hoyuPdiApproval.model).then(response => {
							if (response != undefined) {
								this.transitionToRoute('hoyu-pdi-approval.detail', response.id); 
							}
						})
						.catch((e) => {
							this.set("rightActionInProgress", false);
							this.set('errorMessages', this.errors.getErrorMessages(e));
						});
					} else {
						this.set("rightActionInProgress", false);
					}
			}); 
		},

	},
});