[MIG] bemade_fsm to 18.0 Aside from fixing standard 17.0..18.0 stuff and fixing XML ID references: 1. **Remove `_get_closed_stage_by_project()`**: This method is obsolete - it was copied from base FSM but no longer exists in 18.0. Base system now uses `is_closed` field. 2. **Implement State Propagation**: Enhance the `write()` method to propagate done/cancelled states to child tasks using `is_closed` field logic. 3. **Test Task Creation**: Thoroughly test the custom task creation logic against base 18.0 All 56 tests are passing.
127 lines
4.9 KiB
XML
127 lines
4.9 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<odoo>
|
|
<record id="task_template_form_view" model="ir.ui.view">
|
|
<field name="name">bemade_fsm.task_template.form</field>
|
|
<field name="model">project.task.template</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Task Template">
|
|
<sheet>
|
|
<div class="oe_title">
|
|
<label for="name" />
|
|
<h1>
|
|
<field name="name" placeholder="Title" />
|
|
</h1>
|
|
</div>
|
|
<group>
|
|
<group>
|
|
<field name="project" />
|
|
<field name="assignees" widget="many2many_avatar_user" />
|
|
<field name="parent" />
|
|
<field name="planned_hours" />
|
|
</group>
|
|
<group>
|
|
<field name="customer" />
|
|
<field
|
|
name="equipment_ids"
|
|
domain="[('partner_id', '=', customer)]"
|
|
context="{'list_view_ref': 'fsm_equipment.equipment_view_list'}"
|
|
/>
|
|
<field name="tags" widget="many2many_tags" />
|
|
<field name="company_id" />
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page name="description_page" string="Description">
|
|
<field
|
|
name="description"
|
|
type="html"
|
|
options="{'collaborative': true}"
|
|
/>
|
|
</page>
|
|
<page name="subtasks_page" string="Subtasks">
|
|
<field name="subtasks">
|
|
<list editable="bottom">
|
|
<field name="sequence" widget="handle" />
|
|
<field name="name" />
|
|
<field name="customer" />
|
|
<field
|
|
name="assignees"
|
|
widget="many2many_avatar_user"
|
|
/>
|
|
<button
|
|
name="action_open_task"
|
|
type="object"
|
|
title="View Task"
|
|
string="View Task"
|
|
class="btn btn-link pull-right"
|
|
/>
|
|
</list>
|
|
</field>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="task_template_list_view" model="ir.ui.view">
|
|
<field name="name">project.task_template.list</field>
|
|
<field name="model">project.task.template</field>
|
|
<field name="arch" type="xml">
|
|
<list>
|
|
<field name="name" />
|
|
<field name="assignees" widget="many2many_avatar_user" />
|
|
<field name="project" />
|
|
<field name="parent" />
|
|
<field name="planned_hours" />
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="task_template_search_view" model="ir.ui.view">
|
|
<field name="name">project.task_template.search</field>
|
|
<field name="model">project.task.template</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Task Template">
|
|
<field name="name" />
|
|
<field name="project" />
|
|
<field name="assignees" />
|
|
<field name="parent" />
|
|
<field name="subtasks" />
|
|
<field name="planned_hours" />
|
|
<group expand="1" string="Group By">
|
|
<filter
|
|
string="Project"
|
|
name="groupby_project"
|
|
domain="[]"
|
|
context="{'group_by':'project'}"
|
|
/>
|
|
<filter
|
|
string="Parent Task"
|
|
name="groupby_parent"
|
|
domain="[]"
|
|
context="{'group_by':'parent'}"
|
|
/>
|
|
<filter
|
|
string="Customer"
|
|
name="groupby_customer"
|
|
domain="[]"
|
|
context="{'group_by':'customer'}"
|
|
/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="task_template_act_window" model="ir.actions.act_window">
|
|
<field name="name">Task Template</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">project.task.template</field>
|
|
<field name="view_mode">list,form</field>
|
|
<field name="help" type="html">
|
|
<p class="oe_view_nocontent_create">
|
|
There are no task templates, click above to create one.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
</odoo>
|