diff --git a/addons/website_event_track/models/event_track.py b/addons/website_event_track/models/event_track.py index c1039191bd9..0092885d1dd 100644 --- a/addons/website_event_track/models/event_track.py +++ b/addons/website_event_track/models/event_track.py @@ -54,13 +54,13 @@ class Track(models.Model): # speaker partner_id = fields.Many2one('res.partner', 'Speaker') partner_name = fields.Char( - string='Name', compute='_compute_partner_info', + string='Name', compute='_compute_partner_name', readonly=False, store=True, tracking=10) partner_email = fields.Char( - string='Email', compute='_compute_partner_info', + string='Email', compute='_compute_partner_email', readonly=False, store=True, tracking=20) partner_phone = fields.Char( - string='Phone', compute='_compute_partner_info', + string='Phone', compute='_compute_partner_phone', readonly=False, store=True, tracking=30) partner_biography = fields.Html( string='Biography', compute='_compute_partner_biography', @@ -146,11 +146,21 @@ class Track(models.Model): # SPEAKER @api.depends('partner_id') - def _compute_partner_info(self): + def _compute_partner_name(self): for track in self: - if track.partner_id: + if not track.partner_name or track.partner_id: track.partner_name = track.partner_id.name + + @api.depends('partner_id') + def _compute_partner_email(self): + for track in self: + if not track.partner_email or track.partner_id: track.partner_email = track.partner_id.email + + @api.depends('partner_id') + def _compute_partner_phone(self): + for track in self: + if not track.partner_phone or track.partner_id: track.partner_phone = track.partner_id.phone @api.depends('partner_id') diff --git a/addons/website_event_track/tests/test_track_internals.py b/addons/website_event_track/tests/test_track_internals.py index c549f554e8c..d6ebc697659 100644 --- a/addons/website_event_track/tests/test_track_internals.py +++ b/addons/website_event_track/tests/test_track_internals.py @@ -18,7 +18,7 @@ class TestTrackData(TestEventOnlineCommon): test_email = '"Nibbler In Space" ' test_phone = '0456001122' test_bio = '

UserInput

' - test_bio_void = '


' + # test_bio_void = '


' event = self.env['event.event'].browse(self.event_0.ids) customer = self.env['res.partner'].browse(self.event_customer.id) @@ -51,9 +51,9 @@ class TestTrackData(TestEventOnlineCommon): self.assertEqual( new_track.partner_email, test_email, 'Track should take user input over computed partner value') - # self.assertEqual( - # new_track.partner_phone, customer.phone, - # 'Track should take partner value if not user input') + self.assertEqual( + new_track.partner_phone, customer.phone, + 'Track should take partner value if not user input') # already filled information should not be updated new_track = self.env['event.track'].create({