This commit is contained in:
gsinghpal
2026-03-16 08:14:56 -04:00
parent fdca9518ab
commit e56974d46f
196 changed files with 19739 additions and 3471 deletions

View File

@@ -0,0 +1,10 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_ai_prompt_manager,fusion.clock.ai.prompt.manager,model_fusion_clock_ai_prompt,fusion_clock.group_fusion_clock_manager,1,1,1,1
access_ai_conversation_user,fusion.clock.ai.conversation.user,model_fusion_clock_ai_conversation,fusion_clock.group_fusion_clock_user,1,1,1,1
access_ai_conversation_manager,fusion.clock.ai.conversation.manager,model_fusion_clock_ai_conversation,fusion_clock.group_fusion_clock_manager,1,1,1,1
access_ai_message_user,fusion.clock.ai.message.user,model_fusion_clock_ai_message,fusion_clock.group_fusion_clock_user,1,1,1,0
access_ai_message_manager,fusion.clock.ai.message.manager,model_fusion_clock_ai_message,fusion_clock.group_fusion_clock_manager,1,1,1,1
access_ai_usage_manager,fusion.clock.ai.usage.manager,model_fusion_clock_ai_usage,fusion_clock.group_fusion_clock_manager,1,1,1,1
access_ai_cache_manager,fusion.clock.ai.cache.manager,model_fusion_clock_ai_cache,fusion_clock.group_fusion_clock_manager,1,1,1,1
access_ai_conversation_portal,fusion.clock.ai.conversation.portal,model_fusion_clock_ai_conversation,base.group_portal,1,0,1,0
access_ai_message_portal,fusion.clock.ai.message.portal,model_fusion_clock_ai_message,base.group_portal,1,0,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_ai_prompt_manager fusion.clock.ai.prompt.manager model_fusion_clock_ai_prompt fusion_clock.group_fusion_clock_manager 1 1 1 1
3 access_ai_conversation_user fusion.clock.ai.conversation.user model_fusion_clock_ai_conversation fusion_clock.group_fusion_clock_user 1 1 1 1
4 access_ai_conversation_manager fusion.clock.ai.conversation.manager model_fusion_clock_ai_conversation fusion_clock.group_fusion_clock_manager 1 1 1 1
5 access_ai_message_user fusion.clock.ai.message.user model_fusion_clock_ai_message fusion_clock.group_fusion_clock_user 1 1 1 0
6 access_ai_message_manager fusion.clock.ai.message.manager model_fusion_clock_ai_message fusion_clock.group_fusion_clock_manager 1 1 1 1
7 access_ai_usage_manager fusion.clock.ai.usage.manager model_fusion_clock_ai_usage fusion_clock.group_fusion_clock_manager 1 1 1 1
8 access_ai_cache_manager fusion.clock.ai.cache.manager model_fusion_clock_ai_cache fusion_clock.group_fusion_clock_manager 1 1 1 1
9 access_ai_conversation_portal fusion.clock.ai.conversation.portal model_fusion_clock_ai_conversation base.group_portal 1 0 1 0
10 access_ai_message_portal fusion.clock.ai.message.portal model_fusion_clock_ai_message base.group_portal 1 0 1 0

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- ================================================================
Record Rules - AI Conversation
================================================================ -->
<record id="rule_ai_conversation_user" model="ir.rule">
<field name="name">AI Conversation: User sees own</field>
<field name="model_id" ref="model_fusion_clock_ai_conversation"/>
<field name="domain_force">[('user_id', '=', user.id)]</field>
<field name="groups" eval="[(4, ref('fusion_clock.group_fusion_clock_user'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="True"/>
</record>
<record id="rule_ai_conversation_manager" model="ir.rule">
<field name="name">AI Conversation: Manager sees all</field>
<field name="model_id" ref="model_fusion_clock_ai_conversation"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('fusion_clock.group_fusion_clock_manager'))]"/>
</record>
<record id="rule_ai_conversation_portal" model="ir.rule">
<field name="name">AI Conversation: Portal user sees own</field>
<field name="model_id" ref="model_fusion_clock_ai_conversation"/>
<field name="domain_force">[('user_id', '=', user.id)]</field>
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="False"/>
</record>
<!-- ================================================================
Record Rules - AI Message
================================================================ -->
<record id="rule_ai_message_user" model="ir.rule">
<field name="name">AI Message: User sees own conversation messages</field>
<field name="model_id" ref="model_fusion_clock_ai_message"/>
<field name="domain_force">[('conversation_id.user_id', '=', user.id)]</field>
<field name="groups" eval="[(4, ref('fusion_clock.group_fusion_clock_user'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="False"/>
</record>
<record id="rule_ai_message_manager" model="ir.rule">
<field name="name">AI Message: Manager sees all</field>
<field name="model_id" ref="model_fusion_clock_ai_message"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('fusion_clock.group_fusion_clock_manager'))]"/>
</record>
<record id="rule_ai_message_portal" model="ir.rule">
<field name="name">AI Message: Portal user sees own conversation messages</field>
<field name="model_id" ref="model_fusion_clock_ai_message"/>
<field name="domain_force">[('conversation_id.user_id', '=', user.id)]</field>
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="True"/>
<field name="perm_unlink" eval="False"/>
</record>
<!-- ================================================================
Record Rules - AI Usage (Manager only)
================================================================ -->
<record id="rule_ai_usage_manager" model="ir.rule">
<field name="name">AI Usage: Manager full access</field>
<field name="model_id" ref="model_fusion_clock_ai_usage"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('fusion_clock.group_fusion_clock_manager'))]"/>
</record>
<!-- ================================================================
Record Rules - AI Prompt (Manager only)
================================================================ -->
<record id="rule_ai_prompt_manager" model="ir.rule">
<field name="name">AI Prompt: Manager full access</field>
<field name="model_id" ref="model_fusion_clock_ai_prompt"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('fusion_clock.group_fusion_clock_manager'))]"/>
</record>
</odoo>