From 34e5b46025c0b35dcca05069e9ba4709891d9b00 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Wed, 25 Feb 2026 11:52:06 -0500 Subject: [PATCH] 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 --- fusion_faxes/security/ir.model.access.csv | 2 + fusion_faxes/security/security.xml | 55 ++++++++++++++----- fusion_faxes/views/account_move_views.xml | 7 ++- fusion_faxes/views/fusion_fax_views.xml | 3 +- fusion_faxes/views/res_partner_views.xml | 15 +++-- fusion_faxes/views/sale_order_views.xml | 7 ++- .../security/ir.model.access.csv | 2 + fusion_ringcentral/security/security.xml | 27 +++++++++ fusion_ringcentral/views/fusion_fax_views.xml | 19 ++++--- .../views/res_config_settings_views.xml | 3 +- .../views/res_partner_views.xml | 10 ++-- 11 files changed, 112 insertions(+), 38 deletions(-) diff --git a/fusion_faxes/security/ir.model.access.csv b/fusion_faxes/security/ir.model.access.csv index f60eae9..d3a7fea 100644 --- a/fusion_faxes/security/ir.model.access.csv +++ b/fusion_faxes/security/ir.model.access.csv @@ -1,8 +1,10 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_fusion_fax_base,fusion.fax.base.read,model_fusion_fax,base.group_user,1,0,0,0 access_fusion_fax_user,fusion.fax.user,model_fusion_fax,group_fax_user,1,1,1,0 access_fusion_fax_manager,fusion.fax.manager,model_fusion_fax,group_fax_manager,1,1,1,1 access_fusion_send_fax_wizard_user,fusion.send.fax.wizard.user,model_fusion_faxes_send_fax_wizard,group_fax_user,1,1,1,1 access_fusion_send_fax_wizard_line_user,fusion.send.fax.wizard.line.user,model_fusion_faxes_send_fax_wizard_line,group_fax_user,1,1,1,1 +access_fusion_fax_document_base,fusion.fax.document.base.read,model_fusion_fax_document,base.group_user,1,0,0,0 access_fusion_fax_document_user,fusion.fax.document.user,model_fusion_fax_document,group_fax_user,1,1,1,0 access_fusion_fax_document_manager,fusion.fax.document.manager,model_fusion_fax_document,group_fax_manager,1,1,1,1 access_fusion_fax_dashboard_user,fusion.fax.dashboard.user,model_fusion_fax_dashboard,group_fax_user,1,1,1,1 diff --git a/fusion_faxes/security/security.xml b/fusion_faxes/security/security.xml index c457232..7fbe1a8 100644 --- a/fusion_faxes/security/security.xml +++ b/fusion_faxes/security/security.xml @@ -1,22 +1,51 @@ + + + + Fusion Faxes + 47 + + + + + Fusion Faxes + 47 + + + + + + User + 10 + + + + + + + Manager + 20 + + + + + - - - Fusion Faxes / User - + + + Fax: all internal users read-only + + [(1, '=', 1)] + + + + + - - - Fusion Faxes / Manager - - - - - - + Fax: user sees own faxes diff --git a/fusion_faxes/views/account_move_views.xml b/fusion_faxes/views/account_move_views.xml index 85ce70d..950c26a 100644 --- a/fusion_faxes/views/account_move_views.xml +++ b/fusion_faxes/views/account_move_views.xml @@ -8,16 +8,17 @@ - + - + - + + invisible="x_ff_fax_count == 0" + groups="fusion_faxes.group_fax_user"> diff --git a/fusion_faxes/views/sale_order_views.xml b/fusion_faxes/views/sale_order_views.xml index 8a39ccb..7047c02 100644 --- a/fusion_faxes/views/sale_order_views.xml +++ b/fusion_faxes/views/sale_order_views.xml @@ -8,16 +8,17 @@ - + - + diff --git a/fusion_ringcentral/views/res_config_settings_views.xml b/fusion_ringcentral/views/res_config_settings_views.xml index 675a6cc..63d1b9b 100644 --- a/fusion_ringcentral/views/res_config_settings_views.xml +++ b/fusion_ringcentral/views/res_config_settings_views.xml @@ -7,7 +7,8 @@ - +

AI Transcription

diff --git a/fusion_ringcentral/views/res_partner_views.xml b/fusion_ringcentral/views/res_partner_views.xml index 756460f..6b83b24 100644 --- a/fusion_ringcentral/views/res_partner_views.xml +++ b/fusion_ringcentral/views/res_partner_views.xml @@ -8,19 +8,21 @@ - + - + + invisible="rc_call_count == 0" + groups="fusion_ringcentral.group_rc_user">