bemade_fsm: Added field planned_hours to project.task.template and passed it along to tasks on order confirmation. Fixes #51.

This commit is contained in:
Marc Durepos 2023-06-19 09:43:21 -04:00
parent c927840a1b
commit 34a7b0f77e
5 changed files with 8 additions and 0 deletions

View file

@ -44,6 +44,7 @@ class SaleOrderLine(models.Model):
vals['parent_id'] = parent and parent.id
vals['user_ids'] = template.assignees.ids
vals['tag_ids'] = template.tags.ids
vals['planned_hours'] = template.planned_hours
return vals
tmpl = self.product_id.task_template_id

View file

@ -18,6 +18,7 @@ class TaskTemplate(models.Model):
subtasks = fields.One2many("project.task.template", inverse_name="parent", string="Subtask Templates")
sequence = fields.Integer(string="Sequence")
company_id = fields.Many2one("res.company", string="Company", index=1, default=_current_company)
planned_hours = fields.Float("Initially Planned Hours")
def action_open_task(self):
return {

View file

@ -11,6 +11,7 @@ class TestTaskTemplateCommon(FSMManagerUserTransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.PLANNED_HOURS = 6
hours_uom = cls.env['uom.uom'].search([('name', '=', 'Hour')]) or False
# Test product to use with the various tests
cls.task1 = cls.env['project.task.template'].create({
@ -45,6 +46,7 @@ class TestTaskTemplateCommon(FSMManagerUserTransactionCase):
# Set up a task template tree with 2 children and 1 grandchild
cls.parent_task = cls.env['project.task.template'].create({
'name': 'Parent Template',
'planned_hours': cls.PLANNED_HOURS,
})
cls.child_task_1 = cls.env['project.task.template'].create({
'name': 'Child Template 1',

View file

@ -67,6 +67,7 @@ class TestTaskTemplateSalesOrder(TestTaskTemplateCommon):
self.assertTrue(task2)
self.assertTrue(self.task1.name in task1.name)
self.assertTrue(self.task1.name in task2.name)
self.assertTrue(self.task1.planned_hours == task1.planned_hours)
def test_order_confirmation_tree_template(self):
def assert_structure(sol):

View file

@ -19,6 +19,7 @@
<field name="project"/>
<field name="assignees" widget="many2many_avatar_user"/>
<field name="parent"/>
<field name="planned_hours"/>
</group>
<group>
<field name="customer"/>
@ -57,6 +58,7 @@
<field name="assignees" widget="many2many_avatar_user"/>
<field name="project"/>
<field name="parent"/>
<field name="planned_hours"/>
</tree>
</field>
</record>
@ -71,6 +73,7 @@
<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'}"/>