diff --git a/modules/ticket/back/methods/ticket-tracking/changeState.js b/modules/ticket/back/methods/ticket-tracking/changeState.js
index fae9af218a..e28413b24c 100644
--- a/modules/ticket/back/methods/ticket-tracking/changeState.js
+++ b/modules/ticket/back/methods/ticket-tracking/changeState.js
@@ -14,7 +14,7 @@ module.exports = Self => {
}
],
returns: {
- type: 'string',
+ type: 'Object',
root: true
},
http: {
diff --git a/modules/ticket/back/methods/ticket-tracking/setDelivered.js b/modules/ticket/back/methods/ticket-tracking/setDelivered.js
index 62e5a7717d..94cbad7a22 100644
--- a/modules/ticket/back/methods/ticket-tracking/setDelivered.js
+++ b/modules/ticket/back/methods/ticket-tracking/setDelivered.js
@@ -6,13 +6,13 @@ module.exports = Self => {
{
arg: 'ticketIds',
description: 'the array of ticket ids to set as delivered',
- type: [],
+ type: ['Number'],
required: true,
http: {source: 'body'}
}
],
returns: {
- type: 'string',
+ type: 'Object',
root: true
},
http: {
@@ -25,7 +25,12 @@ module.exports = Self => {
let userId = ctx.req.accessToken.userId;
let models = Self.app.models;
- let state = await models.State.findOne({where: {code: 'delivered'}, fields: ['id']});
+ let state = await models.State.findOne({
+ where: {
+ code: 'delivered'
+ },
+ fields: ['id', 'name', 'alertLevel', 'code']
+ });
let worker = await models.Worker.findOne({where: {userFk: userId}});
@@ -38,7 +43,8 @@ module.exports = Self => {
});
promises.push(promise);
}
+ await Promise.all(promises);
- return Promise.all(promises);
+ return state;
};
};
diff --git a/modules/ticket/back/methods/ticket-tracking/specs/setDelivered.spec.js b/modules/ticket/back/methods/ticket-tracking/specs/setDelivered.spec.js
index 8a59634749..520ccfb037 100644
--- a/modules/ticket/back/methods/ticket-tracking/specs/setDelivered.spec.js
+++ b/modules/ticket/back/methods/ticket-tracking/specs/setDelivered.spec.js
@@ -23,18 +23,14 @@ describe('ticket setDelivered()', () => {
done();
});
- it('should return an array of the tickets states changed to delivered', async() => {
+ it('should return the state which has been applied to the given tickets', async() => {
let ctx = {req: {accessToken: {userId: 49}}};
let delivered = await app.models.State.findOne({where: {code: 'delivered'}, fields: ['id']});
let params = [ticketOne.id, ticketTwo.id];
- let res = await app.models.TicketTracking.setDelivered(ctx, params);
+ let state = await app.models.TicketTracking.setDelivered(ctx, params);
- expect(res[0].ticketFk).toEqual(ticketOne.id);
- expect(res[0].stateFk).toEqual(delivered.id);
-
- expect(res[1].ticketFk).toEqual(ticketTwo.id);
- expect(res[1].stateFk).toEqual(delivered.id);
+ expect(state.id).toEqual(delivered.id);
});
});
diff --git a/modules/ticket/front/index/index.html b/modules/ticket/front/index/index.html
index 47695f38c5..abd7722290 100644
--- a/modules/ticket/front/index/index.html
+++ b/modules/ticket/front/index/index.html
@@ -89,7 +89,7 @@
{{::ticket.province}}
- {{::ticket.state}}
+ {{ticket.state}}
{{::ticket.agencyMode}}
diff --git a/modules/ticket/front/index/index.js b/modules/ticket/front/index/index.js
index 7034df848b..0cf076d612 100644
--- a/modules/ticket/front/index/index.js
+++ b/modules/ticket/front/index/index.js
@@ -11,9 +11,15 @@ export default class Controller extends Section {
for (let ticket of checkedTickets)
ids.push(ticket.id);
- this.$http.post('TicketTrackings/setDelivered', ids).then(() => {
+ this.$http.post('TicketTrackings/setDelivered', ids).then(res => {
+ let state = res.data;
+ for (let ticket of checkedTickets) {
+ ticket.stateFk = state.id;
+ ticket.state = state.name;
+ ticket.alertLevel = state.alertLevel;
+ ticket.alertLevelCode = state.code;
+ }
this.openDeliveryNotes(ids);
- this.$.model.refresh();
});
}