folder rename

This commit is contained in:
gsinghpal
2026-04-16 20:53:53 -04:00
parent 3f3ddcbab4
commit 7c7ef06057
634 changed files with 0 additions and 0 deletions

View File

@@ -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 &gt;= 45 and state in ('discovery','evaluation')"
decoration-warning="days_since_discovery &gt;= 30 and days_since_discovery &lt; 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 (&gt;= 45 days)" name="overdue"
domain="[('days_since_discovery','&gt;=',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>

View File

@@ -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>

View File

@@ -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>

View 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 &amp; 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>

View File

@@ -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>

View 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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>