diff options
| author | Aurélien (avd) <avd@odoo.com> | 2020-09-22 13:59:08 +0000 |
|---|---|---|
| committer | Aurélien (avd) <avd@odoo.com> | 2020-10-15 16:16:09 +0000 |
| commit | 91e2a4c8e34a75028c8ec2dfc17c951d8f45296e (patch) | |
| tree | 94de2ef169463035861666125b89f7e5fc8065f9 /addons | |
| parent | 0851c1b1d2a4b41be23b7eaca2808d1bdc846d28 (diff) | |
[FIX] hr_expense: fix traceback on expense sheet post multiple entries
closes odoo/odoo#60123
X-original-commit: 72f39f240579fc21cde33ce4b50f875d71ac9052
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/hr_expense/models/hr_expense.py | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 786965d0c0e..e94524fd73f 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -904,14 +904,11 @@ class HrExpenseSheet(models.Model): expense_line_ids = self.mapped('expense_line_ids')\ .filtered(lambda r: not float_is_zero(r.total_amount, precision_rounding=(r.currency_id or self.env.company.currency_id).rounding)) res = expense_line_ids.action_move_create() - - if not self.accounting_date: - self.accounting_date = self.account_move_id.date - - if self.payment_mode == 'own_account' and expense_line_ids: - self.write({'state': 'post'}) - else: - self.write({'state': 'done'}) + for sheet in self.filtered(lambda s: not s.accounting_date): + sheet.accounting_date = sheet.account_move_id.date + to_post = self.filtered(lambda sheet: sheet.payment_mode == 'own_account' and sheet.expense_line_ids) + to_post.write({'state': 'post'}) + (self - to_post).write({'state': 'done'}) self.activity_update() return res |
