From fb48ad904571751ede421c0bfea20dfe1f2e8667 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Tue, 2 Aug 2022 16:00:24 +0000 Subject: [PATCH] [IMP] stock_dropshipping: move group inside the view The goal being to get rid of the `groups_id` feature for backend views Besides, in this case, overriding `_compute_product_updatable` is actually what is already done in other modules to achieve the same goal: - https://github.com/odoo/odoo/blob/7b56fc4c7197e6dc2d7a46093c9abcb1b851db3a/addons/sale/models/sale_order_line.py#L852 - https://github.com/odoo/odoo/blob/7b56fc4c7197e6dc2d7a46093c9abcb1b851db3a/addons/sale_project/models/sale_order_line.py#L53 - https://github.com/odoo/odoo/blob/7b56fc4c7197e6dc2d7a46093c9abcb1b851db3a/addons/sale_stock/models/sale_order_line.py#L211 Part-of: odoo/odoo#98551 --- addons/stock_dropshipping/models/sale.py | 8 +++++ .../views/sale_order_views.xml | 29 ++++++------------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/addons/stock_dropshipping/models/sale.py b/addons/stock_dropshipping/models/sale.py index 7ec1457ed56..c5a685218cb 100644 --- a/addons/stock_dropshipping/models/sale.py +++ b/addons/stock_dropshipping/models/sale.py @@ -49,3 +49,11 @@ class SaleOrderLine(models.Model): return qty else: return super(SaleOrderLine, self)._get_qty_procurement(previous_product_uom_qty=previous_product_uom_qty) + + @api.depends('purchase_line_count') + def _compute_product_updatable(self): + super()._compute_product_updatable() + if self.env.user.has_group('purchase.group_purchase_user'): + for line in self: + if line.purchase_line_count > 0: + line.product_updatable = False diff --git a/addons/stock_dropshipping/views/sale_order_views.xml b/addons/stock_dropshipping/views/sale_order_views.xml index 0c1cf93bdaa..a899cb7482f 100644 --- a/addons/stock_dropshipping/views/sale_order_views.xml +++ b/addons/stock_dropshipping/views/sale_order_views.xml @@ -5,28 +5,17 @@ sale.order.form.sale.dropshipping sale.order - - - - - - {'readonly': ['|', ('product_updatable', '=', False), ('purchase_line_count', '>', 0)], 'required': [('display_type', '=', False)],} - - - - - - {'readonly': ['|', ('product_updatable', '=', False), ('purchase_line_count', '>', 0)], 'required': [('display_type', '=', False)],} - - + + +