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,6 +15,10 @@
"views/repair_fsm_zone_view_form.xml",
"views/repair_fsm_zone_view_kanban.xml",
"views/repair_fsm_zone_action_main.xml",
"views/repair_work_type_view_list.xml",
"views/repair_work_type_view_form.xml",
"views/repair_work_type_view_kanban.xml",
"views/repair_work_type_action_main.xml",
"views/menu.xml",
],
"assets": {

View File

@@ -1 +1,2 @@
from . import fsm_zone
from . import work_type

View File

@@ -0,0 +1,12 @@
from odoo import fields, models
class RepairWorkType(models.Model):
_name = "repair.work.type"
_description = "Repair Work Type"
_order = "name"
_inherit = ["mail.thread", "mail.activity.mixin"]
name = fields.Char(required=True, tracking=True)
duration_min = fields.Integer(default=120, required=True, tracking=True)
active = fields.Boolean(default=True, tracking=True)

View File

@@ -1,3 +1,5 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_repair_fsm_zone_user,repair.fsm.zone user,model_repair_fsm_zone,dsrpt_repair_config.group_dsrpt_repair_config_user,1,1,1,0
access_repair_fsm_zone_manager,repair.fsm.zone manager,model_repair_fsm_zone,dsrpt_repair_config.group_dsrpt_repair_config_manager,1,1,1,1
access_repair_work_type_user,repair.work.type user,model_repair_work_type,dsrpt_repair_config.group_dsrpt_repair_config_user,1,1,1,0
access_repair_work_type_manager,repair.work.type manager,model_repair_work_type,dsrpt_repair_config.group_dsrpt_repair_config_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_repair_fsm_zone_user repair.fsm.zone user model_repair_fsm_zone dsrpt_repair_config.group_dsrpt_repair_config_user 1 1 1 0
3 access_repair_fsm_zone_manager repair.fsm.zone manager model_repair_fsm_zone dsrpt_repair_config.group_dsrpt_repair_config_manager 1 1 1 1
4 access_repair_work_type_user repair.work.type user model_repair_work_type dsrpt_repair_config.group_dsrpt_repair_config_user 1 1 1 0
5 access_repair_work_type_manager repair.work.type manager model_repair_work_type dsrpt_repair_config.group_dsrpt_repair_config_manager 1 1 1 1

View File

@@ -13,4 +13,11 @@
<field name="action" eval="'ir.actions.act_window,%d' % ref('action_repair_fsm_zone')"/>
<field name="sequence">10</field>
</record>
<record id="menu_repair_work_type" model="ir.ui.menu">
<field name="name">Work Types</field>
<field name="parent_id" ref="dsrpt_repair_config.menu_repair_root"/>
<field name="action" eval="'ir.actions.act_window,%d' % ref('action_repair_work_type')"/>
<field name="sequence">20</field>
</record>
</odoo>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="action_repair_work_type" model="ir.actions.act_window">
<field name="name">Work Types</field>
<field name="res_model">repair.work.type</field>
<field name="view_mode">list,kanban,form</field>
</record>
</odoo>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_repair_work_type_form" model="ir.ui.view">
<field name="name">repair.work.type.form</field>
<field name="model">repair.work.type</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="name"/>
<field name="duration_min"/>
<field name="active"/>
</group>
</sheet>
<chatter/>
</form>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_repair_work_type_kanban" model="ir.ui.view">
<field name="name">repair.work.type.kanban</field>
<field name="model">repair.work.type</field>
<field name="arch" type="xml">
<kanban>
<field name="name"/>
<field name="duration_min"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click">
<div class="o_kanban_record_title">
<strong><field name="name"/></strong>
</div>
<div>
<field name="duration_min"/> min
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_repair_work_type_list" model="ir.ui.view">
<field name="name">repair.work.type.list</field>
<field name="model">repair.work.type</field>
<field name="arch" type="xml">
<list>
<field name="name"/>
<field name="duration_min" optional="show"/>
<field name="active" optional="hide"/>
</list>
</field>
</record>
</odoo>