From 2f069b9ce8a11c8e1e46478398cd56701f8813a3 Mon Sep 17 00:00:00 2001 From: niyasraphy Date: Fri, 27 Jan 2023 15:34:55 +0000 Subject: [PATCH] [FIX] purchase_requisition: access right error on confirm/cancel bo before this commit, on closing/confirming a blanket order by a purchase user throws access right on product_supplierinfo model. after this commit, access right error will not be shown on confirming and closing the blanket order. closes odoo/odoo#111896 X-original-commit: 9d86621029a478b8e1cbae4f228fe454a184fba3 Signed-off-by: William Henrotin (whe) --- addons/purchase_requisition/models/purchase_requisition.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/purchase_requisition/models/purchase_requisition.py b/addons/purchase_requisition/models/purchase_requisition.py index 084d1a713fc..1cc6d96d8a3 100644 --- a/addons/purchase_requisition/models/purchase_requisition.py +++ b/addons/purchase_requisition/models/purchase_requisition.py @@ -107,7 +107,7 @@ class PurchaseRequisition(models.Model): # try to set all associated quotations to cancel state for requisition in self: for requisition_line in requisition.line_ids: - requisition_line.supplier_info_ids.unlink() + requisition_line.supplier_info_ids.sudo().unlink() requisition.purchase_ids.button_cancel() for po in requisition.purchase_ids: po.message_post(body=_('Cancelled by the agreement associated to this quotation.')) @@ -147,7 +147,7 @@ class PurchaseRequisition(models.Model): raise UserError(_('You have to cancel or validate every RfQ before closing the purchase requisition.')) for requisition in self: for requisition_line in requisition.line_ids: - requisition_line.supplier_info_ids.unlink() + requisition_line.supplier_info_ids.sudo().unlink() self.write({'state': 'done'}) @api.ondelete(at_uninstall=False) @@ -217,7 +217,7 @@ class PurchaseRequisitionLine(models.Model): purchase_requisition = self.requisition_id if purchase_requisition.type_id.quantity_copy == 'none' and purchase_requisition.vendor_id: # create a supplier_info only in case of blanket order - self.env['product.supplierinfo'].create({ + self.env['product.supplierinfo'].sudo().create({ 'partner_id': purchase_requisition.vendor_id.id, 'product_id': self.product_id.id, 'product_tmpl_id': self.product_id.product_tmpl_id.id,