hino / app / routes / dms-sales-order / approval.js
approval.js
Raw
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';

import BaseRoute from 'hino-hearts/routes/base';

export default BaseRoute.extend({
	dmsSalesOrder : service(),
	dmsSalesOrderData : service(),
	dmsSalesOrderDetailData: service(),
	store : service(),
	session : service(),
	approvalInboxData: service(),
	
	init() {
		this._super(...arguments);
	},

	model(params) {
		this.set('session.data.prevRoute', this.get('routeName'));
		this.set('session.data.prevId', params.id);
		this.dmsSalesOrder.setModel(null);
		let data = this.dmsSalesOrderData.getData(params.id, { include: 'dms-sales-order-detail', reload: true });
		data.then(response => {
			response.set("approvalActionType", "approve");
			this.dmsSalesOrder.setModel(response);

			// get inbox versi terakhir
			let inbox = this.approvalInboxData.getData(response.sourceSystemNo, {adapterOptions: { query: { last_inbox: true, doc_type: 'DMS_SALES_ORDER' } } });
			this.dmsSalesOrder.setInbox(inbox);

			this.dmsSalesOrderDetailData.getList({include: 'dms-sales-order', filter:{"dmsSalesOrder" : {"id" : response.id}}}).then(responseDetail => {

				this.dmsSalesOrder.clearDetail("dmsSalesOrderDetail");
				responseDetail.forEach(item => {
					this.dmsSalesOrder.addRow(item, "dmsSalesOrderDetail");
				});
			});
			return response;
		});
		this.set('data', data);
		return {data: data};
	},

	setupController(controller, model) {
		this._super(...arguments);
		controller.set('model', this.get('data'));
		controller.set('errorMessages', null);
	},

	templateName : 'dms-sales-order/input-approval'});