[FIX] account_bank_statement_import: Handle correctly the selection of the journal

This commit is contained in:
Pedro M. Baeza
2015-06-23 16:37:06 +02:00
parent c5470b3e0f
commit 87466ae978
2 changed files with 3 additions and 22 deletions

View File

@@ -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

View File

@@ -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:')