From cd5c10a47f27b77b39cd102012979bbeece2a4ea Mon Sep 17 00:00:00 2001 From: "Lucas Perais (lpe)" Date: Tue, 10 Jul 2018 11:18:26 +0200 Subject: [PATCH 1/6] [FIX] website_sale_delivery: we should be able to pay if the order only contains services Two use cases must work: Should hide payment AND display errors when order contains deliverable product Should show payment AND not display errors when order contains only services (event tickets) Linked OPW 1864744 Linked PR v11.0 #25679 closes #25692 --- addons/website_sale_delivery/models/sale_order.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/website_sale_delivery/models/sale_order.py b/addons/website_sale_delivery/models/sale_order.py index 63f2f20208b..43aa2f63d86 100644 --- a/addons/website_sale_delivery/models/sale_order.py +++ b/addons/website_sale_delivery/models/sale_order.py @@ -95,8 +95,10 @@ class SaleOrder(models.Model): @api.model def _get_errors(self, order): + # Do not Forward port in v11.0 as the API was refactored by f9a8c53e485445bc8e3474eb3978b0f83d5645c7 + has_stockable_products = any(order.order_line.filtered(lambda line: line.product_id.type in ['consu', 'product'])) errors = super(SaleOrder, self)._get_errors(order) - if not order._get_delivery_methods(): + if not order._get_delivery_methods() and has_stockable_products: errors.append( (_('Sorry, we are unable to ship your order'), _('No shipping method is available for your current order and shipping address. ' From ddb68eb1bb0be699e86ba65d906c40a5ccf9d43c Mon Sep 17 00:00:00 2001 From: len-odoo Date: Mon, 9 Jul 2018 16:06:22 +0200 Subject: [PATCH 2/6] [FIX] crm: handle selection fields correctly while merging leads When merging two or more leads, a traceback was generated when attempting to merge some selection field, if any. closes https://github.com/odoo/odoo/issues/25644 opw 1864870 --- addons/crm/models/crm_lead.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py index 411aa08a9fe..226632b144a 100644 --- a/addons/crm/models/crm_lead.py +++ b/addons/crm/models/crm_lead.py @@ -504,7 +504,8 @@ class Lead(FormatAddress, models.Model): for field in fields: value = getattr(self, field.name, False) if field.ttype == 'selection': - value = dict(field.get_values(self.env)).get(value, value) + selections = self.fields_get()[field.name]['selection'] + value = next((v[1] for v in selections if v[0] == value), value) elif field.ttype == 'many2one': if value: value = value.sudo().name_get()[0][1] From 00a55f4428bf72f5e9e2ff4b4028090b6321cf4a Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Mon, 9 Jul 2018 14:59:11 +0200 Subject: [PATCH 3/6] [FIX] service: properly invalidate session of deteled users If a user A deletes the res.users record of user B while B is connected, the verification of the session token fails with a comparison of a boolean and bytes values. While the check should obviously fail, this patch gracefully inform the user B its session has expired and redirect him to the login page. Without the patch, the session is never invalidated in the user browser, redirecting to a forbidden error page as long as the session has not been manually cleared from the browser. Fixes #25530 Closes #25654 Closes #25682 Cherry-Pick of 96f01c08f8cd15cd572333fafed4456e4f6ef88a --- openerp/service/security.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openerp/service/security.py b/openerp/service/security.py index 28c85788a0a..babdd88f30e 100644 --- a/openerp/service/security.py +++ b/openerp/service/security.py @@ -18,7 +18,8 @@ def compute_session_token(session, env): def check_session(session, env): self = env['res.users'].browse(session.uid) - if openerp.tools.misc.consteq(self._compute_session_token(session.sid), session.session_token): + expected = self._compute_session_token(session.sid) + if expected and openerp.tools.misc.consteq(expected, session.session_token): return True self._invalidate_session_cache() return False From 2d0621da05437901b88e23c8b7c20668bdfcb435 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Gonz=C3=A1lez?= Date: Sun, 8 Jul 2018 18:12:29 +0000 Subject: [PATCH 4/6] [CLA] fix date format of Vauxoo's agreement According to the CLA signing instructions, the date of signature must be expressed in the following form: > ``: current date in the form `YYYY-MM-DD` However, the date was wrongly expressed as "9-2-2015". That date not only was following an incorrect format, but also it was ambiguous, because it was not clear if the format was following M-D-YYYY or D-M-YYYY (the latter one being the case). This fixes the format, so it now fits the required one. Closes #25665 --- doc/cla/corporate/vauxoo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/cla/corporate/vauxoo.md b/doc/cla/corporate/vauxoo.md index e334925ca6d..0daaf9782b1 100644 --- a/doc/cla/corporate/vauxoo.md +++ b/doc/cla/corporate/vauxoo.md @@ -1,4 +1,4 @@ -México, 9-2-2015 +México, 2015-02-09 Vauxoo agrees to the terms of the Odoo Corporate Contributor License Agreement v1.0. From 6e8f1fcc6397365678d1030281134a9ea5998856 Mon Sep 17 00:00:00 2001 From: Alexandre Moens <37290841+mao-odoo@users.noreply.github.com> Date: Wed, 11 Jul 2018 14:43:33 +0200 Subject: [PATCH 5/6] [FIX] Stock : deliveryslip report - prioritize partner_id (#25709) Display the address of the partner_id when available rather than using the partner id of the movelines. Important when the partner is changed after the movelines are created. support ticket : 1857582 --- addons/stock/report/report_deliveryslip.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/stock/report/report_deliveryslip.xml b/addons/stock/report/report_deliveryslip.xml index ccbbb9bcca1..164e62700c4 100644 --- a/addons/stock/report/report_deliveryslip.xml +++ b/addons/stock/report/report_deliveryslip.xml @@ -11,11 +11,11 @@
Customer Address:
-
+
-
+
From 189e0088e08109f0374d4b2518f8928b7010611c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Wed, 11 Jul 2018 16:56:59 +0200 Subject: [PATCH 6/6] [FIX] account: preserve deactivated taxes on move lines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Similar to cd3f52ba1064000483f1a4cd781cf576767b4e01 that was made for invoices. Was PR #25655. Courtesy of Stéphane Bidoul (ACSONE) --- addons/account/models/account_move.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index e59d6c78101..0271807a235 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -413,7 +413,7 @@ class AccountMoveLine(models.Model): help="This field is used for payable and receivable journal entries. You can put the limit date for the payment of this line.") date = fields.Date(related='move_id.date', string='Date', required=True, index=True, default=fields.Date.context_today, store=True, copy=False) analytic_line_ids = fields.One2many('account.analytic.line', 'move_id', string='Analytic lines', oldname="analytic_lines") - tax_ids = fields.Many2many('account.tax', string='Taxes') + tax_ids = fields.Many2many('account.tax', string='Taxes', domain=['|', ('active', '=', False), ('active', '=', True)]) tax_line_id = fields.Many2one('account.tax', string='Originator tax', ondelete='restrict') analytic_account_id = fields.Many2one('account.analytic.account', string='Analytic Account') company_id = fields.Many2one('res.company', related='account_id.company_id', string='Company', store=True)