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