From d927dd51bbb182fb998d49ff0b08cfecce27dfb2 Mon Sep 17 00:00:00 2001 From: Romain Derie Date: Mon, 24 Dec 2018 15:08:17 +0000 Subject: [PATCH] [FIX] website_sale_delivery: allow to restrict delivery to a website Before this commit, website_id field would not be added in form view, making it impossible to set a website on a delivery method and so impossible to restrict a delivery method to a specific website. Now, adding this field will be enough as we already search() on website_published carrier and the delivery.carrier model has the 'website.published.multi.mixin' mixin that will filter accessible website when searching on website_published field. + add missing groups on website_id field + remove useless website_published opw-1918189 closes odoo/odoo#29749 --- addons/website_blog/views/website_blog_views.xml | 2 +- addons/website_sale_delivery/models/delivery.py | 1 - addons/website_sale_delivery/models/sale_order.py | 1 + .../views/website_sale_delivery_views.xml | 4 ++++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/addons/website_blog/views/website_blog_views.xml b/addons/website_blog/views/website_blog_views.xml index 85386651ec1..a3cc6916d43 100644 --- a/addons/website_blog/views/website_blog_views.xml +++ b/addons/website_blog/views/website_blog_views.xml @@ -47,7 +47,7 @@ - + diff --git a/addons/website_sale_delivery/models/delivery.py b/addons/website_sale_delivery/models/delivery.py index 5a7270c7f1c..6b14ba8004e 100644 --- a/addons/website_sale_delivery/models/delivery.py +++ b/addons/website_sale_delivery/models/delivery.py @@ -9,4 +9,3 @@ class DeliveryCarrier(models.Model): _inherit = ['delivery.carrier', 'website.published.multi.mixin'] website_description = fields.Text(related='product_id.description_sale', string='Description for Online Quotations', readonly=False) - website_published = fields.Boolean(default=False) diff --git a/addons/website_sale_delivery/models/sale_order.py b/addons/website_sale_delivery/models/sale_order.py index 4cf21e3b587..3103fb06ab3 100644 --- a/addons/website_sale_delivery/models/sale_order.py +++ b/addons/website_sale_delivery/models/sale_order.py @@ -75,6 +75,7 @@ class SaleOrder(models.Model): def _get_delivery_methods(self): address = self.partner_shipping_id + # searching on website_published will also search for available website (_search method on computed field) return self.env['delivery.carrier'].sudo().search([('website_published', '=', True)]).available_carriers(address) @api.multi diff --git a/addons/website_sale_delivery/views/website_sale_delivery_views.xml b/addons/website_sale_delivery/views/website_sale_delivery_views.xml index 0e60a35fb70..976b0971d7f 100644 --- a/addons/website_sale_delivery/views/website_sale_delivery_views.xml +++ b/addons/website_sale_delivery/views/website_sale_delivery_views.xml @@ -6,6 +6,9 @@ delivery.carrier + + + @@ -26,6 +29,7 @@ +