diff options
| author | Victor Feyens <vfe@odoo.com> | 2020-06-19 13:24:57 +0000 |
|---|---|---|
| committer | Victor Feyens <vfe@odoo.com> | 2020-06-19 13:27:41 +0000 |
| commit | bdcad21ccc3b9ff5110230440eb2aa5e18e13ffa (patch) | |
| tree | 14dc465fc0417f5f4262fb9afb0ca10307b98cc1 /addons | |
| parent | 630beba02eac72626e4bea1c0f4d81e17c2fec3e (diff) | |
[FIX] *: correct support of multi records in methods
Wrong usage of self in for loops makes some apparently multi-friendly
methods not work correctly when called with a recordset of len > 1.
This commit replaces those references by the correct unique record
reference which should be used at this iteration of the loop, avoiding
potential exceptions or wrong behavior in the concerned methods.
closes odoo/odoo#53320
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/account/wizard/account_resequence.py | 2 | ||||
| -rw-r--r-- | addons/fleet_account/models/fleet_vehicle.py | 4 | ||||
| -rw-r--r-- | addons/hr_expense/models/hr_expense.py | 2 | ||||
| -rw-r--r-- | addons/website/models/res_config_settings.py | 2 | ||||
| -rw-r--r-- | addons/website_forum/models/forum.py | 6 | ||||
| -rw-r--r-- | addons/website_slides/models/slide_slide.py | 2 |
6 files changed, 9 insertions, 9 deletions
diff --git a/addons/account/wizard/account_resequence.py b/addons/account/wizard/account_resequence.py index bd0b9378cd4..07303f72029 100644 --- a/addons/account/wizard/account_resequence.py +++ b/addons/account/wizard/account_resequence.py @@ -38,7 +38,7 @@ class ReSequenceWizard(models.TransientModel): @api.depends('first_name') def _compute_sequence_number_reset(self): for record in self: - record.sequence_number_reset = self.move_ids[0]._deduce_sequence_number_reset(record.first_name) + record.sequence_number_reset = record.move_ids[0]._deduce_sequence_number_reset(record.first_name) @api.depends('move_ids') def _compute_first_name(self): diff --git a/addons/fleet_account/models/fleet_vehicle.py b/addons/fleet_account/models/fleet_vehicle.py index 0f6be4e50b5..6c936af07b6 100644 --- a/addons/fleet_account/models/fleet_vehicle.py +++ b/addons/fleet_account/models/fleet_vehicle.py @@ -16,7 +16,7 @@ class FleetVehicle(models.Model): raise AccessError(_("Sorry, you must be at least a fleet user to make this action.")) for vehicle in self: analytic_account = self.env['account.analytic.account'].sudo().create([{ - 'name': self._get_analytic_name(), - 'company_id': self.company_id.id or self.env.company.id, + 'name': vehicle._get_analytic_name(), + 'company_id': vehicle.company_id.id or self.env.company.id, }]) vehicle.write({'analytic_account_id': analytic_account.id}) diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index b7a337e924d..f1dd1607e55 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -938,7 +938,7 @@ class HrExpenseSheet(models.Model): self.write({'state': 'cancel'}) for sheet in self: - sheet.message_post_with_view('hr_expense.hr_expense_template_refuse_reason', values={'reason': reason, 'is_sheet': True, 'name': self.name}) + sheet.message_post_with_view('hr_expense.hr_expense_template_refuse_reason', values={'reason': reason, 'is_sheet': True, 'name': sheet.name}) self.activity_update() def reset_expense_sheets(self): diff --git a/addons/website/models/res_config_settings.py b/addons/website/models/res_config_settings.py index 21737456fa5..a90210817e9 100644 --- a/addons/website/models/res_config_settings.py +++ b/addons/website/models/res_config_settings.py @@ -138,7 +138,7 @@ class ResConfigSettings(models.TransientModel): @api.depends('language_ids') def _compute_website_language_count(self): for config in self: - config.website_language_count = len(self.language_ids) + config.website_language_count = len(config.language_ids) def set_values(self): super(ResConfigSettings, self).set_values() diff --git a/addons/website_forum/models/forum.py b/addons/website_forum/models/forum.py index abe6d4c39da..4c3adede878 100644 --- a/addons/website_forum/models/forum.py +++ b/addons/website_forum/models/forum.py @@ -976,16 +976,16 @@ class Vote(models.Model): values.pop('user_id', None) for vote in self: - self._check_general_rights(values) + vote._check_general_rights(values) if 'vote' in values: if (values['vote'] == '1' or vote.vote == '-1' and values['vote'] == '0'): upvote = True elif (values['vote'] == '-1' or vote.vote == '1' and values['vote'] == '0'): upvote = False - self._check_karma_rights(upvote) + vote._check_karma_rights(upvote) # karma update - self._vote_update_karma(vote.vote, values['vote']) + vote._vote_update_karma(vote.vote, values['vote']) res = super(Vote, self).write(values) return res diff --git a/addons/website_slides/models/slide_slide.py b/addons/website_slides/models/slide_slide.py index 45bf3a722be..801d8257123 100644 --- a/addons/website_slides/models/slide_slide.py +++ b/addons/website_slides/models/slide_slide.py @@ -530,7 +530,7 @@ class Slide(models.Model): mail_ids = [] base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') for record in self: - template = self.channel_id.share_template_id.with_context( + template = record.channel_id.share_template_id.with_context( user=self.env.user, email=email, base_url=base_url, |
