diff --git a/addons/point_of_sale/data/point_of_sale_demo.xml b/addons/point_of_sale/data/point_of_sale_demo.xml
index 4fa9427b13b..ea87eda0b76 100644
--- a/addons/point_of_sale/data/point_of_sale_demo.xml
+++ b/addons/point_of_sale/data/point_of_sale_demo.xml
@@ -675,35 +675,5 @@
-
-
-
-
-
-
-
-
-
-
-
- Shop/00001
- draft
- 0.90
- 0.0
- 0.0
- 0.0
- Order 00001-001-0000
-
-
-
-
- Orderline 1
-
- 0.90
- 0.90
- 0.90
-
- LED Lamp
-
-
\ No newline at end of file
+
diff --git a/addons/point_of_sale/data/point_of_sale_onboarding_open_session.xml b/addons/point_of_sale/data/point_of_sale_onboarding_open_session.xml
deleted file mode 100644
index d5a1bfe0cd0..00000000000
--- a/addons/point_of_sale/data/point_of_sale_onboarding_open_session.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- Shop/00001
- draft
- 0.90
- 0.0
- 0.0
- 0.0
- Order 00001-001-0000
-
-
-
- Orderline 1
-
- 0.90
- 0.90
- 0.90
-
- LED Lamp
-
-
diff --git a/addons/point_of_sale/models/pos_session.py b/addons/point_of_sale/models/pos_session.py
index f39e87eca27..1b47a7ddc04 100644
--- a/addons/point_of_sale/models/pos_session.py
+++ b/addons/point_of_sale/models/pos_session.py
@@ -2203,7 +2203,6 @@ class PosSession(models.Model):
'config_id': shop_config.id,
'user_id': self.env.ref('base.user_admin').id,
})
- convert.convert_file(self.env, 'point_of_sale', 'data/point_of_sale_onboarding_open_session.xml', None, mode='init', kind='data')
def _after_load_onboarding_data(self):
config = self.env.ref('point_of_sale.pos_config_main', raise_if_not_found=False)
diff --git a/addons/point_of_sale/static/src/app/store/pos_store.js b/addons/point_of_sale/static/src/app/store/pos_store.js
index fbd5294eb13..01d194f1423 100644
--- a/addons/point_of_sale/static/src/app/store/pos_store.js
+++ b/addons/point_of_sale/static/src/app/store/pos_store.js
@@ -226,9 +226,10 @@ export class PosStore extends Reactive {
);
const { start_category, iface_start_categ_id } = this.config;
this.selectedCategoryId = (start_category && iface_start_categ_id?.[0]) || 0;
- this.load_server_orders();
// Push orders in background, do not await
this.push_orders();
+ // This method is to load the demo datas.
+ this.load_server_orders();
this.markReady();
}
@@ -469,27 +470,18 @@ export class PosStore extends Reactive {
}
loadOpenOrders(openOrders) {
+ // This method is for the demo data
+ let isOrderSet = false;
for (const json of openOrders) {
if (this.orders.find((el) => el.server_id === json.id)) {
continue;
}
this._createOrder(json);
- const newOrder = this.orders[this.orders.length - 1];
- if (newOrder.orderlines[0].uuid) {
- for (const line of newOrder.orderlines) {
- newOrder.lastOrderPrepaChange[line.uuid + " - "] = {
- line_uuid: line.uuid,
- name: line.full_product_name,
- note: "",
- product_id: line.product.id,
- quantity: line.quantity,
- };
- }
+ if (!isOrderSet) {
+ this.selectedOrder = this.orders[this.orders.length - 1];
+ isOrderSet = true;
}
}
- if (openOrders.length > 0) {
- this.selectedOrder = this.orders[1];
- }
}
/**
diff --git a/addons/pos_restaurant/data/pos_restaurant_demo.xml b/addons/pos_restaurant/data/pos_restaurant_demo.xml
index a3a48600758..767a8164201 100644
--- a/addons/pos_restaurant/data/pos_restaurant_demo.xml
+++ b/addons/pos_restaurant/data/pos_restaurant_demo.xml
@@ -871,5 +871,8 @@
Pizza 4 Formaggi
+
+
-
\ No newline at end of file
+
diff --git a/addons/pos_restaurant/data/pos_restaurant_onboarding_open_session.xml b/addons/pos_restaurant/data/pos_restaurant_onboarding_open_session.xml
index 83d4d99fcda..023a6c62444 100644
--- a/addons/pos_restaurant/data/pos_restaurant_onboarding_open_session.xml
+++ b/addons/pos_restaurant/data/pos_restaurant_onboarding_open_session.xml
@@ -148,4 +148,7 @@
Pizza 4 Formaggi
+
+
diff --git a/addons/pos_restaurant/models/pos_session.py b/addons/pos_restaurant/models/pos_session.py
index 408b90be576..98967a6e073 100644
--- a/addons/pos_restaurant/models/pos_session.py
+++ b/addons/pos_restaurant/models/pos_session.py
@@ -5,6 +5,7 @@ from odoo import models, Command, api
from odoo.tools import convert
from itertools import groupby
from odoo.osv.expression import AND
+import json
class PosSession(models.Model):
_inherit = 'pos.session'
@@ -81,3 +82,18 @@ class PosSession(models.Model):
'limit_categories': True,
'iface_available_categ_ids': [Command.link(self.env.ref('pos_restaurant.food').id), Command.link(self.env.ref('pos_restaurant.drinks').id)]
})
+
+ @api.model
+ def _set_last_order_preparation_change(self, order_ids):
+ for order_id in order_ids:
+ order = self.env['pos.order'].browse(order_id)
+ last_order_preparation_change = {}
+ for orderline in order['lines']:
+ last_order_preparation_change[orderline.uuid + " - "] = {
+ "line_uuid": orderline.uuid,
+ "name": orderline.full_product_name,
+ "note": "",
+ "product_id": orderline.product_id.id,
+ "quantity": orderline.qty,
+ }
+ order.write({'last_order_preparation_change': json.dumps(last_order_preparation_change)})