- Fix thickness factor: now scales linearly (thickness * factor), not multiplicatively. Default factor=1.0 means price scales 1:1 with mils. - Fix batch_size: setup fee now multiplied by ceil(qty/batch_size) batches - Fix hardcoded $ in price breakdown HTML: uses currency_id.symbol - Add coating_config_id.certification_level to @api.depends - Remove readonly on x_fc_receiving_status (placeholder until receiving module) - Add currency_id to treatment list view for Monetary widget Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
97 lines
3.9 KiB
XML
97 lines
3.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Copyright 2026 Nexa Systems Inc.
|
|
License OPL-1 (Odoo Proprietary License v1.0)
|
|
Part of the Fusion Plating product family.
|
|
-->
|
|
<odoo>
|
|
|
|
<!-- ===== Treatment List View ===== -->
|
|
<record id="view_fp_treatment_list" model="ir.ui.view">
|
|
<field name="name">fp.treatment.list</field>
|
|
<field name="model">fp.treatment</field>
|
|
<field name="arch" type="xml">
|
|
<list string="Treatments">
|
|
<field name="sequence" widget="handle"/>
|
|
<field name="name"/>
|
|
<field name="treatment_type"/>
|
|
<field name="default_duration_minutes"/>
|
|
<field name="currency_id" column_invisible="1"/>
|
|
<field name="default_cost"/>
|
|
<field name="active" widget="boolean_toggle"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- ===== Treatment Form View ===== -->
|
|
<record id="view_fp_treatment_form" model="ir.ui.view">
|
|
<field name="name">fp.treatment.form</field>
|
|
<field name="model">fp.treatment</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Treatment">
|
|
<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. Bead Blast"/></h1>
|
|
</div>
|
|
<group>
|
|
<group>
|
|
<field name="treatment_type"/>
|
|
<field name="sequence"/>
|
|
</group>
|
|
<group>
|
|
<field name="default_duration_minutes"/>
|
|
<field name="currency_id" invisible="1"/>
|
|
<field name="default_cost"/>
|
|
</group>
|
|
</group>
|
|
<group>
|
|
<field name="description" placeholder="Description of this treatment step..."/>
|
|
</group>
|
|
<group>
|
|
<field name="active" widget="boolean_toggle"/>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- ===== Treatment Search View ===== -->
|
|
<record id="view_fp_treatment_search" model="ir.ui.view">
|
|
<field name="name">fp.treatment.search</field>
|
|
<field name="model">fp.treatment</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<field name="name"/>
|
|
<separator/>
|
|
<filter string="Pre-Treatment" name="pre" domain="[('treatment_type','=','pre')]"/>
|
|
<filter string="Post-Treatment" name="post" domain="[('treatment_type','=','post')]"/>
|
|
<separator/>
|
|
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
|
<group>
|
|
<filter string="Type" name="group_type" context="{'group_by':'treatment_type'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- ===== Window Action ===== -->
|
|
<record id="action_fp_treatment" model="ir.actions.act_window">
|
|
<field name="name">Treatments</field>
|
|
<field name="res_model">fp.treatment</field>
|
|
<field name="view_mode">list,form</field>
|
|
<field name="search_view_id" ref="view_fp_treatment_search"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No treatments defined yet
|
|
</p>
|
|
<p>
|
|
Add pre-treatment steps (bead blast, zincate, acid etch) and
|
|
post-treatment steps (bake, passivate, chromate seal).
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
</odoo>
|