Skip to content
Snippets Groups Projects
Commit ef5cc35b authored by Nicolas Martinelli's avatar Nicolas Martinelli
Browse files

[FIX] account_analytic_default_purchase: access error


- Activate Analytic Accounting
- Set the demo user with only the Purchase User access rights (no
  accounting access rights)
- Create a PO with demo

An AccessError is raised because the user has no access to
`account.analytic.default`.

We can use `sudo` to retrieve the default account. There is no access
rights error on `account_analytic_id` or `analytic_tag_ids` later on.

Fix the `company_id` at the same time.

opw-2171813

closes odoo/odoo#43388

Signed-off-by: default avatarNicolas Martinelli (nim) <nim@odoo.com>
parent 1f226d11
No related branches found
No related tags found
No related merge requests found
......@@ -9,7 +9,13 @@ class PurchaseOrderLine(models.Model):
@api.onchange('product_id', 'date_order')
def _onchange_product_id_date(self):
default_analytic_account = self.env['account.analytic.default'].account_get(product_id=self.product_id.id, partner_id=self.order_id.partner_id.id, user_id=self.env.uid, date=self.date_order)
default_analytic_account = self.env['account.analytic.default'].sudo().account_get(
product_id=self.product_id.id,
partner_id=self.order_id.partner_id.id,
user_id=self.env.uid,
date=self.date_order,
company_id=self.company_id.id,
)
if default_analytic_account:
self.account_analytic_id = default_analytic_account.analytic_id.id
self.analytic_tag_ids = [(6, 0, default_analytic_account.analytic_tag_ids.ids)]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment