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)],} - - + + +