Skip to content

Commit e9dc9be

Browse files
Merge pull request #206 from crossroads/master
#NovemberRelease1
2 parents 15b9763 + 78e1aa9 commit e9dc9be

23 files changed

+290
-36
lines changed

app/components/designate-form.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export default Ember.Component.extend({
1111
hideDetailsLink: true,
1212
showDispatchOverlay: false,
1313
partial_quantity: 0,
14-
messageBox: Ember.inject.service(),
1514
partiallyDesignatedPopUp: false,
1615
designatedSetOrdersPackages: [],
1716
partialDesignatedConfirmationPopUp: false,
@@ -31,6 +30,7 @@ export default Ember.Component.extend({
3130
orderPackageId: null,
3231
alreadyShown: true,
3332
hasCancelledState: false,
33+
messageBox: Ember.inject.service(),
3434

3535
returnsDesignateFullSet: Ember.computed('item.setItem.items', function() {
3636
if(this.get("env") === "test") {
@@ -236,8 +236,14 @@ export default Ember.Component.extend({
236236
loadingView.destroy();
237237
this.get('router').transitionTo("items.index");
238238
}
239-
})
240-
.finally(() => {
239+
}).catch((error) => {
240+
if(error.status === 422){
241+
var errors = Ember.$.parseJSON(error.responseText).errors;
242+
this.get("messageBox").alert((errors), () => {
243+
this.get('router').transitionTo("items.index");
244+
});
245+
}
246+
}).finally(() => {
241247
loadingView.destroy();
242248
});
243249
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import Ember from "ember";
2+
3+
export default Ember.Controller.extend({
4+
order_transport: Ember.computed.alias("model.orderTransport")
5+
});

app/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
<body>
2727
{{content-for "body"}}
2828

29-
<script src="assets/vendor.js"></script>
29+
<script src="assets/vendor.js" integrity=""></script>
3030
<script>
3131
Raven
3232
.config('https://[email protected]/176461')
3333
.addPlugin(Raven.Plugins.Ember)
3434
.install();
3535
</script>
36-
<script src="assets/stock.js"></script>
36+
<script src="assets/stock.js" integrity=""></script>
3737

3838
{{content-for "body-footer"}}
3939
</body>

app/models/designation.js

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,25 @@ import { belongsTo, hasMany } from 'ember-data/relationships';
55

66
export default Model.extend({
77

8-
status: attr('string'),
9-
createdAt: attr('date'),
10-
recentlyUsedAt: attr('date'),
11-
code: attr('string'),
12-
activity: attr('string'),
13-
description: attr('string'),
14-
detailType: attr('string'),
15-
detailId: attr('number'),
16-
17-
contact: belongsTo('contact', { async: false }),
18-
organisation: belongsTo('organisation', { async: false }),
19-
localOrder: belongsTo('local_order', { async: false }),
20-
items: hasMany('item', { async: true }),
21-
ordersPackages: hasMany('ordersPackages', { async: false }),
22-
8+
status: attr('string'),
9+
createdAt: attr('date'),
10+
recentlyUsedAt: attr('date'),
11+
code: attr('string'),
12+
activity: attr('string'),
13+
description: attr('string'),
14+
detailType: attr('string'),
15+
detailId: attr('number'),
16+
17+
contact: belongsTo('contact', { async: false }),
18+
organisation: belongsTo('organisation', { async: false }),
19+
localOrder: belongsTo('local_order', { async: false }),
20+
items: hasMany('item', { async: true }),
21+
ordersPackages: hasMany('ordersPackages', { async: false }),
22+
orderTransport: belongsTo('orderTransport', { async: false }),
23+
// purposes: hasMany('purpose', { async: false }),
2324

2425
isLocalOrder: Ember.computed.equal('detailType', 'LocalOrder'),
26+
isGoodCityOrder: Ember.computed.equal('detailType', 'GoodCity'),
2527

2628
dispatchedItems: Ember.computed('[email protected]', function() {
2729
return this.get("items").rejectBy('sentOn', null);

app/models/order_transport.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import Model from 'ember-data/model';
2+
import attr from 'ember-data/attr';
3+
import Ember from 'ember';
4+
import { belongsTo } from 'ember-data/relationships';
5+
6+
export default Model.extend({
7+
gogovanOrderId: attr('number'),
8+
gogovanTransportId: attr('number'),
9+
timeslot: attr('string'),
10+
transportType: attr('string'),
11+
vehicleType: attr('string'),
12+
scheduledAt: attr('string'),
13+
contact: belongsTo('contact', { async: false }),
14+
designation: belongsTo('designation', { async: false }),
15+
needEnglish: attr("boolean"),
16+
needCart: attr("boolean"),
17+
needCarry: attr("boolean"),
18+
19+
scheduledDate: Ember.computed('scheduledAt', function() {
20+
return moment(this.get('scheduledAt')).format("D MMMM YYYY");
21+
}),
22+
23+
type: Ember.computed('transportType', function(){
24+
var type = this.get('transportType');
25+
if(type === "ggv"){
26+
return type.toUpperCase();
27+
} else if(type === "self"){
28+
return type.charAt(0).toUpperCase() + type.slice(1);
29+
} else {
30+
return "";
31+
}
32+
})
33+
34+
});

app/models/organisation.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import Model from 'ember-data/model';
22
import attr from 'ember-data/attr';
33

44
export default Model.extend({
5-
6-
name: attr('string')
7-
5+
name: attr('string'),
6+
nameEn: attr('string')
87
});

app/router.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ Router.map(function() {
3434
this.route("detail", { path: "/:order_id" });
3535
this.route("items", { path: "/:order_id/items" });
3636
this.route("contact", { path: "/:order_id/contact" });
37+
this.route("order_transport", { path: "/:order_id/transport" });
38+
this.route("purposes", { path: "/:order_id/purposes" });
3739
this.route("client", { path: "/:order_id/client" });
3840
this.route("info", { path: "/:order_id/info" });
3941
});

app/routes/application.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,21 @@ export default Ember.Route.extend({
99
isLoginPopUpAlreadyShown: false,
1010
logger: Ember.inject.service(),
1111
messageBox: Ember.inject.service(),
12+
isMustLoginAlreadyShown: false,
1213

1314

1415
init() {
1516
var _this = this;
1617
var storageHandler = function (object) {
17-
if(!window.localStorage.getItem('authToken')) {
18+
var currentPath = window.location.href;
19+
var authToken = window.localStorage.getItem('authToken');
20+
if(!authToken && !object.get('isMustLoginAlreadyShown') && !(currentPath.includes("login") || currentPath.includes("authenticate"))) {
21+
object.set('isMustLoginAlreadyShown', true);
1822
object.get('messageBox').alert(object.get("i18n").t('must_login'), () => {
19-
object.transitionTo('login');
23+
object.transitionTo("login");
2024
});
25+
} else if(authToken && (currentPath.includes("login") || currentPath.includes("authenticate"))) {
26+
object.transitionTo("/");
2127
}
2228
};
2329
window.addEventListener("storage", function() {
@@ -98,7 +104,7 @@ export default Ember.Route.extend({
98104
} else if (status === 401) {
99105
this.showMustLogin();
100106
} else {
101-
if(reason.message.includes('stockit_item') && reason.message.includes('404') && !this.get('isItemUnavailable')) {
107+
if(reason.message && reason.message.includes('stockit_item') && reason.message.includes('404') && !this.get('isItemUnavailable')) {
102108
this.showItemIsNotAvailable();
103109
} else {
104110
this.showSomethingWentWrong(reason);

app/routes/items/search_order.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ export default AuthorizeRoute.extend({
6262

6363
afterModel(model) {
6464
if(model.item.get('quantity') === 0) {
65+
this.get('transition').abort();
6566
this.get("messageBox").alert("This item is already designated", () => {
6667
this.transitionTo("items.index");
6768
});
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import getOrderRoute from './get_order';
2+
3+
export default getOrderRoute.extend({
4+
});

0 commit comments

Comments
 (0)