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>
95 lines
4.3 KiB
XML
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>
|