mirror of
https://github.com/OCA/bank-statement-import.git
synced 2025-01-20 12:37:43 +02:00
[FIX] account_bank_statement_import: Handle correctly the selection of the journal
This commit is contained in:
@@ -170,11 +170,10 @@ class AccountBankStatementImport(models.TransientModel):
|
||||
|
||||
@api.model
|
||||
def _get_journal(self, currency_id, bank_account_id, account_number):
|
||||
""" Find or create the journal """
|
||||
""" Find the journal """
|
||||
bank_model = self.env['res.partner.bank']
|
||||
|
||||
# Find the journal from context or bank account
|
||||
journal_id = self.env.context.get('journal_id')
|
||||
# Find the journal from context, wizard or bank account
|
||||
journal_id = self.env.context.get('journal_id') or self.journal_id.id
|
||||
if bank_account_id:
|
||||
bank_account = bank_model.browse(bank_account_id)
|
||||
if journal_id:
|
||||
@@ -188,7 +187,6 @@ class AccountBankStatementImport(models.TransientModel):
|
||||
else:
|
||||
if bank_account.journal_id.id:
|
||||
journal_id = bank_account.journal_id.id
|
||||
|
||||
# If importing into an existing journal, its currency must be the same
|
||||
# as the bank statement
|
||||
if journal_id:
|
||||
@@ -197,12 +195,10 @@ class AccountBankStatementImport(models.TransientModel):
|
||||
if currency_id and currency_id != journal_currency_id:
|
||||
raise Warning(_('The currency of the bank statement is not '
|
||||
'the same as the currency of the journal !'))
|
||||
|
||||
# If we couldn't find/create a journal, everything is lost
|
||||
if not journal_id:
|
||||
raise Warning(_('Cannot find in which journal import this '
|
||||
'statement. Please manually select a journal.'))
|
||||
|
||||
return journal_id
|
||||
|
||||
@api.model
|
||||
|
||||
@@ -15,21 +15,6 @@ class AccountBankStatementImport(models.TransientModel):
|
||||
def _get_hide_journal_field(self):
|
||||
return self.env.context.get('journal_id') and True
|
||||
|
||||
@api.model
|
||||
def _get_journal(self, currency_id, bank_account_id, account_number):
|
||||
""" As .QIF format does not allow us to detect the journal, we need to
|
||||
let the user choose it.
|
||||
We set it in context before to call super so it's the same as
|
||||
calling the widget from a journal """
|
||||
record = self
|
||||
active_id = self.env.context.get('active_id')
|
||||
if active_id:
|
||||
record = self.browse(active_id)
|
||||
if record.journal_id:
|
||||
record = record.with_context(journal_id=record.journal_id.id)
|
||||
return super(AccountBankStatementImport, record)._get_journal(
|
||||
currency_id, bank_account_id, account_number)
|
||||
|
||||
@api.model
|
||||
def _check_qif(self, data_file):
|
||||
return data_file.strip().startswith('!Type:')
|
||||
|
||||
Reference in New Issue
Block a user