跳至內容
選單
此問題已被標幟
1 回覆
161 瀏覽次數

Hi, I'm trying to restrict access to some journals for a given internal user. The user is allowed to access the other journals.


I have tried to create a new group for the Accounting application. This group inherits from the Administrator group, but I have added a new access rule that restricts access to all but 2 account journals.

This works to remove the journals from the accounting dashboard for this user. However I run into problems when this user tries to process a payment for a vendor bill. The payment wizard shows up fine and the list of journals is also filtered to exclude the two journals. However when the user selects a different journal from the default selected account I get an error. The log entry corresponding to this error is:

INFO db-name odoo.addons.base.models.ir_rule: Access Denied by record rules for operation: read on record ids: [12, 23], uid: 4, model: account.journal  

INFO db-name odoo.addons.base.models.ir_rule: Access Denied by record rules for operation: read on record ids: [12, 23], uid: 4, model: account.journal  

INFO db-name odoo.addons.base.models.ir_rule: Access Denied by record rules for operation: read on record ids: [12], uid: 4, model: account.journal  

WARNING db-name odoo.http: Due to security restrictions, you are not allowed to access 'Journal' (account.journal) records.


Records: name-of-restricted-journal (id=12)

User: name-of-restricted user (id=4)


This restriction is due to the following rules:

  • name of rule I created


Contact your administrator to request access if necessary.


This is unexpected. I just want to two journals not listed in the drop down and in the dashboard, but my rule seems to prevent the user from selecting any of the non-restricted journals as well.


What am I missing ?

頭像
捨棄
最佳答案

Hi,


The issue occurs because Odoo’s record rules apply globally, not just in list views or dropdowns. When you restrict access to certain journals, Odoo still needs to read those records internally while processing payments or validating journal entries. Since your record rule blocks access completely, the system throws an Access Denied error even if the restricted journals aren’t being directly used. Essentially, the rule doesn’t just hide journals; it prevents Odoo from reading them anywhere in the backend.


To fix this, the recommended approach is to avoid using strict record rules for journal visibility and instead manage access through journal groups and user groups. You can assign specific journals to particular user groups in the journal’s configuration, which hides unwanted journals in dropdowns and dashboards without breaking background operations.


If you must use record rules, you can modify them to allow internal reads by relaxing the domain or using conditions that only limit UI visibility, but this can be tricky to maintain. In short, controlling access via user groups rather than record rules is the safest and cleanest way to restrict journals without affecting payment processing or other accounting workflows.


Hope it helps

頭像
捨棄
作者

Thank you for your answer.

I have found the menu option "Journal groups" in Accounting. I can create a group that excludes the two journals I want to restrict access to.

However I have not yet found how to tie this to a user group. I don't see an setting in the individual journal's configuration page to set a user group for this. I don't see anything on the journal group's config page either. I have also looked at the user group configuration pages, but nothing seems to point at where I can set a journal group.

Can you explain that part a bit more in detail ? Thank you.

相關帖文 回覆 瀏覽次數 活動
1
10月 25
191
1
10月 25
263
2
10月 25
369
2
10月 25
2183
1
10月 25
357