[FIX] sale_coupon: allow salespeople to use coupons

Steps:
- Have a demo user with "User: Own Documents Only" rights on Sales.
- Connect as admin
- Go to Sales > Products > Coupon Program
- Click one of the programs
- Generate a Coupon
- Reconnect as demo user
- Create a Sales Order
- Apply the generated coupon

Bug:
Access rights restriction on the coupon.

Sorry, you are not allowed to modify documents of type 'Sales Coupon' (sale.coupon). This operation is allowed for the groups:
	- Sales/Administrator - (Operation: write, User: 6)

Explanation:
When applying a coupon to the sales order, it tries to update the coupon's state and link it to the order. This needs to update the coupon record.
This commit also fixes confirming quotations and cancelling sales orders with coupons for salespeople.

opw:2409858

closes odoo/odoo#63239

X-original-commit: 873340ca98b9732132e056c1ca79c614c6255c1c
Signed-off-by: backspac <backspac@users.noreply.github.com>
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This commit is contained in:
nie
2020-12-11 12:38:12 +00:00
parent 4cc7c2bf00
commit bbf860ae97
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -230,7 +230,7 @@ class SaleOrder(models.Model):
if coupon:
coupon.write({'state': 'reserved'})
else:
coupon = self.env['coupon.coupon'].create({
coupon = self.env['coupon.coupon'].sudo().create({
'program_id': program.id,
'state': 'reserved',
'partner_id': self.partner_id.id,
@@ -3,7 +3,7 @@ access_program_salesman,Coupon Program (Salesperson),coupon.model_coupon_program
access_program_manager,Coupon Program (Manager),coupon.model_coupon_program,sales_team.group_sale_manager,1,1,1,1
access_applicability_salesman,Coupon Rule (Salesperson),coupon.model_coupon_rule,sales_team.group_sale_salesman,1,0,0,0
access_applicability_manager,Coupon Rule (Manager),coupon.model_coupon_rule,sales_team.group_sale_manager,1,1,1,0
access_coupon_salesman,Coupon (Salesperson),coupon.model_coupon_coupon,sales_team.group_sale_salesman,1,0,0,0
access_coupon_salesman,Coupon (Salesperson),coupon.model_coupon_coupon,sales_team.group_sale_salesman,1,1,0,0
access_coupon_manager,Coupon (Manager),coupon.model_coupon_coupon,sales_team.group_sale_manager,1,1,1,0
access_reward_salesman,Coupon Reward (Salesperson),coupon.model_coupon_reward,sales_team.group_sale_salesman,1,0,0,0
access_reward_manager,Coupon Reward (Manager),coupon.model_coupon_reward,sales_team.group_sale_manager,1,1,1,0
1 id name model_id/id group_id/id perm_read perm_write perm_create perm_unlink
3 access_program_manager Coupon Program (Manager) coupon.model_coupon_program sales_team.group_sale_manager 1 1 1 1
4 access_applicability_salesman Coupon Rule (Salesperson) coupon.model_coupon_rule sales_team.group_sale_salesman 1 0 0 0
5 access_applicability_manager Coupon Rule (Manager) coupon.model_coupon_rule sales_team.group_sale_manager 1 1 1 0
6 access_coupon_salesman Coupon (Salesperson) coupon.model_coupon_coupon sales_team.group_sale_salesman 1 0 1 0 0
7 access_coupon_manager Coupon (Manager) coupon.model_coupon_coupon sales_team.group_sale_manager 1 1 1 0
8 access_reward_salesman Coupon Reward (Salesperson) coupon.model_coupon_reward sales_team.group_sale_salesman 1 0 0 0
9 access_reward_manager Coupon Reward (Manager) coupon.model_coupon_reward sales_team.group_sale_manager 1 1 1 0