Files
Odoo-Modules/fusion-plating/fusion_plating_safety/views/fp_jhsc_views.xml
gsinghpal be611876ad changes
2026-04-12 09:09:50 -04:00

187 lines
8.3 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>
<!-- ===================================================================== -->
<!-- JHSC -->
<!-- ===================================================================== -->
<record id="view_fp_jhsc_list" model="ir.ui.view">
<field name="name">fp.jhsc.list</field>
<field name="model">fusion.plating.jhsc</field>
<field name="arch" type="xml">
<list string="JHSC">
<field name="name"/>
<field name="facility_id"/>
<field name="member_count"/>
<field name="meeting_count"/>
<field name="active" widget="boolean_toggle"/>
</list>
</field>
</record>
<record id="view_fp_jhsc_form" model="ir.ui.view">
<field name="name">fp.jhsc.form</field>
<field name="model">fusion.plating.jhsc</field>
<field name="arch" type="xml">
<form string="JHSC">
<sheet>
<div class="oe_title">
<label for="name"/>
<h1><field name="name" placeholder="e.g. Site A JHSC"/></h1>
</div>
<group>
<group>
<field name="facility_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="active" widget="boolean_toggle"/>
</group>
<group>
<field name="member_count"/>
<field name="meeting_count"/>
</group>
</group>
<notebook>
<page string="Members">
<field name="member_ids" widget="many2many_tags"/>
</page>
<page string="Worker Representatives">
<field name="worker_rep_ids" widget="many2many_tags"/>
</page>
<page string="Management Representatives">
<field name="mgmt_rep_ids" widget="many2many_tags"/>
</page>
<page string="Meetings">
<field name="meeting_ids">
<list>
<field name="meeting_date"/>
<field name="name"/>
<field name="state"/>
</list>
</field>
</page>
</notebook>
</sheet>
<chatter/>
</form>
</field>
</record>
<record id="view_fp_jhsc_search" model="ir.ui.view">
<field name="name">fp.jhsc.search</field>
<field name="model">fusion.plating.jhsc</field>
<field name="arch" type="xml">
<search string="JHSC">
<field name="name"/>
<field name="facility_id"/>
<filter string="Archived" name="filter_inactive" domain="[('active', '=', False)]"/>
<group>
<filter string="Facility" name="group_facility" context="{'group_by': 'facility_id'}"/>
</group>
</search>
</field>
</record>
<record id="action_fp_jhsc" model="ir.actions.act_window">
<field name="name">JHSC</field>
<field name="res_model">fusion.plating.jhsc</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_fp_jhsc_search"/>
</record>
<!-- ===================================================================== -->
<!-- JHSC Meetings -->
<!-- ===================================================================== -->
<record id="view_fp_jhsc_meeting_list" model="ir.ui.view">
<field name="name">fp.jhsc.meeting.list</field>
<field name="model">fusion.plating.jhsc.meeting</field>
<field name="arch" type="xml">
<list string="JHSC Meetings">
<field name="meeting_date"/>
<field name="name"/>
<field name="jhsc_id"/>
<field name="facility_id"/>
<field name="state"/>
</list>
</field>
</record>
<record id="view_fp_jhsc_meeting_form" model="ir.ui.view">
<field name="name">fp.jhsc.meeting.form</field>
<field name="model">fusion.plating.jhsc.meeting</field>
<field name="arch" type="xml">
<form string="JHSC Meeting">
<header>
<button name="action_mark_held" type="object" string="Mark Held" invisible="state != 'planned'"/>
<button name="action_post_minutes" type="object" string="Post Minutes" invisible="state not in ('held',)"/>
<button name="action_close" type="object" string="Close" invisible="state not in ('minutes_ready',)"/>
<field name="state" widget="statusbar" statusbar_visible="planned,held,minutes_ready,closed"/>
</header>
<sheet>
<div class="oe_title">
<label for="name"/>
<h1><field name="name" placeholder="e.g. Q1 2026 JHSC Meeting"/></h1>
</div>
<group>
<group>
<field name="jhsc_id"/>
<field name="meeting_date"/>
<field name="facility_id"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
</group>
<notebook>
<page string="Attendees">
<field name="attendee_ids" widget="many2many_tags"/>
</page>
<page string="Agenda">
<field name="agenda"/>
</page>
<page string="Minutes">
<field name="minutes"/>
</page>
<page string="Action Items">
<field name="action_items"/>
</page>
<page string="Attachments">
<field name="attachment_ids" widget="many2many_binary"/>
</page>
</notebook>
</sheet>
<chatter/>
</form>
</field>
</record>
<record id="view_fp_jhsc_meeting_search" model="ir.ui.view">
<field name="name">fp.jhsc.meeting.search</field>
<field name="model">fusion.plating.jhsc.meeting</field>
<field name="arch" type="xml">
<search string="JHSC Meetings">
<field name="name"/>
<field name="jhsc_id"/>
<field name="facility_id"/>
<filter string="Planned" name="filter_planned" domain="[('state', '=', 'planned')]"/>
<filter string="Held" name="filter_held" domain="[('state', '=', 'held')]"/>
<filter string="Minutes Ready" name="filter_minutes" domain="[('state', '=', 'minutes_ready')]"/>
<filter string="Closed" name="filter_closed" domain="[('state', '=', 'closed')]"/>
<group>
<filter string="Committee" name="group_jhsc" context="{'group_by': 'jhsc_id'}"/>
<filter string="Status" name="group_state" context="{'group_by': 'state'}"/>
</group>
</search>
</field>
</record>
<record id="action_fp_jhsc_meeting" model="ir.actions.act_window">
<field name="name">JHSC Meetings</field>
<field name="res_model">fusion.plating.jhsc.meeting</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_fp_jhsc_meeting_search"/>
</record>
</odoo>