[FIX] pos_coupon: allow coupon creation when generated from POS

When a coupon is generated from POS order, you get a traceback saying
you don't have access rights on "coupon.coupon" when you are only a pos
user.

So when we need to create the coupons and write on it, we are doing it
in sudo, to let the pos process generate the coupon.

Task-id: 2742528
X-original-commit: 2faefd5d6e69170a49c2cc5aca000f791f40f448
Part-of: odoo/odoo#84583
This commit is contained in:
Pierre Masereel
2022-02-14 22:31:02 +00:00
parent 249162b047
commit 59c3b32778
+2 -2
View File
@@ -39,7 +39,7 @@ class PosOrder(models.Model):
unused_coupon_ids = unused_coupon_ids or []
self.env["coupon.coupon"].browse(unused_coupon_ids).write({"state": "new"})
self.write(
self.sudo().write(
{
"applied_program_ids": [(4, i) for i in self.lines.program_id.ids],
"used_coupon_ids": [(4, i) for i in self.lines.coupon_id.ids],
@@ -48,7 +48,7 @@ class PosOrder(models.Model):
for i in (
self.env["coupon.program"]
.browse(program_ids_to_generate_coupons)
._generate_coupons(self.partner_id.id)
.sudo()._generate_coupons(self.partner_id.id)
).ids
],
}