This commit is contained in:
gsinghpal
2026-02-23 00:32:20 -05:00
parent d6bac8e623
commit e8e554de95
549 changed files with 1330 additions and 124935 deletions

View File

@@ -1,7 +1,18 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_rc_config_manager,rc.config.manager,model_rc_config,group_rc_manager,1,1,1,1
access_rc_call_history_user,rc.call.history.user,model_rc_call_history,group_rc_user,1,1,1,0
access_rc_call_history_company,rc.call.history.company,model_rc_call_history,group_rc_company_user,1,1,1,0
access_rc_call_history_manager,rc.call.history.manager,model_rc_call_history,group_rc_manager,1,1,1,1
access_rc_call_dashboard_user,rc.call.dashboard.user,model_rc_call_dashboard,group_rc_user,1,1,1,1
access_rc_voicemail_user,rc.voicemail.user,model_rc_voicemail,group_rc_user,1,1,1,0
access_rc_voicemail_company,rc.voicemail.company,model_rc_voicemail,group_rc_company_user,1,1,1,0
access_rc_voicemail_manager,rc.voicemail.manager,model_rc_voicemail,group_rc_manager,1,1,1,1
access_fusion_fax_rc_user,fusion.fax.rc.user,fusion_faxes.model_fusion_fax,group_rc_user,1,1,1,0
access_fusion_fax_rc_company,fusion.fax.rc.company,fusion_faxes.model_fusion_fax,group_rc_company_user,1,1,1,0
access_fusion_fax_rc_manager,fusion.fax.rc.manager,fusion_faxes.model_fusion_fax,group_rc_manager,1,1,1,1
access_fusion_fax_doc_rc_user,fusion.fax.doc.rc.user,fusion_faxes.model_fusion_fax_document,group_rc_user,1,1,1,0
access_fusion_fax_doc_rc_company,fusion.fax.doc.rc.company,fusion_faxes.model_fusion_fax_document,group_rc_company_user,1,1,1,0
access_fusion_fax_doc_rc_manager,fusion.fax.doc.rc.manager,fusion_faxes.model_fusion_fax_document,group_rc_manager,1,1,1,1
access_fusion_fax_dash_rc_user,fusion.fax.dash.rc.user,fusion_faxes.model_fusion_fax_dashboard,group_rc_user,1,1,1,1
access_fusion_fax_wiz_rc_user,fusion.fax.wiz.rc.user,fusion_faxes.model_fusion_faxes_send_fax_wizard,group_rc_user,1,1,1,1
access_fusion_fax_wiz_line_rc_user,fusion.fax.wiz.line.rc.user,fusion_faxes.model_fusion_faxes_send_fax_wizard_line,group_rc_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_rc_config_manager rc.config.manager model_rc_config group_rc_manager 1 1 1 1
3 access_rc_call_history_user rc.call.history.user model_rc_call_history group_rc_user 1 1 1 0
4 access_rc_call_history_company rc.call.history.company model_rc_call_history group_rc_company_user 1 1 1 0
5 access_rc_call_history_manager rc.call.history.manager model_rc_call_history group_rc_manager 1 1 1 1
6 access_rc_call_dashboard_user rc.call.dashboard.user model_rc_call_dashboard group_rc_user 1 1 1 1
7 access_rc_voicemail_user rc.voicemail.user model_rc_voicemail group_rc_user 1 1 1 0
8 access_rc_voicemail_company rc.voicemail.company model_rc_voicemail group_rc_company_user 1 1 1 0
9 access_rc_voicemail_manager rc.voicemail.manager model_rc_voicemail group_rc_manager 1 1 1 1
10 access_fusion_fax_rc_user fusion.fax.rc.user fusion_faxes.model_fusion_fax group_rc_user 1 1 1 0
11 access_fusion_fax_rc_company fusion.fax.rc.company fusion_faxes.model_fusion_fax group_rc_company_user 1 1 1 0
12 access_fusion_fax_rc_manager fusion.fax.rc.manager fusion_faxes.model_fusion_fax group_rc_manager 1 1 1 1
13 access_fusion_fax_doc_rc_user fusion.fax.doc.rc.user fusion_faxes.model_fusion_fax_document group_rc_user 1 1 1 0
14 access_fusion_fax_doc_rc_company fusion.fax.doc.rc.company fusion_faxes.model_fusion_fax_document group_rc_company_user 1 1 1 0
15 access_fusion_fax_doc_rc_manager fusion.fax.doc.rc.manager fusion_faxes.model_fusion_fax_document group_rc_manager 1 1 1 1
16 access_fusion_fax_dash_rc_user fusion.fax.dash.rc.user fusion_faxes.model_fusion_fax_dashboard group_rc_user 1 1 1 1
17 access_fusion_fax_wiz_rc_user fusion.fax.wiz.rc.user fusion_faxes.model_fusion_faxes_send_fax_wizard group_rc_user 1 1 1 1
18 access_fusion_fax_wiz_line_rc_user fusion.fax.wiz.line.rc.user fusion_faxes.model_fusion_faxes_send_fax_wizard_line group_rc_user 1 1 1 1

View File

@@ -1,22 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- ================================================================== -->
<!-- MODULE CATEGORY -->
<!-- ================================================================== -->
<record id="module_category_fusion_connect" model="ir.module.category">
<field name="name">Fusion Connect</field>
<field name="sequence">46</field>
</record>
<!-- ================================================================== -->
<!-- PRIVILEGE (Odoo 19 pattern for user settings dropdown) -->
<!-- ================================================================== -->
<record id="res_groups_privilege_fusion_connect" model="res.groups.privilege">
<field name="name">Fusion Connect</field>
<field name="sequence">46</field>
<field name="category_id" ref="module_category_fusion_connect"/>
</record>
<!-- ================================================================== -->
<!-- USER GROUP: sees own calls, voicemails, faxes -->
<!-- ================================================================== -->
<record id="group_rc_user" model="res.groups">
<field name="name">User</field>
<field name="sequence">10</field>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="privilege_id" ref="res_groups_privilege_fusion_connect"/>
</record>
<!-- ================================================================== -->
<!-- COMPANY USER GROUP: sees ALL company calls, voicemails, faxes -->
<!-- ================================================================== -->
<record id="group_rc_company_user" model="res.groups">
<field name="name">Company User</field>
<field name="sequence">20</field>
<field name="implied_ids" eval="[(4, ref('group_rc_user'))]"/>
<field name="privilege_id" ref="res_groups_privilege_fusion_connect"/>
</record>
<!-- ================================================================== -->
<!-- MANAGER GROUP: full access + RingCentral configuration -->
<!-- ================================================================== -->
<record id="group_rc_manager" model="res.groups">
<field name="name">Manager</field>
<field name="sequence">30</field>
<field name="implied_ids" eval="[(4, ref('group_rc_company_user'))]"/>
<field name="privilege_id" ref="res_groups_privilege_fusion_connect"/>
<field name="user_ids" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
<data noupdate="0">
<!-- User group: can make calls and view own call history -->
<record id="group_rc_user" model="res.groups">
<field name="name">Fusion RingCentral / User</field>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
</record>
<!-- ============================================================ -->
<!-- Call History record rules -->
<!-- ============================================================ -->
<!-- Manager group: can configure RC and view all call history -->
<record id="group_rc_manager" model="res.groups">
<field name="name">Fusion RingCentral / Manager</field>
<field name="implied_ids" eval="[(4, ref('group_rc_user'))]"/>
</record>
<!-- Record rules -->
<!-- Users see only their own call history -->
<record id="rule_call_user_own" model="ir.rule">
<field name="name">RC Call: user sees own calls</field>
<field name="model_id" ref="model_rc_call_history"/>
@@ -24,7 +61,13 @@
<field name="groups" eval="[(4, ref('group_rc_user'))]"/>
</record>
<!-- Managers see all call history -->
<record id="rule_call_company_all" model="ir.rule">
<field name="name">RC Call: company user sees all calls</field>
<field name="model_id" ref="model_rc_call_history"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_rc_company_user'))]"/>
</record>
<record id="rule_call_manager_all" model="ir.rule">
<field name="name">RC Call: manager sees all calls</field>
<field name="model_id" ref="model_rc_call_history"/>
@@ -32,15 +75,24 @@
<field name="groups" eval="[(4, ref('group_rc_manager'))]"/>
</record>
<!-- Users see all voicemails (no per-user filtering for VM) -->
<record id="rule_voicemail_user_all" model="ir.rule">
<field name="name">RC Voicemail: user sees all</field>
<!-- ============================================================ -->
<!-- Voicemail record rules -->
<!-- ============================================================ -->
<record id="rule_voicemail_user_own" model="ir.rule">
<field name="name">RC Voicemail: user sees own</field>
<field name="model_id" ref="model_rc_voicemail"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="domain_force">[('create_uid', '=', user.id)]</field>
<field name="groups" eval="[(4, ref('group_rc_user'))]"/>
</record>
<!-- Managers see all voicemails -->
<record id="rule_voicemail_company_all" model="ir.rule">
<field name="name">RC Voicemail: company user sees all</field>
<field name="model_id" ref="model_rc_voicemail"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_rc_company_user'))]"/>
</record>
<record id="rule_voicemail_manager_all" model="ir.rule">
<field name="name">RC Voicemail: manager sees all</field>
<field name="model_id" ref="model_rc_voicemail"/>
@@ -48,5 +100,30 @@
<field name="groups" eval="[(4, ref('group_rc_manager'))]"/>
</record>
<!-- ============================================================ -->
<!-- Fax record rules -->
<!-- ============================================================ -->
<record id="rule_fax_user_own" model="ir.rule">
<field name="name">Fax: user sees own faxes</field>
<field name="model_id" ref="fusion_faxes.model_fusion_fax"/>
<field name="domain_force">['|', ('sent_by_id', '=', user.id), ('create_uid', '=', user.id)]</field>
<field name="groups" eval="[(4, ref('group_rc_user'))]"/>
</record>
<record id="rule_fax_company_all" model="ir.rule">
<field name="name">Fax: company user sees all faxes</field>
<field name="model_id" ref="fusion_faxes.model_fusion_fax"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_rc_company_user'))]"/>
</record>
<record id="rule_fax_manager_all" model="ir.rule">
<field name="name">Fax: manager sees all faxes</field>
<field name="model_id" ref="fusion_faxes.model_fusion_fax"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_rc_manager'))]"/>
</record>
</data>
</odoo>