69 lines
2.5 KiB
JavaScript

import Ember from 'ember';
import BaseEditRoute from '../base-edit';
export default BaseEditRoute.extend({
issueService: Ember.inject.service('customer-issue/service'),
afterModel(model) {
let me = this;
me.set('breadcrumbs',
[{route: 'customer.list', params: 1, text: 'Customers'},
{text: 'Show Customer [' + model.id + ']'}]);
if (model.applications) {
model.applicationsArray = model.applications.split(',');
model.applicationList.forEach(a => {
a.selected = model.applicationsArray.includes(a.id);
});
}
else {
model.applicationsArray = [];
}
Ember.addObserver(model, 'applicationsArray', function() {
Ember.Logger.info('Model application changed: ', model);
model.applications = model.applicationsArray.join(',');
// me.get('service').update(model, true);
});
Ember.addObserver(model, 'status', function() {
Ember.Logger.info('Model status changed: ', model);
if (model.status) {
model.applications = model.applicationsArray.join(',');
// me.get('service').update(model, true);
}
});
Ember.set(model, 'userAccounts', Ember.get(model, 'users').mapBy('account').join(', '));
},
actions: {
removeIssue(issue) {
let me = this;
me.get('dialog').confirm('Are you sure to remove customer comment?', () => {
Ember.set(issue, 'enabled', false);
me.get('issueService').update(issue).then(() => {
me.get('message').alert('Comment removed');
me.get('controller.model.issues').removeObject(issue);
});
});
},
backToList() {
const me = this;
const url = me.get('state.CUSTOMER_LIST_ROUTE');
if (url) {
me.transitionTo(url);
}
else {
me.transitionTo('customer.list', 1);
}
},
update() {
const me = this;
me.get('dialog').confirm('Are you sure to update?', () => {
me.get('service').update(me.get('controller.model'), false).then(() => {
me.get('message').alert('Update successfully');
me.send('backToList');
});
});
}
}
});