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,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>