folder rename
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
<?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>
|
||||
|
||||
<record id="view_fp_10cfr21_report_list" model="ir.ui.view">
|
||||
<field name="name">fp.10cfr21.report.list</field>
|
||||
<field name="model">fusion.plating.10cfr21.report</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="10 CFR Part 21 Reports"
|
||||
decoration-danger="days_since_discovery >= 45 and state in ('discovery','evaluation')"
|
||||
decoration-warning="days_since_discovery >= 30 and days_since_discovery < 45 and state in ('discovery','evaluation')"
|
||||
decoration-muted="state in ('closed','not_reportable')">
|
||||
<field name="name"/>
|
||||
<field name="discovery_date"/>
|
||||
<field name="days_since_discovery"/>
|
||||
<field name="ncr_id"/>
|
||||
<field name="reportable" widget="boolean_toggle"/>
|
||||
<field name="report_date"/>
|
||||
<field name="state" widget="badge"
|
||||
decoration-info="state == 'evaluation'"
|
||||
decoration-warning="state == 'reportable'"
|
||||
decoration-success="state == 'reported'"
|
||||
decoration-muted="state in ('closed','not_reportable')"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_10cfr21_report_form" model="ir.ui.view">
|
||||
<field name="name">fp.10cfr21.report.form</field>
|
||||
<field name="model">fusion.plating.10cfr21.report</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="10 CFR Part 21 Report">
|
||||
<header>
|
||||
<button name="action_start_evaluation" string="Start Evaluation" type="object"
|
||||
class="oe_highlight" invisible="state != 'discovery'"/>
|
||||
<button name="action_mark_reportable" string="Mark Reportable" type="object"
|
||||
class="oe_highlight" invisible="state != 'evaluation'"/>
|
||||
<button name="action_mark_not_reportable" string="Mark Not Reportable" type="object"
|
||||
invisible="state != 'evaluation'"/>
|
||||
<button name="action_file_report" string="File Report" type="object"
|
||||
class="oe_highlight" invisible="state != 'reportable'"/>
|
||||
<button name="action_close" string="Close" type="object"
|
||||
invisible="state not in ('reported','not_reportable')"/>
|
||||
<button name="action_reset_to_discovery" string="Reset" type="object"
|
||||
invisible="state == 'discovery'"/>
|
||||
<field name="state" widget="statusbar"
|
||||
statusbar_visible="discovery,evaluation,reportable,reported,closed"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" readonly="1"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="discovery_date"/>
|
||||
<field name="days_since_discovery"/>
|
||||
<field name="report_date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="ncr_id"/>
|
||||
<field name="reportable"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Part / Component">
|
||||
<field name="part_description"/>
|
||||
</page>
|
||||
<page string="Defect Description">
|
||||
<field name="defect_description"/>
|
||||
</page>
|
||||
<page string="Affected Customers">
|
||||
<field name="customer_ids" widget="many2many_tags"/>
|
||||
</page>
|
||||
<page string="Corrective Action">
|
||||
<field name="corrective_action"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_10cfr21_report_search" model="ir.ui.view">
|
||||
<field name="name">fp.10cfr21.report.search</field>
|
||||
<field name="model">fusion.plating.10cfr21.report</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="10 CFR 21 Reports">
|
||||
<field name="name"/>
|
||||
<field name="ncr_id"/>
|
||||
<separator/>
|
||||
<filter string="Open Evaluation" name="open_eval"
|
||||
domain="[('state','in',['discovery','evaluation'])]"/>
|
||||
<filter string="Reportable" name="reportable_f"
|
||||
domain="[('state','in',['reportable','reported'])]"/>
|
||||
<filter string="Not Reportable" name="not_reportable_f"
|
||||
domain="[('state','=','not_reportable')]"/>
|
||||
<filter string="Overdue (>= 45 days)" name="overdue"
|
||||
domain="[('days_since_discovery','>=',45),('state','in',['discovery','evaluation'])]"/>
|
||||
<separator/>
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<group>
|
||||
<filter string="Status" name="group_state" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fp_10cfr21_report" model="ir.actions.act_window">
|
||||
<field name="name">10 CFR Part 21 Reports</field>
|
||||
<field name="res_model">fusion.plating.10cfr21.report</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_10cfr21_report_search"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,96 @@
|
||||
<?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>
|
||||
|
||||
<record id="view_fp_cnsc_licence_list" model="ir.ui.view">
|
||||
<field name="name">fp.cnsc.licence.list</field>
|
||||
<field name="model">fusion.plating.cnsc.licence</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="CNSC Licences"
|
||||
decoration-danger="state == 'expired'"
|
||||
decoration-warning="state == 'expiring'"
|
||||
decoration-muted="state == 'revoked'">
|
||||
<field name="licence_number"/>
|
||||
<field name="name"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="licence_type"/>
|
||||
<field name="issue_date"/>
|
||||
<field name="expiry_date"/>
|
||||
<field name="state" widget="badge"
|
||||
decoration-success="state == 'active'"
|
||||
decoration-warning="state == 'expiring'"
|
||||
decoration-danger="state == 'expired'"
|
||||
decoration-muted="state == 'revoked'"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_cnsc_licence_form" model="ir.ui.view">
|
||||
<field name="name">fp.cnsc.licence.form</field>
|
||||
<field name="model">fusion.plating.cnsc.licence</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="CNSC Licence">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="licence_number"/>
|
||||
<field name="licence_type"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="state"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="issue_date"/>
|
||||
<field name="expiry_date"/>
|
||||
<field name="attachment_id"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Licence Conditions">
|
||||
<field name="conditions"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_cnsc_licence_search" model="ir.ui.view">
|
||||
<field name="name">fp.cnsc.licence.search</field>
|
||||
<field name="model">fusion.plating.cnsc.licence</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="CNSC Licences">
|
||||
<field name="licence_number"/>
|
||||
<field name="name"/>
|
||||
<field name="facility_id"/>
|
||||
<separator/>
|
||||
<filter string="Active" name="active_f" domain="[('state','=','active')]"/>
|
||||
<filter string="Expiring" name="expiring" domain="[('state','=','expiring')]"/>
|
||||
<filter string="Expired" name="expired" domain="[('state','=','expired')]"/>
|
||||
<separator/>
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<group>
|
||||
<filter string="Type" name="group_type" context="{'group_by':'licence_type'}"/>
|
||||
<filter string="Facility" name="group_facility" context="{'group_by':'facility_id'}"/>
|
||||
<filter string="Status" name="group_state" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fp_cnsc_licence" model="ir.actions.act_window">
|
||||
<field name="name">CNSC Licences</field>
|
||||
<field name="res_model">fusion.plating.cnsc.licence</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_cnsc_licence_search"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,64 @@
|
||||
<?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>
|
||||
|
||||
<!-- Inherit the quality customer-spec form to surface nuclear fields. -->
|
||||
<record id="view_fp_customer_spec_form_nuclear" model="ir.ui.view">
|
||||
<field name="name">fp.customer.spec.form.nuclear</field>
|
||||
<field name="model">fusion.plating.customer.spec</field>
|
||||
<field name="inherit_id" ref="fusion_plating_quality.view_fp_customer_spec_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//notebook" position="inside">
|
||||
<page string="Nuclear">
|
||||
<group>
|
||||
<group>
|
||||
<field name="x_fc_is_nuclear"/>
|
||||
<field name="x_fc_n299_level_id"
|
||||
invisible="not x_fc_is_nuclear"/>
|
||||
<field name="x_fc_nuclear_customer_type"
|
||||
invisible="not x_fc_is_nuclear"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="x_fc_nqa1_applicable"
|
||||
invisible="not x_fc_is_nuclear"/>
|
||||
<field name="x_fc_extended_retention_years"
|
||||
invisible="not x_fc_is_nuclear"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Inherit the quality customer-spec list to show the nuclear flag. -->
|
||||
<record id="view_fp_customer_spec_list_nuclear" model="ir.ui.view">
|
||||
<field name="name">fp.customer.spec.list.nuclear</field>
|
||||
<field name="model">fusion.plating.customer.spec</field>
|
||||
<field name="inherit_id" ref="fusion_plating_quality.view_fp_customer_spec_list"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='spec_type']" position="after">
|
||||
<field name="x_fc_is_nuclear" optional="show" string="Nuclear"/>
|
||||
<field name="x_fc_n299_level_id" optional="hide"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Inherit the quality customer-spec search to add nuclear filters. -->
|
||||
<record id="view_fp_customer_spec_search_nuclear" model="ir.ui.view">
|
||||
<field name="name">fp.customer.spec.search.nuclear</field>
|
||||
<field name="model">fusion.plating.customer.spec</field>
|
||||
<field name="inherit_id" ref="fusion_plating_quality.view_fp_customer_spec_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='internal']" position="after">
|
||||
<separator/>
|
||||
<filter string="Nuclear" name="nuclear" domain="[('x_fc_is_nuclear','=',True)]"/>
|
||||
<filter string="NQA-1" name="nqa1" domain="[('x_fc_nqa1_applicable','=',True)]"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
53
fusion_plating/fusion_plating_nuclear/views/fp_menu.xml
Normal file
53
fusion_plating/fusion_plating_nuclear/views/fp_menu.xml
Normal file
@@ -0,0 +1,53 @@
|
||||
<?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>
|
||||
|
||||
<!-- ===== NUCLEAR (top-level submenu under the Plating app) ===== -->
|
||||
<menuitem id="menu_fp_nuclear"
|
||||
name="Nuclear"
|
||||
parent="fusion_plating.menu_fp_root"
|
||||
sequence="65"
|
||||
groups="fusion_plating.group_fusion_plating_operator"/>
|
||||
|
||||
<menuitem id="menu_fp_nuclear_program"
|
||||
name="N299 Programs"
|
||||
parent="menu_fp_nuclear"
|
||||
action="action_fp_nuclear_program"
|
||||
sequence="10"/>
|
||||
|
||||
<menuitem id="menu_fp_nuclear_itp"
|
||||
name="Inspection & Test Plans"
|
||||
parent="menu_fp_nuclear"
|
||||
action="action_fp_nuclear_itp"
|
||||
sequence="20"/>
|
||||
|
||||
<menuitem id="menu_fp_nuclear_10cfr21"
|
||||
name="10 CFR 21 Reports"
|
||||
parent="menu_fp_nuclear"
|
||||
action="action_fp_10cfr21_report"
|
||||
sequence="30"/>
|
||||
|
||||
<menuitem id="menu_fp_nuclear_pedigree"
|
||||
name="Pedigree Records"
|
||||
parent="menu_fp_nuclear"
|
||||
action="action_fp_nuclear_pedigree"
|
||||
sequence="40"/>
|
||||
|
||||
<menuitem id="menu_fp_nuclear_cnsc_licence"
|
||||
name="CNSC Licences"
|
||||
parent="menu_fp_nuclear"
|
||||
action="action_fp_cnsc_licence"
|
||||
sequence="50"/>
|
||||
|
||||
<!-- ===== CONFIGURATION ENTRIES (under the existing Configuration submenu) ===== -->
|
||||
<menuitem id="menu_fp_config_n299_level"
|
||||
name="N299 Levels"
|
||||
parent="fusion_plating.menu_fp_config"
|
||||
action="action_fp_n299_level"
|
||||
sequence="200"/>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,79 @@
|
||||
<?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>
|
||||
|
||||
<record id="view_fp_n299_level_list" model="ir.ui.view">
|
||||
<field name="name">fp.n299.level.list</field>
|
||||
<field name="model">fusion.plating.n299.level</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="CSA N299 Levels" default_order="level_number">
|
||||
<field name="level_number"/>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="safety_classification" widget="badge"
|
||||
decoration-danger="safety_classification == 'safety_critical'"
|
||||
decoration-warning="safety_classification == 'safety_related'"
|
||||
decoration-info="safety_classification == 'important_to_safety'"
|
||||
decoration-muted="safety_classification == 'commercial_grade'"/>
|
||||
<field name="retention_years"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_n299_level_form" model="ir.ui.view">
|
||||
<field name="name">fp.n299.level.form</field>
|
||||
<field name="model">fusion.plating.n299.level</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="CSA N299 Level">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="level_number"/>
|
||||
<field name="safety_classification"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="retention_years"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Description">
|
||||
<field name="description" nolabel="1"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_n299_level_search" model="ir.ui.view">
|
||||
<field name="name">fp.n299.level.search</field>
|
||||
<field name="model">fusion.plating.n299.level</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="CSA N299 Levels">
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<group>
|
||||
<filter string="Safety Classification" name="group_safety"
|
||||
context="{'group_by':'safety_classification'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fp_n299_level" model="ir.actions.act_window">
|
||||
<field name="name">CSA N299 Levels</field>
|
||||
<field name="res_model">fusion.plating.n299.level</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_n299_level_search"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
71
fusion_plating/fusion_plating_nuclear/views/fp_ncr_views.xml
Normal file
71
fusion_plating/fusion_plating_nuclear/views/fp_ncr_views.xml
Normal file
@@ -0,0 +1,71 @@
|
||||
<?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>
|
||||
|
||||
<!-- Inherit the quality NCR form to surface nuclear fields and the 10 CFR 21 button. -->
|
||||
<record id="view_fp_ncr_form_nuclear" model="ir.ui.view">
|
||||
<field name="name">fp.ncr.form.nuclear</field>
|
||||
<field name="model">fusion.plating.ncr</field>
|
||||
<field name="inherit_id" ref="fusion_plating_quality.view_fp_ncr_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//header" position="inside">
|
||||
<button name="action_open_cfr21_report"
|
||||
string="10 CFR 21 Evaluation"
|
||||
type="object"
|
||||
invisible="not x_fc_is_nuclear"/>
|
||||
</xpath>
|
||||
<xpath expr="//notebook" position="inside">
|
||||
<page string="Nuclear">
|
||||
<group>
|
||||
<group>
|
||||
<field name="x_fc_is_nuclear"/>
|
||||
<field name="x_fc_n299_level_id"
|
||||
invisible="not x_fc_is_nuclear"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="x_fc_cfr21_evaluated"
|
||||
invisible="not x_fc_is_nuclear"/>
|
||||
<field name="x_fc_cfr21_report_id"
|
||||
invisible="not x_fc_is_nuclear"
|
||||
readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Inherit the quality NCR list to surface the nuclear flag. -->
|
||||
<record id="view_fp_ncr_list_nuclear" model="ir.ui.view">
|
||||
<field name="name">fp.ncr.list.nuclear</field>
|
||||
<field name="model">fusion.plating.ncr</field>
|
||||
<field name="inherit_id" ref="fusion_plating_quality.view_fp_ncr_list"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='severity']" position="after">
|
||||
<field name="x_fc_is_nuclear" optional="show" string="Nuclear"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Inherit the quality NCR search to add nuclear filters. -->
|
||||
<record id="view_fp_ncr_search_nuclear" model="ir.ui.view">
|
||||
<field name="name">fp.ncr.search.nuclear</field>
|
||||
<field name="model">fusion.plating.ncr</field>
|
||||
<field name="inherit_id" ref="fusion_plating_quality.view_fp_ncr_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='customer_src']" position="after">
|
||||
<separator/>
|
||||
<filter string="Nuclear" name="nuclear_ncr"
|
||||
domain="[('x_fc_is_nuclear','=',True)]"/>
|
||||
<filter string="10 CFR 21 Pending"
|
||||
name="cfr21_pending"
|
||||
domain="[('x_fc_is_nuclear','=',True),('x_fc_cfr21_evaluated','=',False)]"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,118 @@
|
||||
<?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>
|
||||
|
||||
<record id="view_fp_nuclear_itp_list" model="ir.ui.view">
|
||||
<field name="name">fp.nuclear.itp.list</field>
|
||||
<field name="model">fusion.plating.nuclear.itp</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Nuclear Inspection and Test Plans"
|
||||
decoration-muted="state == 'superseded'"
|
||||
decoration-success="state == 'in_use'"
|
||||
decoration-info="state == 'approved'">
|
||||
<field name="name"/>
|
||||
<field name="customer_id"/>
|
||||
<field name="part_number"/>
|
||||
<field name="drawing_ref"/>
|
||||
<field name="n299_level_id"/>
|
||||
<field name="customer_approval_date"/>
|
||||
<field name="state" widget="badge"
|
||||
decoration-info="state == 'customer_review'"
|
||||
decoration-success="state in ('approved','in_use')"
|
||||
decoration-muted="state == 'superseded'"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_nuclear_itp_form" model="ir.ui.view">
|
||||
<field name="name">fp.nuclear.itp.form</field>
|
||||
<field name="model">fusion.plating.nuclear.itp</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Inspection and Test Plan">
|
||||
<header>
|
||||
<button name="action_submit_for_review" string="Submit for Review" type="object"
|
||||
class="oe_highlight" invisible="state != 'draft'"/>
|
||||
<button name="action_approve" string="Mark Approved" type="object"
|
||||
class="oe_highlight" invisible="state != 'customer_review'"/>
|
||||
<button name="action_put_in_use" string="Put in Use" type="object"
|
||||
invisible="state != 'approved'"/>
|
||||
<button name="action_supersede" string="Supersede" type="object"
|
||||
invisible="state not in ('approved','in_use')"/>
|
||||
<button name="action_reset_to_draft" string="Reset to Draft" type="object"
|
||||
invisible="state == 'draft'"/>
|
||||
<field name="state" widget="statusbar"
|
||||
statusbar_visible="draft,customer_review,approved,in_use,superseded"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name" readonly="1"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="customer_id"/>
|
||||
<field name="part_number"/>
|
||||
<field name="drawing_ref"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="n299_level_id"/>
|
||||
<field name="customer_approval_date"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Hold / Witness / Review Points">
|
||||
<field name="hold_points"/>
|
||||
</page>
|
||||
<page string="Test Methods">
|
||||
<field name="test_methods"/>
|
||||
</page>
|
||||
<page string="Acceptance Criteria">
|
||||
<field name="acceptance_criteria"/>
|
||||
</page>
|
||||
<page string="Documents">
|
||||
<field name="document_ids" widget="many2many_binary"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_nuclear_itp_search" model="ir.ui.view">
|
||||
<field name="name">fp.nuclear.itp.search</field>
|
||||
<field name="model">fusion.plating.nuclear.itp</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="ITPs">
|
||||
<field name="name"/>
|
||||
<field name="customer_id"/>
|
||||
<field name="part_number"/>
|
||||
<field name="drawing_ref"/>
|
||||
<separator/>
|
||||
<filter string="Draft" name="draft" domain="[('state','=','draft')]"/>
|
||||
<filter string="Customer Review" name="review" domain="[('state','=','customer_review')]"/>
|
||||
<filter string="Approved" name="approved" domain="[('state','=','approved')]"/>
|
||||
<filter string="In Use" name="in_use" domain="[('state','=','in_use')]"/>
|
||||
<separator/>
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<group>
|
||||
<filter string="Customer" name="group_customer" context="{'group_by':'customer_id'}"/>
|
||||
<filter string="N299 Level" name="group_level" context="{'group_by':'n299_level_id'}"/>
|
||||
<filter string="Status" name="group_state" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fp_nuclear_itp" model="ir.actions.act_window">
|
||||
<field name="name">Inspection and Test Plans</field>
|
||||
<field name="res_model">fusion.plating.nuclear.itp</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_nuclear_itp_search"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,119 @@
|
||||
<?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>
|
||||
|
||||
<record id="view_fp_nuclear_pedigree_list" model="ir.ui.view">
|
||||
<field name="name">fp.nuclear.pedigree.list</field>
|
||||
<field name="model">fusion.plating.nuclear.pedigree</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Nuclear Pedigree Records"
|
||||
decoration-muted="locked">
|
||||
<field name="name"/>
|
||||
<field name="part_number"/>
|
||||
<field name="lot_serial"/>
|
||||
<field name="customer_id"/>
|
||||
<field name="n299_level_id"/>
|
||||
<field name="raw_material_heat_no"/>
|
||||
<field name="ship_date"/>
|
||||
<field name="retention_until_date"/>
|
||||
<field name="locked" widget="boolean_toggle"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_nuclear_pedigree_form" model="ir.ui.view">
|
||||
<field name="name">fp.nuclear.pedigree.form</field>
|
||||
<field name="model">fusion.plating.nuclear.pedigree</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Nuclear Pedigree Record">
|
||||
<header>
|
||||
<button name="action_lock" string="Lock" type="object"
|
||||
class="oe_highlight" invisible="locked"/>
|
||||
<button name="action_unlock" string="Unlock" type="object"
|
||||
invisible="not locked"
|
||||
groups="fusion_plating.group_fusion_plating_manager"
|
||||
confirm="Unlocking a pedigree record bypasses change control. Continue?"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Locked" bg_color="text-bg-danger"
|
||||
invisible="not locked"/>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" readonly="locked"
|
||||
class="o_fp_nuclear_locked"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="part_number" readonly="locked"/>
|
||||
<field name="lot_serial" readonly="locked"/>
|
||||
<field name="customer_id" readonly="locked"/>
|
||||
<field name="n299_level_id" readonly="locked"
|
||||
class="o_fp_nuclear_level"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="raw_material_heat_no" readonly="locked"/>
|
||||
<field name="raw_material_cert_refs" readonly="locked"/>
|
||||
<field name="chemistry_cert_refs" readonly="locked"/>
|
||||
<field name="ship_date" readonly="locked"/>
|
||||
<field name="retention_until_date" readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Process Steps">
|
||||
<field name="process_steps_json" readonly="locked"
|
||||
placeholder="Station, operator, timestamp, parameters..."/>
|
||||
</page>
|
||||
<page string="Operators Log">
|
||||
<field name="operators_log" readonly="locked"/>
|
||||
</page>
|
||||
<page string="Test Results">
|
||||
<field name="test_results" readonly="locked"/>
|
||||
</page>
|
||||
<page string="Supporting Documents">
|
||||
<field name="attachment_ids" widget="many2many_binary"
|
||||
readonly="locked"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_nuclear_pedigree_search" model="ir.ui.view">
|
||||
<field name="name">fp.nuclear.pedigree.search</field>
|
||||
<field name="model">fusion.plating.nuclear.pedigree</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Pedigree Records">
|
||||
<field name="name"/>
|
||||
<field name="part_number"/>
|
||||
<field name="lot_serial"/>
|
||||
<field name="customer_id"/>
|
||||
<field name="raw_material_heat_no"/>
|
||||
<separator/>
|
||||
<filter string="Locked" name="locked_f" domain="[('locked','=',True)]"/>
|
||||
<filter string="Open" name="open_f" domain="[('locked','=',False)]"/>
|
||||
<separator/>
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<group>
|
||||
<filter string="Customer" name="group_customer" context="{'group_by':'customer_id'}"/>
|
||||
<filter string="N299 Level" name="group_level" context="{'group_by':'n299_level_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fp_nuclear_pedigree" model="ir.actions.act_window">
|
||||
<field name="name">Nuclear Pedigree Records</field>
|
||||
<field name="res_model">fusion.plating.nuclear.pedigree</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_nuclear_pedigree_search"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -0,0 +1,110 @@
|
||||
<?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>
|
||||
|
||||
<record id="view_fp_nuclear_program_list" model="ir.ui.view">
|
||||
<field name="name">fp.nuclear.program.list</field>
|
||||
<field name="model">fusion.plating.nuclear.program</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Nuclear Quality Programs"
|
||||
decoration-muted="state == 'withdrawn'"
|
||||
decoration-warning="state == 'suspended'"
|
||||
decoration-success="state == 'active'">
|
||||
<field name="name"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="n299_level_id"/>
|
||||
<field name="nqa1_applicable" widget="boolean_toggle"/>
|
||||
<field name="cnsc_licensed_supplier" widget="boolean_toggle"/>
|
||||
<field name="program_manual_rev"/>
|
||||
<field name="last_audit_date"/>
|
||||
<field name="next_audit_date"/>
|
||||
<field name="state" widget="badge"
|
||||
decoration-success="state == 'active'"
|
||||
decoration-warning="state == 'suspended'"
|
||||
decoration-muted="state == 'withdrawn'"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_nuclear_program_form" model="ir.ui.view">
|
||||
<field name="name">fp.nuclear.program.form</field>
|
||||
<field name="model">fusion.plating.nuclear.program</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Nuclear Quality Program">
|
||||
<header>
|
||||
<button name="action_activate" string="Activate" type="object"
|
||||
class="oe_highlight" invisible="state == 'active'"/>
|
||||
<button name="action_suspend" string="Suspend" type="object"
|
||||
invisible="state != 'active'"/>
|
||||
<button name="action_withdraw" string="Withdraw" type="object"
|
||||
invisible="state == 'withdrawn'"/>
|
||||
<button name="action_reset_to_draft" string="Reset to Draft" type="object"
|
||||
invisible="state == 'draft'"/>
|
||||
<field name="state" widget="statusbar"
|
||||
statusbar_visible="draft,active,suspended,withdrawn"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="facility_id"/>
|
||||
<field name="n299_level_id"/>
|
||||
<field name="program_manual_rev"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="nqa1_applicable"/>
|
||||
<field name="cnsc_licensed_supplier"/>
|
||||
<field name="last_audit_date"/>
|
||||
<field name="next_audit_date"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Notes">
|
||||
<field name="notes"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<chatter/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fp_nuclear_program_search" model="ir.ui.view">
|
||||
<field name="name">fp.nuclear.program.search</field>
|
||||
<field name="model">fusion.plating.nuclear.program</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Nuclear Programs">
|
||||
<field name="name"/>
|
||||
<field name="facility_id"/>
|
||||
<field name="n299_level_id"/>
|
||||
<separator/>
|
||||
<filter string="Active" name="active_state" domain="[('state','=','active')]"/>
|
||||
<filter string="Suspended" name="suspended" domain="[('state','=','suspended')]"/>
|
||||
<filter string="NQA-1" name="nqa1" domain="[('nqa1_applicable','=',True)]"/>
|
||||
<filter string="CNSC Supplier" name="cnsc" domain="[('cnsc_licensed_supplier','=',True)]"/>
|
||||
<separator/>
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<group>
|
||||
<filter string="Facility" name="group_facility" context="{'group_by':'facility_id'}"/>
|
||||
<filter string="N299 Level" name="group_level" context="{'group_by':'n299_level_id'}"/>
|
||||
<filter string="Status" name="group_state" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fp_nuclear_program" model="ir.actions.act_window">
|
||||
<field name="name">Nuclear Quality Programs</field>
|
||||
<field name="res_model">fusion.plating.nuclear.program</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
<field name="search_view_id" ref="view_fp_nuclear_program_search"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user