Files
Odoo-Modules/fusion_clock/views/clock_role_views.xml
gsinghpal b4ca85e291 feat(fusion_clock): native shift roles (fusion.clock.role) [A1-A3]
Replaces Odoo Planning's planning.role: name+colour model with the same
1-11 palette, employee default/allowed role fields, Employee Roles editor,
role_id on shift template + schedule with default resolution, ACLs, menus.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 20:42:04 -04:00

95 lines
4.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- ============================================================
Shift Roles (native replacement for planning.role)
============================================================ -->
<record id="view_fusion_clock_role_list" model="ir.ui.view">
<field name="name">fusion.clock.role.list</field>
<field name="model">fusion.clock.role</field>
<field name="arch" type="xml">
<list editable="bottom">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="color" widget="integer"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="active" column_invisible="1"/>
</list>
</field>
</record>
<record id="view_fusion_clock_role_form" model="ir.ui.view">
<field name="name">fusion.clock.role.form</field>
<field name="model">fusion.clock.role</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<group>
<field name="name"/>
<field name="color" widget="integer"/>
</group>
<group>
<field name="sequence"/>
<field name="active"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="action_fusion_clock_role" model="ir.actions.act_window">
<field name="name">Shift Roles</field>
<field name="res_model">fusion.clock.role</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">Create your first shift role</p>
<p>Roles colour and label shifts on each employee's portal schedule
(e.g. "Cashier", "Stockroom", "Shift Lead").</p>
</field>
</record>
<!-- ============================================================
Employee Roles editor — fast bulk assignment of default/allowed
roles per employee (ported from fusion_planning, native fields).
============================================================ -->
<record id="view_fclk_employee_role_editor_list" model="ir.ui.view">
<field name="name">hr.employee.list.fclk.role.editor</field>
<field name="model">hr.employee</field>
<field name="arch" type="xml">
<list string="Employee Roles" editable="bottom" multi_edit="1"
default_order="department_id, name">
<field name="name" readonly="1"/>
<field name="job_title" readonly="1" optional="show"/>
<field name="department_id" readonly="1" optional="show"/>
<field name="x_fclk_default_role_id" string="Default Role"
options="{'no_quick_create': True}" widget="many2one"/>
<field name="x_fclk_role_ids" string="All Allowed Roles"
widget="many2many_tags"
options="{'no_quick_create': True, 'color_field': 'color'}"
optional="show"/>
<field name="active" column_invisible="1"/>
</list>
</field>
</record>
<record id="action_fclk_employee_role_editor" model="ir.actions.act_window">
<field name="name">Employee Roles</field>
<field name="res_model">hr.employee</field>
<field name="view_mode">list</field>
<field name="view_id" ref="view_fclk_employee_role_editor_list"/>
<field name="domain">[('active', '=', True)]</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Set the Default Role and allowed Roles for each employee
</p>
<p>Click any cell under <b>Default Role</b> or <b>All Allowed Roles</b>
and start typing. The Default Role pre-fills every new shift you
create for that employee.</p>
</field>
</record>
</odoo>