summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorNicolas Martinelli <nim@odoo.com>2020-02-03 09:14:05 +0000
committerNicolas Martinelli <nim@odoo.com>2020-02-10 09:00:15 +0000
commitfaac525e620d262e6efb0f030678963852d8e0ce (patch)
treeb13c5a6bf472a0c595361441aea622979a0bf265 /addons
parent1de22e9c4e6e46e19a782c104077bb713c182b31 (diff)
[FIX] website_sale: get correct fiscal position
Make sure `force_company` context key is set on the SO in all cases. Indeed, when the context key is not properly set, an incorrect fiscal position can be retrieved in: https://github.com/odoo/odoo/blob/cc557f1e4de88466d0d159c5edf1a606a0c0bc6f/addons/account/models/partner.py#L99-L100 This is for example the case when we go through the route `/shop/confirm_order`. opw-2186682 closes odoo/odoo#44451 closes odoo/odoo#44933 Original-signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com> X-original-commit: 5691e733e2d860baa012140fc35d3f39ddf747c8 Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/website_sale/models/website.py2
-rw-r--r--addons/website_sale/static/tests/tours/website_sale_shop_cart_recovery.js12
-rw-r--r--addons/website_sale/static/tests/tours/website_sale_shop_mail.js10
-rw-r--r--addons/website_sale/views/templates.xml2
4 files changed, 7 insertions, 19 deletions
diff --git a/addons/website_sale/models/website.py b/addons/website_sale/models/website.py
index 45768166bbb..0165a76d1d7 100644
--- a/addons/website_sale/models/website.py
+++ b/addons/website_sale/models/website.py
@@ -252,7 +252,7 @@ class Website(models.Model):
sale_order_id = last_order.pricelist_id in available_pricelists and last_order.id
# Test validity of the sale_order_id
- sale_order = self.env['sale.order'].sudo().browse(sale_order_id).exists() if sale_order_id else None
+ sale_order = self.env['sale.order'].with_company(request.website.company_id.id).sudo().browse(sale_order_id).exists() if sale_order_id else None
if not (sale_order or force_create or code):
if request.session.get('sale_order_id'):
diff --git a/addons/website_sale/static/tests/tours/website_sale_shop_cart_recovery.js b/addons/website_sale/static/tests/tours/website_sale_shop_cart_recovery.js
index f04e56a0495..079029ee4e3 100644
--- a/addons/website_sale/static/tests/tours/website_sale_shop_cart_recovery.js
+++ b/addons/website_sale/static/tests/tours/website_sale_shop_cart_recovery.js
@@ -26,15 +26,9 @@ tour.register('shop_cart_recovery', {
content: "check product is in cart, get cart id, logout, go to login",
trigger: 'td.td-product_name:contains("Acoustic Bloc Screens")',
run: function () {
- rpc.query({
- 'model': 'website',
- 'method': 'sale_get_order',
- 'args': [[$('html').data('website-id')]],
- }).then(function (data) {
- var orderId = parseInt(data.match(/sale\.order\((\d+),\)/)[1]);
- localStorage.setItem(orderIdKey, orderId);
- window.location.href = "/web/session/logout?redirect=/web/login";
- });
+ var orderId = $('.my_cart_quantity').data('order-id');
+ localStorage.setItem(orderIdKey, orderId);
+ window.location.href = "/web/session/logout?redirect=/web/login";
},
},
{
diff --git a/addons/website_sale/static/tests/tours/website_sale_shop_mail.js b/addons/website_sale/static/tests/tours/website_sale_shop_mail.js
index eb82dcd9840..dc50ac9511b 100644
--- a/addons/website_sale/static/tests/tours/website_sale_shop_mail.js
+++ b/addons/website_sale/static/tests/tours/website_sale_shop_mail.js
@@ -51,14 +51,8 @@ tour.register('shop_mail', {
content: "check product is in cart, get cart id, go to backend",
trigger: 'td.td-product_name:contains("Acoustic Bloc Screens")',
run: function () {
- rpc.query({
- 'model': 'website',
- 'method': 'sale_get_order',
- 'args': [[$('html').data('website-id')]],
- }).then(function (data) {
- var orderId = parseInt(data.match(/sale\.order\((\d+),\)/)[1]);
- window.location.href = "/web#action=sale.action_orders&view_type=form&id=" + orderId;
- });
+ var orderId = $('.my_cart_quantity').data('order-id');
+ window.location.href = "/web#action=sale.action_orders&view_type=form&id=" + orderId;
},
},
{
diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml
index e476bfa2077..f13469443d3 100644
--- a/addons/website_sale/views/templates.xml
+++ b/addons/website_sale/views/templates.xml
@@ -79,7 +79,7 @@
<li t-attf-class="nav-item o_wsale_my_cart #{'' if website_sale_order and website_sale_order.cart_quantity else 'd-none'}">
<a href="/shop/cart" class="nav-link">
<i class="fa fa-shopping-cart"></i>
- My Cart <sup t-attf-class="my_cart_quantity badge badge-primary" t-esc="website_sale_order and website_sale_order.cart_quantity or ''" />
+ My Cart <sup t-attf-class="my_cart_quantity badge badge-primary" t-esc="website_sale_order and website_sale_order.cart_quantity or ''" t-att-data-order-id="website_sale_order and website_sale_order.id or ''"/>
</a>
</li>
</xpath>