Browse Source

Merge PR #326 into 12.0

Signed-off-by alexey-pelykh
12.0
OCA-git-bot 4 years ago
parent
commit
1fb571d4cb
  1. 15
      account_bank_statement_import_txt_xlsx/models/account_bank_statement_import_sheet_parser.py
  2. 2
      account_bank_statement_import_txt_xlsx/tests/fixtures/original_currency.csv
  3. 2
      account_bank_statement_import_txt_xlsx/tests/fixtures/original_currency_empty.csv
  4. 31
      account_bank_statement_import_txt_xlsx/tests/test_account_bank_statement_import_txt_xlsx.py

15
account_bank_statement_import_txt_xlsx/models/account_bank_statement_import_sheet_parser.py

@ -206,22 +206,27 @@ class AccountBankStatementImportSheetParser(models.TransientModel):
) )
amount = self._parse_decimal(amount, mapping) amount = self._parse_decimal(amount, mapping)
if balance is not None:
if balance:
balance = self._parse_decimal(balance, mapping) balance = self._parse_decimal(balance, mapping)
else:
balance = None
if debit_credit is not None:
if debit_credit:
amount = amount.copy_abs() amount = amount.copy_abs()
if debit_credit == mapping.debit_value: if debit_credit == mapping.debit_value:
amount = -amount amount = -amount
if original_currency is None:
if not original_currency:
original_currency = currency original_currency = currency
original_amount = amount original_amount = amount
elif original_currency == currency: elif original_currency == currency:
original_amount = amount original_amount = amount
if original_amount is not None:
original_amount = self._parse_decimal(original_amount, mapping)
if original_amount:
original_amount = self._parse_decimal(
original_amount,
mapping
).copy_sign(amount)
else: else:
original_amount = 0.0 original_amount = 0.0

2
account_bank_statement_import_txt_xlsx/tests/fixtures/original_currency.csv

@ -1,2 +1,2 @@
"Date","Label","Currency","Amount","Amount Currency","Partner Name","Bank Account" "Date","Label","Currency","Amount","Amount Currency","Partner Name","Bank Account"
"12/15/2018","Your payment","EUR","1,525.00","1,000.00","Azure Interior",""
"12/15/2018","Your payment","EUR","1,525.00","-1,000.00","Azure Interior",""

2
account_bank_statement_import_txt_xlsx/tests/fixtures/original_currency_empty.csv

@ -0,0 +1,2 @@
"Date","Label","Currency","Amount","Amount Currency","Partner Name","Bank Account"
"12/15/2018","Your payment",,"1,525.00",,"Azure Interior",""

31
account_bank_statement_import_txt_xlsx/tests/test_account_bank_statement_import_txt_xlsx.py

@ -217,6 +217,37 @@ class TestAccountBankStatementImportTxtXlsx(common.TransactionCase):
self.assertEqual(line.currency_id, self.currency_eur) self.assertEqual(line.currency_id, self.currency_eur)
self.assertEqual(line.amount_currency, 1000.0) self.assertEqual(line.amount_currency, 1000.0)
def test_original_currency_empty(self):
journal = self.AccountJournal.create({
'name': 'Bank',
'type': 'bank',
'code': 'BANK',
'currency_id': self.currency_usd.id,
})
wizard = self.AccountBankStatementImport.with_context({
'journal_id': journal.id,
}).create({
'filename': 'fixtures/original_currency_empty.csv',
'data_file': self._data_file(
'fixtures/original_currency_empty.csv',
'utf-8'
),
'sheet_mapping_id': self.sample_statement_map.id,
})
wizard.with_context({
'journal_id': journal.id,
'account_bank_statement_import_txt_xlsx_test': True,
}).import_file()
statement = self.AccountBankStatement.search([
('journal_id', '=', journal.id),
])
self.assertEqual(len(statement), 1)
self.assertEqual(len(statement.line_ids), 1)
line = statement.line_ids
self.assertFalse(line.currency_id)
self.assertEqual(line.amount_currency, 0.0)
def test_multi_currency(self): def test_multi_currency(self):
journal = self.AccountJournal.create({ journal = self.AccountJournal.create({
'name': 'Bank', 'name': 'Bank',

Loading…
Cancel
Save