feat(sub12b): move-log list/form/search + Plating menu
Plating → Move Log (sequence 62, between Logistics 60 and Aerospace 65). Form is read-only (create=false) since moves are produced by the tablet flow, not the desktop UI. Search filters: Today, Scrap/Rework, Racked. Group-by: Job, Operator, Transfer Type. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
124
fusion_plating/fusion_plating/views/fp_job_step_move_views.xml
Normal file
124
fusion_plating/fusion_plating/views/fp_job_step_move_views.xml
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
<?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_job_step_move_list" model="ir.ui.view">
|
||||||
|
<field name="name">fp.job.step.move.list</field>
|
||||||
|
<field name="model">fp.job.step.move</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<list string="Move Log" default_order="move_datetime desc" create="false">
|
||||||
|
<field name="name"/>
|
||||||
|
<field name="move_datetime"/>
|
||||||
|
<field name="job_id"/>
|
||||||
|
<field name="from_step_id"/>
|
||||||
|
<field name="to_step_id"/>
|
||||||
|
<field name="from_tank_id" optional="show"/>
|
||||||
|
<field name="to_tank_id" optional="show"/>
|
||||||
|
<field name="qty_moved"/>
|
||||||
|
<field name="transfer_type" widget="badge"/>
|
||||||
|
<field name="rack_id" optional="show"/>
|
||||||
|
<field name="moved_by_user_id"/>
|
||||||
|
</list>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_fp_job_step_move_form" model="ir.ui.view">
|
||||||
|
<field name="name">fp.job.step.move.form</field>
|
||||||
|
<field name="model">fp.job.step.move</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<form string="Move" create="false">
|
||||||
|
<sheet>
|
||||||
|
<div class="oe_title">
|
||||||
|
<h1><field name="name" readonly="1"/></h1>
|
||||||
|
</div>
|
||||||
|
<group>
|
||||||
|
<group>
|
||||||
|
<field name="job_id"/>
|
||||||
|
<field name="from_step_id"/>
|
||||||
|
<field name="to_step_id"/>
|
||||||
|
<field name="transfer_type"/>
|
||||||
|
<field name="qty_moved"/>
|
||||||
|
<field name="qty_available_at_move"/>
|
||||||
|
</group>
|
||||||
|
<group>
|
||||||
|
<field name="from_tank_id"/>
|
||||||
|
<field name="to_tank_id"/>
|
||||||
|
<field name="to_location"/>
|
||||||
|
<field name="rack_id"/>
|
||||||
|
<field name="customer_wo_count"/>
|
||||||
|
<field name="moved_by_user_id"/>
|
||||||
|
<field name="move_datetime"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
<notebook>
|
||||||
|
<page string="Captured Inputs" name="captured_inputs">
|
||||||
|
<field name="transition_input_value_ids" readonly="1">
|
||||||
|
<list>
|
||||||
|
<field name="node_input_id"/>
|
||||||
|
<field name="value_text"/>
|
||||||
|
<field name="value_number"/>
|
||||||
|
<field name="value_boolean"/>
|
||||||
|
<field name="value_date"/>
|
||||||
|
<field name="value_attachment_id"/>
|
||||||
|
</list>
|
||||||
|
</field>
|
||||||
|
</page>
|
||||||
|
<page string="Photo Evidence" name="photo"
|
||||||
|
invisible="not photo_evidence_id">
|
||||||
|
<field name="photo_evidence_id" widget="image"/>
|
||||||
|
</page>
|
||||||
|
</notebook>
|
||||||
|
</sheet>
|
||||||
|
<chatter/>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_fp_job_step_move_search" model="ir.ui.view">
|
||||||
|
<field name="name">fp.job.step.move.search</field>
|
||||||
|
<field name="model">fp.job.step.move</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<search>
|
||||||
|
<field name="name"/>
|
||||||
|
<field name="job_id"/>
|
||||||
|
<field name="from_step_id"/>
|
||||||
|
<field name="to_step_id"/>
|
||||||
|
<field name="rack_id"/>
|
||||||
|
<field name="moved_by_user_id"/>
|
||||||
|
<separator/>
|
||||||
|
<filter string="Today" name="today"
|
||||||
|
domain="[('move_datetime','>=', (context_today() ).strftime('%Y-%m-%d 00:00:00'))]"/>
|
||||||
|
<filter string="Scrap / Rework" name="scrap_rework"
|
||||||
|
domain="[('transfer_type','in',('scrap','rework'))]"/>
|
||||||
|
<filter string="Racked" name="racked"
|
||||||
|
domain="[('rack_id','!=',False)]"/>
|
||||||
|
<group>
|
||||||
|
<filter string="Job" name="group_job"
|
||||||
|
context="{'group_by':'job_id'}"/>
|
||||||
|
<filter string="Operator" name="group_user"
|
||||||
|
context="{'group_by':'moved_by_user_id'}"/>
|
||||||
|
<filter string="Transfer Type" name="group_type"
|
||||||
|
context="{'group_by':'transfer_type'}"/>
|
||||||
|
</group>
|
||||||
|
</search>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="action_fp_job_step_move" model="ir.actions.act_window">
|
||||||
|
<field name="name">Move Log</field>
|
||||||
|
<field name="res_model">fp.job.step.move</field>
|
||||||
|
<field name="view_mode">list,form</field>
|
||||||
|
<field name="search_view_id" ref="view_fp_job_step_move_search"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<menuitem id="menu_fp_job_step_move"
|
||||||
|
name="Move Log"
|
||||||
|
parent="menu_fp_root"
|
||||||
|
action="action_fp_job_step_move"
|
||||||
|
sequence="62"/>
|
||||||
|
|
||||||
|
</odoo>
|
||||||
Reference in New Issue
Block a user