summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurélien (avd) <avd@odoo.com>2020-09-22 13:59:08 +0000
committerAurélien (avd) <avd@odoo.com>2020-10-15 16:16:09 +0000
commit91e2a4c8e34a75028c8ec2dfc17c951d8f45296e (patch)
tree94de2ef169463035861666125b89f7e5fc8065f9
parent0851c1b1d2a4b41be23b7eaca2808d1bdc846d28 (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>
-rw-r--r--addons/hr_expense/models/hr_expense.py13
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