86 lines
4.7 KiB
XML
86 lines
4.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Copyright 2026 Nexa Systems Inc.
|
|
License OPL-1 (Odoo Proprietary License v1.0)
|
|
Part of the Fusion Plating product family.
|
|
-->
|
|
<odoo>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- MODULE CATEGORY -->
|
|
<!-- Odoo 19 organises privileges by ir.module.category. Without this, -->
|
|
<!-- groups fall into the generic Extra Rights list in user settings. -->
|
|
<!-- ================================================================== -->
|
|
<record id="module_category_fusion_plating" model="ir.module.category">
|
|
<field name="name">Fusion Plating</field>
|
|
<field name="sequence">46</field>
|
|
</record>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- PRIVILEGE (Odoo 19 res.groups.privilege) -->
|
|
<!-- Groups must reference this privilege_id so they render under a -->
|
|
<!-- "FUSION PLATING" section in user settings. -->
|
|
<!-- ================================================================== -->
|
|
<record id="res_groups_privilege_fusion_plating" model="res.groups.privilege">
|
|
<field name="name">Fusion Plating</field>
|
|
<field name="sequence">46</field>
|
|
<field name="category_id" ref="module_category_fusion_plating"/>
|
|
</record>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- OPERATOR (base shop-floor access) -->
|
|
<!-- Reads most reference data, writes chemistry logs. -->
|
|
<!-- ================================================================== -->
|
|
<record id="group_fusion_plating_operator" model="res.groups">
|
|
<field name="name">Operator</field>
|
|
<field name="sequence">10</field>
|
|
<field name="privilege_id" ref="res_groups_privilege_fusion_plating"/>
|
|
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
|
|
</record>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- SUPERVISOR (line supervisor, team lead) -->
|
|
<!-- Can manage baths, schedule jobs, review logs. -->
|
|
<!-- ================================================================== -->
|
|
<record id="group_fusion_plating_supervisor" model="res.groups">
|
|
<field name="name">Supervisor</field>
|
|
<field name="sequence">20</field>
|
|
<field name="privilege_id" ref="res_groups_privilege_fusion_plating"/>
|
|
<field name="implied_ids" eval="[(4, ref('group_fusion_plating_operator'))]"/>
|
|
</record>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- MANAGER (quality, EHS, plant manager, engineer) -->
|
|
<!-- Full CRUD on configuration objects. -->
|
|
<!-- ================================================================== -->
|
|
<record id="group_fusion_plating_manager" model="res.groups">
|
|
<field name="name">Manager</field>
|
|
<field name="sequence">30</field>
|
|
<field name="privilege_id" ref="res_groups_privilege_fusion_plating"/>
|
|
<field name="implied_ids" eval="[(4, ref('group_fusion_plating_supervisor'))]"/>
|
|
</record>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- ADMINISTRATOR (owner, super-admin) -->
|
|
<!-- Everything a Manager can do, plus system-level settings. -->
|
|
<!-- ================================================================== -->
|
|
<record id="group_fusion_plating_admin" model="res.groups">
|
|
<field name="name">Administrator</field>
|
|
<field name="sequence">40</field>
|
|
<field name="privilege_id" ref="res_groups_privilege_fusion_plating"/>
|
|
<field name="implied_ids" eval="[(4, ref('group_fusion_plating_manager'))]"/>
|
|
<field name="user_ids" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
|
|
</record>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- RECORD RULE — Multi-company isolation on facilities -->
|
|
<!-- ================================================================== -->
|
|
<record id="fp_facility_company_rule" model="ir.rule">
|
|
<field name="name">Fusion Plating: Facility — multi-company</field>
|
|
<field name="model_id" ref="model_fusion_plating_facility"/>
|
|
<field name="global" eval="True"/>
|
|
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
|
|
</record>
|
|
|
|
</odoo>
|