diff options
| author | Goffin Simon <sig@odoo.com> | 2017-03-29 12:11:48 +0200 |
|---|---|---|
| committer | Goffin Simon <sig@odoo.com> | 2017-03-29 13:11:25 +0200 |
| commit | 0ff9af64ef5d64f3f3a9bdce072f925b8e93f2a5 (patch) | |
| tree | 542632f2eeb8d887f04cb28c32a7b2ed213fd5c5 | |
| parent | 72fa3e8bdae7b339c75294de51ce261b7a9da173 (diff) | |
[FIX] hr_expense: Creation of entries from several expense lines
When posting journal entries for an hr.expense.sheet with several expense lines
(by clicking on the button "Post journal entries"), all the account move lines
created for the same sheet must be linked to the same account move because
the model hr.expense.sheet has just a field "account_move_id" to access all the entries
(by clicking on button "Accounting Entries")
This commit reverts f97eb0ac2b38d4efacb156bdd9e4ed499d2834c5
opw:715523,709930,725798,716239
| -rw-r--r-- | addons/hr_expense/models/hr_expense.py | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 11a9e35ff1b..261eb577461 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -172,24 +172,19 @@ class HrExpense(models.Model): ''' main function that is called when trying to create the accounting entries related to an expense ''' - move_group_by_sheet = {} for expense in self: journal = expense.sheet_id.bank_journal_id if expense.payment_mode == 'company_account' else expense.sheet_id.journal_id #create the move that will contain the accounting entries acc_date = expense.sheet_id.accounting_date or expense.date - if not expense.sheet_id.id in move_group_by_sheet: - move = self.env['account.move'].create({ - 'journal_id': journal.id, - 'company_id': self.env.user.company_id.id, - 'date': acc_date, - 'ref': expense.sheet_id.name, - # force the name to the default value, to avoid an eventual 'default_name' in the context - # to set it to '' which cause no number to be given to the account.move when posted. - 'name': '/', - }) - move_group_by_sheet[expense.sheet_id.id] = move - else: - move = move_group_by_sheet[expense.sheet_id.id] + move = self.env['account.move'].create({ + 'journal_id': journal.id, + 'company_id': self.env.user.company_id.id, + 'date': acc_date, + 'ref': expense.sheet_id.name, + # force the name to the default value, to avoid an eventual 'default_name' in the context + # to set it to '' which cause no number to be given to the account.move when posted. + 'name': '/', + }) company_currency = expense.company_id.currency_id diff_currency_p = expense.currency_id != company_currency #one account.move.line per expense (+taxes..) @@ -240,10 +235,9 @@ class HrExpense(models.Model): lines = map(lambda x: (0, 0, expense._prepare_move_line(x)), move_lines) move.with_context(dont_create_taxes=True).write({'line_ids': lines}) expense.sheet_id.write({'account_move_id': move.id}) + move.post() if expense.payment_mode == 'company_account': expense.sheet_id.paid_expense_sheets() - for move in move_group_by_sheet.values(): - move.post() return True @api.multi @@ -540,6 +534,7 @@ class HrExpenseSheet(models.Model): @api.multi def action_open_journal_entries(self): res = self.env['ir.actions.act_window'].for_xml_id('account', 'action_move_journal_line') - res['domain'] = [('id', 'in', self.mapped('account_move_id').ids)] + #DO NOT FORWARD-PORT + res['domain'] = [('ref', 'in', self.mapped('name'))] res['context'] = {} return res |
