fix: comprehensive permission overhaul for fusion_faxes and fusion_ringcentral

Users without fax/RC groups could not open Sale Orders, Invoices, or
Contacts because the One2many computed fields triggered AccessError
on fusion.fax. Now base.group_user gets read-only access so computed
fields work silently, while all UI elements (smart buttons, header
buttons, menus, partner fields, settings) are restricted to the
proper security groups. Both modules now use Odoo 19 privilege
pattern for the user settings dropdown.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
gsinghpal
2026-02-25 11:52:06 -05:00
parent e71bc503f9
commit 34e5b46025
11 changed files with 112 additions and 38 deletions

View File

@@ -50,6 +50,33 @@
<data noupdate="0">
<!-- ============================================================ -->
<!-- Base read rules (allow computed fields on res.partner to -->
<!-- work for users without RC groups) -->
<!-- ============================================================ -->
<record id="rule_call_base_read" model="ir.rule">
<field name="name">RC Call: all internal users read-only</field>
<field name="model_id" ref="model_rc_call_history"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
<record id="rule_voicemail_base_read" model="ir.rule">
<field name="name">RC Voicemail: all internal users read-only</field>
<field name="model_id" ref="model_rc_voicemail"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
<!-- ============================================================ -->
<!-- Call History record rules -->
<!-- ============================================================ -->