bemade_fsm: Updating SO delivery address correctly changes site contacts, work order recipients and equipment. Fixes #53.
This commit is contained in:
parent
8fc8c6ae26
commit
281cf6a379
2 changed files with 15 additions and 5 deletions
|
|
@ -6,7 +6,10 @@ class SaleOrder(models.Model):
|
|||
|
||||
equipment_id = fields.Many2one(comodel_name="bemade_fsm.equipment",
|
||||
string="Equipment to Service",
|
||||
tracking=True)
|
||||
tracking=True,
|
||||
compute="_compute_equipment",
|
||||
inverse="_inverse_equipment",
|
||||
store=True)
|
||||
|
||||
site_contacts = fields.Many2many(comodel_name='res.partner',
|
||||
relation="sale_order_site_contacts_rel",
|
||||
|
|
@ -22,7 +25,13 @@ class SaleOrder(models.Model):
|
|||
string='Work Order Recipients',
|
||||
store=True)
|
||||
|
||||
@api.depends('partner_id')
|
||||
@api.onchange('partner_shipping_id')
|
||||
def _onchange_partner_shipping_id(self):
|
||||
super()._onchange_partner_shipping_id()
|
||||
self._compute_equipment()
|
||||
self._compute_default_contacts()
|
||||
|
||||
@api.depends('partner_shipping_id')
|
||||
def _compute_default_contacts(self):
|
||||
for rec in self:
|
||||
rec.site_contacts = rec.partner_shipping_id.site_contacts
|
||||
|
|
@ -31,10 +40,10 @@ class SaleOrder(models.Model):
|
|||
def _inverse_default_contacts(self):
|
||||
pass
|
||||
|
||||
@api.depends('partner_id')
|
||||
@api.depends('partner_shipping_id')
|
||||
def _compute_equipment(self):
|
||||
for rec in self:
|
||||
rec.equipment_ids = self.partner_shipping_id.equipment_ids if len(
|
||||
rec.equipment_id = self.partner_shipping_id.equipment_ids if len(
|
||||
self.partner_shipping_id.equipment_ids) <= 1 else False
|
||||
|
||||
def _inverse_equipment(self):
|
||||
|
|
|
|||
|
|
@ -110,7 +110,8 @@ class TestSalesOrder(TestTaskTemplateCommon):
|
|||
# Marking a child task done should not create a sale order
|
||||
child_task.action_fsm_validate()
|
||||
self.assertFalse(child_task.sale_order_id)
|
||||
|
||||
# TODO: Add a test for updating equipment, site contacts and work order contacts on the
|
||||
# sale order when modifying the partner_shipping_id field on the SO.
|
||||
|
||||
@tagged("-at_install", "post_install", 'focus')
|
||||
class TestSaleOrderTour(HttpCase, TestSalesOrder):
|
||||
|
|
|
|||
Loading…
Reference in a new issue