bemade_fsm: Linked equipment from sale order to creaed task on SO confirmation. Fixes #48.
This commit is contained in:
parent
4065e036ce
commit
d0be20363b
5 changed files with 18 additions and 7 deletions
|
|
@ -49,7 +49,7 @@ class SaleOrderLine(models.Model):
|
|||
:param project: record of project.project in which the task should be created
|
||||
:return task: record of the created task
|
||||
|
||||
Override to add the logic needed to implement task templates."""
|
||||
Override to add the logic needed to implement task templates and equipment linkages."""
|
||||
|
||||
def _create_task_from_template(project, template, parent):
|
||||
""" Recursively generates the task and any subtasks from a project.task.template.
|
||||
|
|
@ -98,4 +98,5 @@ class SaleOrderLine(models.Model):
|
|||
"This task has been created from: <a href=# data-oe-model=sale.order data-oe-id=%d>%s</a> (%s)") % (
|
||||
self.order_id.id, self.order_id.name, self.product_id.name)
|
||||
task.message_post(body=task_msg)
|
||||
task.equipment_id = self.order_id.equipment_id
|
||||
return task
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from . import test_bemade_fsm_common
|
||||
from . import test_task_template
|
||||
from . import test_task_template_sale_order
|
||||
from . import test_sale_order
|
||||
from . import test_equipment
|
||||
from . import test_fsm_contact_setting
|
||||
from . import test_so_task_contacts
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
from .test_task_template import TestTaskTemplateCommon
|
||||
from .test_equipment import TestEquipmentCommon
|
||||
from odoo.tests.common import tagged
|
||||
|
||||
|
||||
@tagged("-at_install", "post_install")
|
||||
class TestTaskTemplateSalesOrder(TestTaskTemplateCommon):
|
||||
class TestSalesOrder(TestTaskTemplateCommon):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
|
|
@ -78,10 +79,19 @@ class TestTaskTemplateSalesOrder(TestTaskTemplateCommon):
|
|||
self.assertTrue(self.child_task_2.name in sol.task_id.child_ids[1].name)
|
||||
self.assertTrue(sol.task_id.child_ids[1].child_ids and len(sol.task_id.child_ids.child_ids) == 1)
|
||||
self.assertTrue(self.grandchild_task.name in sol.task_id.child_ids.child_ids[0].name)
|
||||
|
||||
so = self.sale_order2
|
||||
so.action_confirm()
|
||||
sol1 = so.order_line[0]
|
||||
sol2 = so.order_line[1]
|
||||
assert_structure(sol1)
|
||||
assert_structure(sol2)
|
||||
|
||||
|
||||
def test_order_confirmation_equipment(self):
|
||||
so = self.sale_order1
|
||||
equipment = self.env['bemade_fsm.equipment'].create(
|
||||
{'name': 'test equipment', 'partner_location_id': so.partner_shipping_id.id})
|
||||
so.equipment_id = equipment.id
|
||||
so.action_confirm()
|
||||
task = so.order_line[0].task_id
|
||||
self.assertTrue(task.equipment_id == equipment)
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
from .test_task_template_sale_order import TestTaskTemplateSalesOrder
|
||||
from .test_sale_order import TestSalesOrder
|
||||
from odoo import Command
|
||||
from odoo.tests.common import Form
|
||||
|
||||
|
||||
class TestSaleOrderTaskContacts(TestTaskTemplateSalesOrder):
|
||||
class TestSaleOrderTaskContacts(TestSalesOrder):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<field name="priority" eval="8"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='partner_id']" position="after">
|
||||
<field name="equipment_id" domain="[('partner_location_id','=',partner_id)]"/>
|
||||
<field name="equipment_id" domain="[('partner_location_id', '=', partner_id)]"/>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='extra_info']" position="after">
|
||||
<page string="Field Service" name="field_service">
|
||||
|
|
|
|||
Loading…
Reference in a new issue