diff --git a/package.json b/package.json
index d631844e..b7bd8cd2 100644
--- a/package.json
+++ b/package.json
@@ -15,7 +15,6 @@
"@sentry/vue": "7.91.0",
"axios": "0.27.2",
"bootstrap": "5.3.2",
- "core-js": "3.35.0",
"npm-check-updates": "16.3.25",
"qrcode.vue": "3.4.1",
"vue": "3.4.3",
diff --git a/public/index.html b/public/index.html
index 2e5ed1de..bb3b8a37 100644
--- a/public/index.html
+++ b/public/index.html
@@ -18,7 +18,7 @@
-
+
diff --git a/src/App.vue b/src/App.vue
index 6a80f1e7..19bc25f1 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -4,7 +4,7 @@
-
+
diff --git a/src/common/sales.service.ts b/src/common/sales.service.ts
index 21c70bf2..0ee5f60c 100644
--- a/src/common/sales.service.ts
+++ b/src/common/sales.service.ts
@@ -3,7 +3,6 @@ import { AxiosResponse } from "axios";
import Paginated from "@/models/paginated.model";
import Shift from "@/models/shift.model";
import Order from "@/models/order.model";
-import _Order from "@/models/_order.model";
import Member from "@/models/member.model";
import Payable from "@/models/payable.model";
import OrderItem from "@/models/orderitem.model";
@@ -29,15 +28,25 @@ class SalesService {
const data: { order_items: OrderItem[] } = order?.getAPIData() ?? {
order_items: [],
};
- const result: AxiosResponse<_Order> = await this.apiService.post(
+ const result: AxiosResponse = await this.apiService.post(
`/admin/sales/shifts/${shift}/orders/`,
data
);
+ const parsedData = {
+ ...result.data,
+ subtotal: parseFloat(result.data.subtotal),
+ total_amount: parseFloat(result.data.total_amount),
+ discount: parseFloat(result.data.discount),
+ order_items: result.data.order_items.map((i: { total: string }) => ({
+ ...i,
+ total: parseFloat(i.total),
+ })),
+ };
if (order !== null) {
- order.updateFromAPI(result.data);
+ order.updateFromAPI(parsedData);
return order;
}
- return Order.orderFromAPI(result.data);
+ return Order.orderFromAPI(parsedData);
}
async updateOrder(order: Order, shift: number | null = null): Promise {
@@ -45,25 +54,45 @@ class SalesService {
order = await this.newOrder(shift, order);
return order;
}
- const result: AxiosResponse<_Order> = await this.apiService.put(
+ const result: AxiosResponse = await this.apiService.put(
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
`/admin/sales/orders/${order._o.pk}/`,
// eslint-disable-next-line @typescript-eslint/ban-types
order.getAPIData() as {}
);
- order.updateFromAPI(result.data);
+ const parsedData = {
+ ...result.data,
+ subtotal: parseFloat(result.data.subtotal),
+ total_amount: parseFloat(result.data.total_amount),
+ discount: parseFloat(result.data.discount),
+ order_items: result.data.order_items.map((i: { total: string }) => ({
+ ...i,
+ total: parseFloat(i.total),
+ })),
+ };
+ order.updateFromAPI(parsedData);
return order;
}
async getOrderDetails(order: Order): Promise {
- const result: AxiosResponse<_Order> = await this.apiService.get(
+ const result: AxiosResponse = await this.apiService.get(
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
`/admin/sales/orders/${order._o.pk}/`
);
+ const parsedData = {
+ ...result.data,
+ subtotal: parseFloat(result.data.subtotal),
+ total_amount: parseFloat(result.data.total_amount),
+ discount: parseFloat(result.data.discount),
+ order_items: result.data.order_items.map((i: { total: string }) => ({
+ ...i,
+ total: parseFloat(i.total),
+ })),
+ };
if (order.synced) {
- order.updateFromAPI(result.data);
+ order.updateFromAPI(parsedData);
}
return order;
}
diff --git a/src/components/ManualPaymentModal.vue b/src/components/ManualPaymentModal.vue
index 6e1fdde7..0e25bc71 100644
--- a/src/components/ManualPaymentModal.vue
+++ b/src/components/ManualPaymentModal.vue
@@ -64,13 +64,13 @@