folder rename
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_compliance_event_list" model="ir.ui.view">
|
||||
<field name="name">fp.compliance.event.list</field>
|
||||
<field name="model">fusion.plating.compliance.event</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Compliance Calendar" decoration-danger="state == 'overdue'" decoration-warning="state == 'due'" decoration-success="state == 'done'">
|
||||
<field name="due_date"/>
|
||||
<field name="name"/>
|
||||
<field name="event_type"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="permit_id"/>
|
||||
<field name="regulator_id"/>
|
||||
<field name="owner_id"/>
|
||||
<field name="state" widget="badge"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_compliance_event_form" model="ir.ui.view">
|
||||
<field name="name">fp.compliance.event.form</field>
|
||||
<field name="model">fusion.plating.compliance.event</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Compliance Event">
|
||||
<header>
|
||||
<button name="action_mark_done" string="Mark Done" type="object" invisible="state in ('done', 'skipped')" class="oe_highlight"/>
|
||||
<button name="action_skip" string="Skip" type="object" invisible="state in ('done', 'skipped')"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="upcoming,due,overdue,done"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" placeholder="e.g. Submit Annual ECA Report"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="event_type"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="due_date"/>
|
||||
<field name="owner_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="permit_id"/>
|
||||
<field name="regulator_id"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Notes"><field name="notes" nolabel="1"/></group>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_compliance_event_kanban" model="ir.ui.view">
|
||||
<field name="name">fp.compliance.event.kanban</field>
|
||||
<field name="model">fusion.plating.compliance.event</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_fp_event_kanban" default_group_by="state">
|
||||
<field name="id"/>
|
||||
<field name="name"/>
|
||||
<field name="event_type"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="due_date"/>
|
||||
<field name="owner_id"/>
|
||||
<field name="state"/>
|
||||
<templates>
|
||||
<t t-name="card">
|
||||
<div class="o_fp_card" t-att-data-state="record.state.raw_value">
|
||||
<div class="d-flex align-items-start justify-content-between">
|
||||
<div>
|
||||
<strong class="o_fp_card_title"><field name="name"/></strong>
|
||||
<div class="text-muted small"><field name="event_type"/></div>
|
||||
</div>
|
||||
<i class="fa fa-calendar text-muted" aria-hidden="true"/>
|
||||
</div>
|
||||
<div class="mt-2 small">Due: <field name="due_date"/></div>
|
||||
<div t-if="record.facility_id.value" class="mt-1 small">
|
||||
<field name="facility_id"/>
|
||||
</div>
|
||||
<div t-if="record.state.raw_value == 'overdue'" class="o_fp_overdue_indicator mt-2">
|
||||
Overdue
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_compliance_event_search" model="ir.ui.view">
|
||||
<field name="name">fp.compliance.event.search</field>
|
||||
<field name="model">fusion.plating.compliance.event</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Compliance Calendar">
|
||||
<field name="name"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="permit_id"/>
|
||||
<field name="owner_id"/>
|
||||
<filter string="Overdue" name="overdue" domain="[('state', '=', 'overdue')]"/>
|
||||
<filter string="Due" name="due" domain="[('state', '=', 'due')]"/>
|
||||
<filter string="Upcoming" name="upcoming" domain="[('state', '=', 'upcoming')]"/>
|
||||
<filter string="My Events" name="mine" domain="[('owner_id', '=', uid)]"/>
|
||||
<group>
|
||||
<filter string="Facility" name="group_facility" context="{'group_by': 'facility_id'}"/>
|
||||
<filter string="Type" name="group_type" context="{'group_by': 'event_type'}"/>
|
||||
<filter string="Status" name="group_state" context="{'group_by': 'state'}"/>
|
||||
<filter string="Owner" name="group_owner" context="{'group_by': 'owner_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_fp_compliance_event" model="ir.actions.act_window">
|
||||
<field name="name">Compliance Calendar</field>
|
||||
<field name="res_model">fusion.plating.compliance.event</field>
|
||||
<field name="view_mode">kanban,list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_compliance_event_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_discharge_limit_list" model="ir.ui.view">
|
||||
<field name="name">fp.discharge.limit.list</field>
|
||||
<field name="model">fusion.plating.discharge.limit</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Discharge Limits" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="parameter"/>
|
||||
<field name="jurisdiction_id"/>
|
||||
<field name="discharge_point"/>
|
||||
<field name="limit_type"/>
|
||||
<field name="min_value"/>
|
||||
<field name="limit_value"/>
|
||||
<field name="uom"/>
|
||||
<field name="regulation_ref"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_discharge_limit_form" model="ir.ui.view">
|
||||
<field name="name">fp.discharge.limit.form</field>
|
||||
<field name="model">fusion.plating.discharge.limit</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Discharge Limit">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" placeholder="e.g. Nickel (total)"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="parameter"/>
|
||||
<field name="jurisdiction_id"/>
|
||||
<field name="discharge_point"/>
|
||||
<field name="regulation_ref"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="limit_type"/>
|
||||
<field name="min_value" invisible="limit_type != 'range'"/>
|
||||
<field name="limit_value"/>
|
||||
<field name="uom"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</group>
|
||||
</group>
|
||||
<group><field name="reference_url" widget="url"/></group>
|
||||
<group string="Notes"><field name="notes" nolabel="1"/></group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_discharge_limit_search" model="ir.ui.view">
|
||||
<field name="name">fp.discharge.limit.search</field>
|
||||
<field name="model">fusion.plating.discharge.limit</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Discharge Limits">
|
||||
<field name="name"/>
|
||||
<field name="parameter"/>
|
||||
<field name="jurisdiction_id"/>
|
||||
<field name="regulation_ref"/>
|
||||
<filter string="Sanitary Sewer" name="sanitary" domain="[('discharge_point', '=', 'sanitary')]"/>
|
||||
<filter string="Storm Sewer" name="storm" domain="[('discharge_point', '=', 'storm')]"/>
|
||||
<filter string="Air Emission" name="air" domain="[('discharge_point', '=', 'air')]"/>
|
||||
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
|
||||
<group>
|
||||
<filter string="Jurisdiction" name="group_jurisdiction" context="{'group_by': 'jurisdiction_id'}"/>
|
||||
<filter string="Discharge Point" name="group_dp" context="{'group_by': 'discharge_point'}"/>
|
||||
<filter string="Parameter" name="group_param" context="{'group_by': 'parameter'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_fp_discharge_limit" model="ir.actions.act_window">
|
||||
<field name="name">Discharge Limits</field>
|
||||
<field name="res_model">fusion.plating.discharge.limit</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_discharge_limit_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_discharge_sample_list" model="ir.ui.view">
|
||||
<field name="name">fp.discharge.sample.list</field>
|
||||
<field name="model">fusion.plating.discharge.sample</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Discharge Samples" decoration-danger="worst_status == 'out_of_spec'" decoration-warning="worst_status == 'warning'">
|
||||
<field name="name"/>
|
||||
<field name="sample_date"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="sample_point"/>
|
||||
<field name="lab_id"/>
|
||||
<field name="state" widget="badge"/>
|
||||
<field name="worst_status" widget="badge"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_discharge_sample_form" model="ir.ui.view">
|
||||
<field name="name">fp.discharge.sample.form</field>
|
||||
<field name="model">fusion.plating.discharge.sample</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Discharge Sample">
|
||||
<header>
|
||||
<button name="action_send_to_lab" string="Send to Lab" type="object" invisible="state != 'draft'" class="oe_highlight"/>
|
||||
<button name="action_results_in" string="Results In" type="object" invisible="state != 'sent_to_lab'" class="oe_highlight"/>
|
||||
<button name="action_escalate" string="Escalate" type="object" invisible="state not in ('results_in',)"/>
|
||||
<button name="action_close" string="Close" type="object" invisible="state not in ('results_in', 'escalated')"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,sent_to_lab,results_in,closed"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" readonly="1"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="facility_id"/>
|
||||
<field name="sample_date"/>
|
||||
<field name="sample_point"/>
|
||||
<field name="collected_by_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="lab_id"/>
|
||||
<field name="chain_of_custody_ref"/>
|
||||
<field name="lab_report_ref"/>
|
||||
<field name="received_date"/>
|
||||
<field name="worst_status" readonly="1" widget="badge"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Parameters">
|
||||
<field name="line_ids">
|
||||
<list editable="bottom">
|
||||
<field name="limit_id"/>
|
||||
<field name="parameter"/>
|
||||
<field name="value"/>
|
||||
<field name="uom"/>
|
||||
<field name="status" widget="badge"/>
|
||||
<field name="notes"/>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Attachments"><field name="attachment_ids" widget="many2many_binary"/></page>
|
||||
<page string="Notes"><field name="notes"/></page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_discharge_sample_kanban" model="ir.ui.view">
|
||||
<field name="name">fp.discharge.sample.kanban</field>
|
||||
<field name="model">fusion.plating.discharge.sample</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_fp_discharge_kanban" default_group_by="state">
|
||||
<field name="id"/>
|
||||
<field name="name"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="sample_date"/>
|
||||
<field name="sample_point"/>
|
||||
<field name="worst_status"/>
|
||||
<field name="state"/>
|
||||
<templates>
|
||||
<t t-name="card">
|
||||
<div class="o_fp_discharge_card o_fp_card" t-att-data-status="record.worst_status.raw_value">
|
||||
<div class="d-flex align-items-start justify-content-between">
|
||||
<div>
|
||||
<strong class="o_fp_card_title"><field name="name"/></strong>
|
||||
<div class="text-muted small"><field name="sample_point"/></div>
|
||||
</div>
|
||||
<i class="fa fa-tint text-muted" aria-hidden="true"/>
|
||||
</div>
|
||||
<div class="mt-2 small"><field name="facility_id"/></div>
|
||||
<div class="mt-2 small"><field name="sample_date"/></div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_discharge_sample_search" model="ir.ui.view">
|
||||
<field name="name">fp.discharge.sample.search</field>
|
||||
<field name="model">fusion.plating.discharge.sample</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Discharge Samples">
|
||||
<field name="name"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="sample_point"/>
|
||||
<field name="lab_id"/>
|
||||
<filter string="Out of Spec" name="oos" domain="[('worst_status', '=', 'out_of_spec')]"/>
|
||||
<filter string="Warning" name="warn" domain="[('worst_status', '=', 'warning')]"/>
|
||||
<filter string="Open" name="open" domain="[('state', 'not in', ('closed',))]"/>
|
||||
<group>
|
||||
<filter string="Facility" name="group_facility" context="{'group_by': 'facility_id'}"/>
|
||||
<filter string="Status" name="group_state" context="{'group_by': 'state'}"/>
|
||||
<filter string="Sample Date" name="group_date" context="{'group_by': 'sample_date'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_fp_discharge_sample" model="ir.actions.act_window">
|
||||
<field name="name">Discharge Samples</field>
|
||||
<field name="res_model">fusion.plating.discharge.sample</field>
|
||||
<field name="view_mode">kanban,list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_discharge_sample_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_facility_form_compliance" model="ir.ui.view">
|
||||
<field name="name">fp.facility.form.compliance</field>
|
||||
<field name="model">fusion.plating.facility</field>
|
||||
<field name="inherit_id" ref="fusion_plating.view_fp_facility_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="%(action_fp_permit)d" type="action" class="oe_stat_button" icon="fa-file-text-o"
|
||||
context="{'search_default_facility_id': id}">
|
||||
<field name="permit_count" widget="statinfo" string="Permits"/>
|
||||
</button>
|
||||
<button name="%(action_fp_discharge_sample)d" type="action" class="oe_stat_button" icon="fa-tint"
|
||||
context="{'search_default_facility_id': id}">
|
||||
<field name="discharge_sample_count" widget="statinfo" string="Samples"/>
|
||||
</button>
|
||||
<button name="%(action_fp_compliance_event)d" type="action" class="oe_stat_button" icon="fa-calendar"
|
||||
context="{'search_default_facility_id': id}">
|
||||
<field name="compliance_event_count" widget="statinfo" string="Events"/>
|
||||
</button>
|
||||
<button name="%(action_fp_waste_stream)d" type="action" class="oe_stat_button" icon="fa-trash"
|
||||
context="{'search_default_facility_id': id}">
|
||||
<field name="waste_stream_count" widget="statinfo" string="Streams"/>
|
||||
</button>
|
||||
<button name="%(action_fp_spill_register)d" type="action" class="oe_stat_button" icon="fa-exclamation-triangle"
|
||||
context="{'search_default_facility_id': id}">
|
||||
<field name="spill_count" widget="statinfo" string="Spills"/>
|
||||
</button>
|
||||
</xpath>
|
||||
<xpath expr="//notebook" position="inside">
|
||||
<page string="Compliance">
|
||||
<group>
|
||||
<group string="Identifiers">
|
||||
<field name="x_fp_eca_number"/>
|
||||
<field name="x_fp_sewer_permit_number"/>
|
||||
<field name="x_fp_waste_generator_number"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Permits">
|
||||
<field name="permit_ids" nolabel="1">
|
||||
<list>
|
||||
<field name="name"/>
|
||||
<field name="permit_type"/>
|
||||
<field name="number"/>
|
||||
<field name="regulator_id"/>
|
||||
<field name="expiry_date"/>
|
||||
<field name="state"/>
|
||||
</list>
|
||||
</field>
|
||||
</group>
|
||||
<group string="Compliance Notes">
|
||||
<field name="x_fp_compliance_notes" nolabel="1"/>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_jurisdiction_list" model="ir.ui.view">
|
||||
<field name="name">fp.jurisdiction.list</field>
|
||||
<field name="model">fusion.plating.jurisdiction</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Jurisdictions">
|
||||
<field name="display_name"/>
|
||||
<field name="code"/>
|
||||
<field name="level"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_jurisdiction_form" model="ir.ui.view">
|
||||
<field name="name">fp.jurisdiction.form</field>
|
||||
<field name="model">fusion.plating.jurisdiction</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Jurisdiction">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" placeholder="e.g. Ontario"/></h1>
|
||||
<div class="text-muted"><field name="code" placeholder="CA-ON"/></div>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="level"/>
|
||||
<field name="parent_id"/>
|
||||
</group>
|
||||
<group><field name="active" widget="boolean_toggle"/></group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Children">
|
||||
<field name="child_ids">
|
||||
<list>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="level"/>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_jurisdiction_search" model="ir.ui.view">
|
||||
<field name="name">fp.jurisdiction.search</field>
|
||||
<field name="model">fusion.plating.jurisdiction</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Jurisdictions">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="parent_id"/>
|
||||
<filter string="Countries" name="country" domain="[('level', '=', 'country')]"/>
|
||||
<filter string="Provinces / States" name="province" domain="[('level', '=', 'province')]"/>
|
||||
<filter string="Municipalities" name="municipality" domain="[('level', '=', 'municipality')]"/>
|
||||
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
|
||||
<group>
|
||||
<filter string="Level" name="group_level" context="{'group_by': 'level'}"/>
|
||||
<filter string="Parent" name="group_parent" context="{'group_by': 'parent_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_fp_jurisdiction" model="ir.actions.act_window">
|
||||
<field name="name">Jurisdictions</field>
|
||||
<field name="res_model">fusion.plating.jurisdiction</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_jurisdiction_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
17
fusion_plating/fusion_plating_compliance/views/fp_menu.xml
Normal file
17
fusion_plating/fusion_plating_compliance/views/fp_menu.xml
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<menuitem id="menu_fp_compliance_root" name="Compliance" parent="fusion_plating.menu_fp_root" sequence="40"/>
|
||||
|
||||
<menuitem id="menu_fp_compliance_permit" name="Permits" parent="menu_fp_compliance_root" action="action_fp_permit" sequence="10"/>
|
||||
<menuitem id="menu_fp_compliance_discharge_sample" name="Discharge Samples" parent="menu_fp_compliance_root" action="action_fp_discharge_sample" sequence="20"/>
|
||||
<menuitem id="menu_fp_compliance_waste_manifest" name="Waste Manifests" parent="menu_fp_compliance_root" action="action_fp_waste_manifest" sequence="30"/>
|
||||
<menuitem id="menu_fp_compliance_calendar" name="Compliance Calendar" parent="menu_fp_compliance_root" action="action_fp_compliance_event" sequence="40"/>
|
||||
<menuitem id="menu_fp_compliance_spill_register" name="Spill Register" parent="menu_fp_compliance_root" action="action_fp_spill_register" sequence="50"/>
|
||||
|
||||
<menuitem id="menu_fp_compliance_config" name="Configuration" parent="menu_fp_compliance_root" sequence="100"/>
|
||||
<menuitem id="menu_fp_compliance_jurisdiction" name="Jurisdictions" parent="menu_fp_compliance_config" action="action_fp_jurisdiction" sequence="10"/>
|
||||
<menuitem id="menu_fp_compliance_regulator" name="Regulators" parent="menu_fp_compliance_config" action="action_fp_regulator" sequence="20"/>
|
||||
<menuitem id="menu_fp_compliance_discharge_limit" name="Discharge Limits" parent="menu_fp_compliance_config" action="action_fp_discharge_limit" sequence="30"/>
|
||||
<menuitem id="menu_fp_compliance_waste_stream" name="Waste Streams" parent="menu_fp_compliance_config" action="action_fp_waste_stream" sequence="40"/>
|
||||
<menuitem id="menu_fp_compliance_pollutant_inventory" name="Pollutant Inventory" parent="menu_fp_compliance_config" action="action_fp_pollutant_inventory" sequence="50"/>
|
||||
</odoo>
|
||||
@@ -0,0 +1,151 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_permit_list" model="ir.ui.view">
|
||||
<field name="name">fp.permit.list</field>
|
||||
<field name="model">fusion.plating.permit</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Permits" decoration-warning="is_expiring_soon" decoration-danger="state == 'expired'">
|
||||
<field name="name"/>
|
||||
<field name="permit_type"/>
|
||||
<field name="number"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="regulator_id"/>
|
||||
<field name="issue_date"/>
|
||||
<field name="expiry_date"/>
|
||||
<field name="days_until_expiry"/>
|
||||
<field name="state" widget="badge"/>
|
||||
<field name="is_expiring_soon" column_invisible="1"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_permit_form" model="ir.ui.view">
|
||||
<field name="name">fp.permit.form</field>
|
||||
<field name="model">fusion.plating.permit</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Permit">
|
||||
<header>
|
||||
<button name="action_set_pending" string="Set Pending" type="object" invisible="state != 'draft'" class="oe_highlight"/>
|
||||
<button name="action_activate" string="Activate" type="object" invisible="state not in ('draft', 'pending')" class="oe_highlight"/>
|
||||
<button name="action_mark_expired" string="Mark Expired" type="object" invisible="state != 'active'"/>
|
||||
<button name="action_revoke" string="Revoke" type="object" invisible="state in ('draft', 'revoked')"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,pending,active,expired"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" placeholder="e.g. ECA #1234-ABCDEF"/></h1>
|
||||
<div class="text-muted"><field name="number" placeholder="Permit Number"/></div>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="permit_type"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="regulator_id"/>
|
||||
<field name="jurisdiction_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="issue_date"/>
|
||||
<field name="expiry_date"/>
|
||||
<field name="renewal_reminder_days"/>
|
||||
<field name="days_until_expiry" readonly="1"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Conditions">
|
||||
<field name="condition_ids">
|
||||
<list editable="bottom">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="frequency"/>
|
||||
<field name="next_due_date"/>
|
||||
<field name="owner_id"/>
|
||||
<field name="status" widget="badge"/>
|
||||
</list>
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="frequency"/>
|
||||
<field name="next_due_date"/>
|
||||
<field name="owner_id"/>
|
||||
<field name="status"/>
|
||||
</group>
|
||||
<group string="Description"><field name="description" nolabel="1"/></group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Attachments"><field name="attachment_ids" widget="many2many_binary"/></page>
|
||||
<page string="Notes"><field name="notes"/></page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_permit_kanban" model="ir.ui.view">
|
||||
<field name="name">fp.permit.kanban</field>
|
||||
<field name="model">fusion.plating.permit</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_fp_permit_kanban" default_group_by="state">
|
||||
<field name="id"/>
|
||||
<field name="name"/>
|
||||
<field name="number"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="expiry_date"/>
|
||||
<field name="days_until_expiry"/>
|
||||
<field name="state"/>
|
||||
<field name="is_expiring_soon"/>
|
||||
<templates>
|
||||
<t t-name="card">
|
||||
<div class="o_fp_permit_card o_fp_card" t-att-data-state="record.state.raw_value">
|
||||
<div class="d-flex align-items-start justify-content-between">
|
||||
<div>
|
||||
<strong class="o_fp_card_title"><field name="name"/></strong>
|
||||
<div class="text-muted small"><field name="number"/></div>
|
||||
</div>
|
||||
<i class="fa fa-file-text-o text-muted" aria-hidden="true"/>
|
||||
</div>
|
||||
<div class="mt-2 small"><field name="facility_id"/></div>
|
||||
<div class="mt-2 small">Expires: <field name="expiry_date"/></div>
|
||||
<div t-if="record.is_expiring_soon.raw_value" class="o_fp_overdue_indicator mt-2">
|
||||
Renewal due in <field name="days_until_expiry"/> days
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_permit_search" model="ir.ui.view">
|
||||
<field name="name">fp.permit.search</field>
|
||||
<field name="model">fusion.plating.permit</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Permits">
|
||||
<field name="name"/>
|
||||
<field name="number"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="regulator_id"/>
|
||||
<filter string="Active" name="active" domain="[('state', '=', 'active')]"/>
|
||||
<filter string="Pending" name="pending" domain="[('state', '=', 'pending')]"/>
|
||||
<filter string="Expiring Soon" name="expiring" domain="[('is_expiring_soon', '=', True)]"/>
|
||||
<filter string="Expired" name="expired" domain="[('state', '=', 'expired')]"/>
|
||||
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
|
||||
<group>
|
||||
<filter string="Facility" name="group_facility" context="{'group_by': 'facility_id'}"/>
|
||||
<filter string="Type" name="group_type" context="{'group_by': 'permit_type'}"/>
|
||||
<filter string="Regulator" name="group_regulator" context="{'group_by': 'regulator_id'}"/>
|
||||
<filter string="Status" name="group_state" context="{'group_by': 'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_fp_permit" model="ir.actions.act_window">
|
||||
<field name="name">Permits</field>
|
||||
<field name="res_model">fusion.plating.permit</field>
|
||||
<field name="view_mode">kanban,list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_permit_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_pollutant_inventory_list" model="ir.ui.view">
|
||||
<field name="name">fp.pollutant.inventory.list</field>
|
||||
<field name="model">fusion.plating.pollutant.inventory</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Pollutant Inventory" decoration-warning="threshold_exceeded">
|
||||
<field name="year"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="substance"/>
|
||||
<field name="cas_number"/>
|
||||
<field name="manufactured_kg" sum="Manufactured"/>
|
||||
<field name="processed_kg" sum="Processed"/>
|
||||
<field name="used_kg" sum="Used"/>
|
||||
<field name="released_kg" sum="Released"/>
|
||||
<field name="transferred_kg" sum="Transferred"/>
|
||||
<field name="threshold_exceeded" widget="boolean_toggle" readonly="1"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_pollutant_inventory_form" model="ir.ui.view">
|
||||
<field name="name">fp.pollutant.inventory.form</field>
|
||||
<field name="model">fusion.plating.pollutant.inventory</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Pollutant Inventory Entry">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="substance"/>
|
||||
<h1><field name="substance" placeholder="e.g. Nickel and its compounds"/></h1>
|
||||
<div class="text-muted"><field name="cas_number" placeholder="CAS Number"/></div>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="year"/>
|
||||
<field name="facility_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="threshold_kg"/>
|
||||
<field name="threshold_exceeded" readonly="1" widget="boolean_toggle"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Quantities (kg/year)">
|
||||
<group>
|
||||
<field name="manufactured_kg"/>
|
||||
<field name="processed_kg"/>
|
||||
<field name="used_kg"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="released_kg"/>
|
||||
<field name="transferred_kg"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Notes"><field name="notes" nolabel="1"/></group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_pollutant_inventory_search" model="ir.ui.view">
|
||||
<field name="name">fp.pollutant.inventory.search</field>
|
||||
<field name="model">fusion.plating.pollutant.inventory</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Pollutant Inventory">
|
||||
<field name="substance"/>
|
||||
<field name="cas_number"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="year"/>
|
||||
<filter string="Threshold Exceeded" name="exceeded" domain="[('threshold_exceeded', '=', True)]"/>
|
||||
<group>
|
||||
<filter string="Year" name="group_year" context="{'group_by': 'year'}"/>
|
||||
<filter string="Facility" name="group_facility" context="{'group_by': 'facility_id'}"/>
|
||||
<filter string="Substance" name="group_substance" context="{'group_by': 'substance'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_fp_pollutant_inventory" model="ir.actions.act_window">
|
||||
<field name="name">Pollutant Inventory</field>
|
||||
<field name="res_model">fusion.plating.pollutant.inventory</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_pollutant_inventory_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_regulator_list" model="ir.ui.view">
|
||||
<field name="name">fp.regulator.list</field>
|
||||
<field name="model">fusion.plating.regulator</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Regulators">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="jurisdiction_id"/>
|
||||
<field name="category"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_regulator_form" model="ir.ui.view">
|
||||
<field name="name">fp.regulator.form</field>
|
||||
<field name="model">fusion.plating.regulator</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Regulator">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" placeholder="e.g. Ministry of Environment"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="jurisdiction_id"/>
|
||||
<field name="category"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="website" widget="url"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Contact"><field name="contact_info" nolabel="1"/></group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_regulator_search" model="ir.ui.view">
|
||||
<field name="name">fp.regulator.search</field>
|
||||
<field name="model">fusion.plating.regulator</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Regulators">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="jurisdiction_id"/>
|
||||
<filter string="Environmental" name="environmental" domain="[('category', '=', 'environmental')]"/>
|
||||
<filter string="Water" name="water" domain="[('category', '=', 'water')]"/>
|
||||
<filter string="Waste" name="waste" domain="[('category', '=', 'waste')]"/>
|
||||
<filter string="Health and Safety" name="hs" domain="[('category', '=', 'health_safety')]"/>
|
||||
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
|
||||
<group>
|
||||
<filter string="Jurisdiction" name="group_jurisdiction" context="{'group_by': 'jurisdiction_id'}"/>
|
||||
<filter string="Category" name="group_category" context="{'group_by': 'category'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_fp_regulator" model="ir.actions.act_window">
|
||||
<field name="name">Regulators</field>
|
||||
<field name="res_model">fusion.plating.regulator</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_regulator_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_spill_register_list" model="ir.ui.view">
|
||||
<field name="name">fp.spill.register.list</field>
|
||||
<field name="model">fusion.plating.spill.register</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Spill Register">
|
||||
<field name="name"/>
|
||||
<field name="spill_date"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="substance"/>
|
||||
<field name="quantity"/>
|
||||
<field name="uom"/>
|
||||
<field name="regulator_notified" widget="boolean_toggle"/>
|
||||
<field name="state" widget="badge"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_spill_register_form" model="ir.ui.view">
|
||||
<field name="name">fp.spill.register.form</field>
|
||||
<field name="model">fusion.plating.spill.register</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Spill Register">
|
||||
<header>
|
||||
<button name="action_contain" string="Contained" type="object" invisible="state != 'reported'" class="oe_highlight"/>
|
||||
<button name="action_investigate" string="Investigate" type="object" invisible="state not in ('contained',)"/>
|
||||
<button name="action_close" string="Close" type="object" invisible="state in ('reported', 'closed')"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="reported,contained,investigation,closed"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" readonly="1"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="facility_id"/>
|
||||
<field name="spill_date"/>
|
||||
<field name="reported_by_id"/>
|
||||
<field name="location"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="substance"/>
|
||||
<field name="quantity"/>
|
||||
<field name="uom"/>
|
||||
<field name="capa_ref"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Regulator Notification">
|
||||
<field name="regulator_notified"/>
|
||||
<field name="regulator_notification_date" invisible="not regulator_notified"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Containment"><field name="containment_action" nolabel="1"/></page>
|
||||
<page string="Root Cause"><field name="root_cause" nolabel="1"/></page>
|
||||
<page string="Corrective Action"><field name="corrective_action" nolabel="1"/></page>
|
||||
<page string="Attachments"><field name="attachment_ids" widget="many2many_binary"/></page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_spill_register_search" model="ir.ui.view">
|
||||
<field name="name">fp.spill.register.search</field>
|
||||
<field name="model">fusion.plating.spill.register</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Spill Register">
|
||||
<field name="name"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="substance"/>
|
||||
<filter string="Open" name="open" domain="[('state', '!=', 'closed')]"/>
|
||||
<filter string="Regulator Notified" name="notified" domain="[('regulator_notified', '=', True)]"/>
|
||||
<group>
|
||||
<filter string="Facility" name="group_facility" context="{'group_by': 'facility_id'}"/>
|
||||
<filter string="Status" name="group_state" context="{'group_by': 'state'}"/>
|
||||
<filter string="Substance" name="group_substance" context="{'group_by': 'substance'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_fp_spill_register" model="ir.actions.act_window">
|
||||
<field name="name">Spill Register</field>
|
||||
<field name="res_model">fusion.plating.spill.register</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_spill_register_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,89 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_waste_manifest_list" model="ir.ui.view">
|
||||
<field name="name">fp.waste.manifest.list</field>
|
||||
<field name="model">fusion.plating.waste.manifest</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Waste Manifests">
|
||||
<field name="name"/>
|
||||
<field name="ship_date"/>
|
||||
<field name="waste_stream_id"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="quantity"/>
|
||||
<field name="uom"/>
|
||||
<field name="carrier_id"/>
|
||||
<field name="receiver_id"/>
|
||||
<field name="manifest_number"/>
|
||||
<field name="state" widget="badge"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_waste_manifest_form" model="ir.ui.view">
|
||||
<field name="name">fp.waste.manifest.form</field>
|
||||
<field name="model">fusion.plating.waste.manifest</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Waste Manifest">
|
||||
<header>
|
||||
<button name="action_ship" string="Ship" type="object" invisible="state != 'draft'" class="oe_highlight"/>
|
||||
<button name="action_receive" string="Mark Received" type="object" invisible="state != 'shipped'" class="oe_highlight"/>
|
||||
<button name="action_close" string="Close" type="object" invisible="state != 'received'"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,shipped,received,closed"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" readonly="1"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="waste_stream_id"/>
|
||||
<field name="facility_id" readonly="1"/>
|
||||
<field name="ship_date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="quantity"/>
|
||||
<field name="uom"/>
|
||||
<field name="manifest_number"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Carrier and Receiver">
|
||||
<field name="carrier_id"/>
|
||||
<field name="receiver_id"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Attachments"><field name="attachment_ids" widget="many2many_binary"/></page>
|
||||
<page string="Notes"><field name="notes"/></page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_waste_manifest_search" model="ir.ui.view">
|
||||
<field name="name">fp.waste.manifest.search</field>
|
||||
<field name="model">fusion.plating.waste.manifest</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Waste Manifests">
|
||||
<field name="name"/>
|
||||
<field name="manifest_number"/>
|
||||
<field name="waste_stream_id"/>
|
||||
<field name="carrier_id"/>
|
||||
<field name="receiver_id"/>
|
||||
<filter string="Draft" name="draft" domain="[('state', '=', 'draft')]"/>
|
||||
<filter string="Shipped" name="shipped" domain="[('state', '=', 'shipped')]"/>
|
||||
<filter string="Received" name="received" domain="[('state', '=', 'received')]"/>
|
||||
<group>
|
||||
<filter string="Facility" name="group_facility" context="{'group_by': 'facility_id'}"/>
|
||||
<filter string="Waste Stream" name="group_stream" context="{'group_by': 'waste_stream_id'}"/>
|
||||
<filter string="Status" name="group_state" context="{'group_by': 'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_fp_waste_manifest" model="ir.actions.act_window">
|
||||
<field name="name">Waste Manifests</field>
|
||||
<field name="res_model">fusion.plating.waste.manifest</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_waste_manifest_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_fp_waste_stream_list" model="ir.ui.view">
|
||||
<field name="name">fp.waste.stream.list</field>
|
||||
<field name="model">fusion.plating.waste.stream</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Waste Streams">
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="waste_class"/>
|
||||
<field name="physical_state"/>
|
||||
<field name="approved_carrier_id"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_waste_stream_form" model="ir.ui.view">
|
||||
<field name="name">fp.waste.stream.form</field>
|
||||
<field name="model">fusion.plating.waste.stream</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Waste Stream">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" placeholder="e.g. Spent nickel bath"/></h1>
|
||||
<div class="text-muted"><field name="code" placeholder="WS-001"/></div>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="facility_id"/>
|
||||
<field name="waste_class"/>
|
||||
<field name="physical_state"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="generation_rate"/>
|
||||
<field name="generation_uom"/>
|
||||
<field name="disposal_method"/>
|
||||
<field name="active" widget="boolean_toggle"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Approved Vendors">
|
||||
<field name="approved_carrier_id"/>
|
||||
<field name="approved_facility_id"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Description"><field name="description" nolabel="1"/></page>
|
||||
<page string="Manifests">
|
||||
<field name="manifest_ids">
|
||||
<list>
|
||||
<field name="name"/>
|
||||
<field name="ship_date"/>
|
||||
<field name="quantity"/>
|
||||
<field name="uom"/>
|
||||
<field name="manifest_number"/>
|
||||
<field name="state"/>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_fp_waste_stream_search" model="ir.ui.view">
|
||||
<field name="name">fp.waste.stream.search</field>
|
||||
<field name="model">fusion.plating.waste.stream</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Waste Streams">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="waste_class"/>
|
||||
<filter string="Liquid" name="liquid" domain="[('physical_state', '=', 'liquid')]"/>
|
||||
<filter string="Sludge" name="sludge" domain="[('physical_state', '=', 'sludge')]"/>
|
||||
<filter string="Solid" name="solid" domain="[('physical_state', '=', 'solid')]"/>
|
||||
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
|
||||
<group>
|
||||
<filter string="Facility" name="group_facility" context="{'group_by': 'facility_id'}"/>
|
||||
<filter string="Physical State" name="group_state" context="{'group_by': 'physical_state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_fp_waste_stream" model="ir.actions.act_window">
|
||||
<field name="name">Waste Streams</field>
|
||||
<field name="res_model">fusion.plating.waste.stream</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_waste_stream_search"/>
|
||||
</record>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user