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