Add work types and in-form technician slot suggestions

This commit is contained in:
Ruslan Bakiev
2026-02-13 18:36:40 +07:00
parent 2b7a9457dd
commit 8dd533f89a
21 changed files with 424 additions and 34 deletions

View File

@@ -15,49 +15,65 @@
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,assigned,in_progress,done,cancelled" options="{'clickable': '1'}"/>
</header>
<sheet>
<group>
<group col="3">
<group>
<field name="name" readonly="1"/>
<field name="contact_id"/>
<field name="contact_address_id" domain="[('contact_id', '=', contact_id)]" options="{'no_create': True, 'no_create_edit': True}"/>
<field name="zone_id" readonly="1"/>
<field name="work_type_id"/>
</group>
<group>
<field name="requested_datetime"/>
<field name="scheduled_datetime"/>
<field name="scheduled_end"/>
<field name="technician_id"/>
</group>
<group>
<field name="zone_id" readonly="1"/>
<field name="slot_day"/>
<field name="assigned_user_id" readonly="1"/>
<field name="description"/>
</group>
</group>
<notebook>
<page string="Time Logs">
<field name="time_line_ids" context="{'default_work_order_id': id, 'default_technician_id': technician_id}">
<list editable="bottom">
<field name="description"/>
<field name="technician_id"/>
<field name="hours"/>
</list>
</field>
</page>
<page string="Material Logs">
<field name="material_line_ids" context="{'default_work_order_id': id}">
<list editable="bottom">
<field name="material_id"/>
<field name="qty"/>
<field name="unit_cost" readonly="1"/>
<field name="subtotal" readonly="1"/>
</list>
</field>
</page>
<page string="Totals">
<group>
<field name="total_time_hours" readonly="1"/>
<field name="total_material_cost" readonly="1"/>
</group>
</page>
</notebook>
<group string="Available Slots">
<field name="available_slot_ids" nolabel="1" context="{'default_work_order_id': id}">
<list create="false" edit="false" delete="false">
<field name="sequence" optional="hide"/>
<field name="technician_id"/>
<field name="start_datetime"/>
<field name="end_datetime"/>
<field name="duration_min"/>
<button name="action_book" type="object" string="Book" class="btn-primary"/>
</list>
</field>
</group>
<group string="Time Logs">
<field name="time_line_ids" context="{'default_work_order_id': id, 'default_technician_id': technician_id}">
<list editable="bottom">
<field name="description"/>
<field name="technician_id"/>
<field name="hours"/>
</list>
</field>
</group>
<group string="Material Logs">
<field name="material_line_ids" context="{'default_work_order_id': id}">
<list editable="bottom">
<field name="material_id"/>
<field name="qty"/>
<field name="unit_cost" readonly="1"/>
<field name="subtotal" readonly="1"/>
</list>
</field>
</group>
<group string="Summary">
<field name="total_time_hours" readonly="1"/>
<field name="total_material_cost" readonly="1"/>
</group>
</sheet>
<chatter/>
</form>

View File

@@ -8,7 +8,9 @@
<field name="name"/>
<field name="contact_id"/>
<field name="contact_address_id"/>
<field name="work_type_id"/>
<field name="scheduled_datetime"/>
<field name="scheduled_end"/>
<field name="technician_id"/>
<field name="state"/>
<templates>
@@ -23,9 +25,15 @@
<div>
<field name="contact_address_id"/>
</div>
<div>
<field name="work_type_id"/>
</div>
<div>
<field name="scheduled_datetime"/>
</div>
<div>
<field name="scheduled_end"/>
</div>
<div>
<field name="technician_id"/>
</div>

View File

@@ -8,8 +8,10 @@
<field name="name"/>
<field name="contact_id" optional="show"/>
<field name="contact_address_id" optional="show"/>
<field name="work_type_id" optional="show"/>
<field name="zone_id" optional="show"/>
<field name="scheduled_datetime" optional="show"/>
<field name="scheduled_end" optional="show"/>
<field name="technician_id" optional="show"/>
<field name="state" widget="badge" optional="show"/>
<field name="total_time_hours" optional="show"/>