This commit is contained in:
gsinghpal
2026-04-28 19:39:37 -04:00
parent 2d42b33d68
commit 13e300d90e
103 changed files with 4959 additions and 331 deletions

View File

@@ -49,9 +49,8 @@
<field name="logged_by_id"/>
</group>
</group>
<group string="Notes">
<field name="notes" nolabel="1"/>
</group>
<separator string="Notes"/>
<field name="notes"/>
</sheet>
</form>
</field>

View File

@@ -25,6 +25,110 @@
class="btn-secondary"
icon="fa-sitemap"
invisible="state == 'draft'"/>
<button name="action_open_move_wizard" type="object"
string="Move to Next Step"
class="btn-primary"
icon="fa-arrow-right"
invisible="state not in ('confirmed', 'in_progress')"/>
<button name="action_print_traveller" type="object"
string="Print Traveller"
class="btn-secondary"
icon="fa-print"
invisible="state == 'draft'"/>
<button name="action_print_wo_detail" type="object"
string="Print WO Detail"
class="btn-secondary"
icon="fa-file-text-o"
invisible="state in ('draft', 'cancelled')"/>
</xpath>
<!-- Replace the bare-bones Steps list with the action-rich
manager view. Per-row buttons mirror what an operator
sees on the tablet; Running Min ticks on every refresh
for the active step. -->
<xpath expr="//page[@name='steps']/field[@name='step_ids']" position="replace">
<field name="step_ids" mode="list">
<list editable="bottom"
decoration-info="state in ('ready', 'in_progress')"
decoration-success="state == 'done'"
decoration-warning="state == 'paused'"
decoration-muted="state in ('skipped', 'cancelled')">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="work_centre_id" optional="show"/>
<field name="tank_id" optional="hide"/>
<field name="kind" optional="hide"/>
<field name="state" widget="badge"
decoration-info="state in ('ready', 'in_progress')"
decoration-success="state == 'done'"
decoration-warning="state == 'paused'"
decoration-muted="state in ('skipped', 'cancelled')"/>
<field name="assigned_user_id" optional="show"/>
<field name="duration_expected" optional="show"/>
<field name="duration_running_minutes" string="Running Min" optional="show"/>
<field name="duration_actual" optional="show"/>
<button name="button_start" type="object"
string="Start" icon="fa-play"
class="btn-link text-success"
invisible="state not in ('ready', 'pending')"/>
<button name="button_resume" type="object"
string="Resume" icon="fa-play-circle"
class="btn-link text-success"
invisible="state != 'paused'"/>
<button name="button_pause" type="object"
string="Pause" icon="fa-pause"
class="btn-link text-warning"
invisible="state != 'in_progress'"/>
<button name="button_finish" type="object"
string="Finish" icon="fa-check"
class="btn-link text-primary"
invisible="state != 'in_progress'"/>
<button name="action_open_move_wizard" type="object"
string="Move" icon="fa-arrow-right"
class="btn-link"
invisible="state in ('done', 'cancelled', 'skipped')"/>
<button name="action_open_input_wizard" type="object"
string="Record Inputs" icon="fa-pencil-square-o"
class="btn-link"
invisible="state in ('cancelled', 'skipped')"/>
<button name="button_skip" type="object"
string="Skip" icon="fa-step-forward"
class="btn-link text-muted"
invisible="state not in ('pending', 'ready')"/>
</list>
</field>
</xpath>
<!-- New tabs in the notebook: Move Log + Time Logs.
Both read-only — operators write via the wizards;
these tabs are the audit window. -->
<xpath expr="//page[@name='source']" position="before">
<page string="Move Log" name="move_log">
<field name="move_ids" readonly="1">
<list create="false" edit="false" delete="false"
decoration-info="transfer_type == 'step'"
decoration-warning="transfer_type in ('hold', 'rework')"
decoration-danger="transfer_type == 'scrap'">
<field name="move_datetime"/>
<field name="from_step_id"/>
<field name="to_step_id"/>
<field name="transfer_type" widget="badge"/>
<field name="qty_moved"/>
<field name="moved_by_user_id"/>
</list>
</field>
</page>
<page string="Time Logs" name="time_logs">
<field name="time_log_ids" readonly="1">
<list create="false" edit="false" delete="false">
<field name="step_id"/>
<field name="user_id"/>
<field name="date_started"/>
<field name="date_finished"/>
<field name="duration_minutes"/>
</list>
</field>
</page>
</xpath>
<!-- Inject a button_box at the top of the sheet, before the
@@ -67,6 +171,22 @@
<field name="quality_hold_count" widget="statinfo"
string="Holds"/>
</button>
<button name="action_view_racking_inspection" type="object"
class="oe_stat_button" icon="fa-clipboard-check">
<div class="o_stat_info">
<field name="racking_inspection_state"
widget="badge"
class="o_stat_value"
decoration-success="racking_inspection_state == 'done'"
decoration-info="racking_inspection_state == 'inspecting'"
decoration-warning="racking_inspection_state == 'discrepancy_flagged'"
decoration-muted="racking_inspection_state == 'draft'"
invisible="not racking_inspection_state"/>
<span class="o_stat_value"
invisible="racking_inspection_state"></span>
<span class="o_stat_text">Racking Insp.</span>
</div>
</button>
<button name="action_view_certificates" type="object"
class="oe_stat_button" icon="fa-certificate"
invisible="certificate_count == 0">