Browse Source

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

pull/30/head
Pedro M. Baeza 10 years ago
parent
commit
87466ae978
  1. 10
      account_bank_statement_import/account_bank_statement_import.py
  2. 15
      account_bank_statement_import_qif/account_bank_statement_import_qif.py

10
account_bank_statement_import/account_bank_statement_import.py

@ -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
account_bank_statement_import_qif/account_bank_statement_import_qif.py

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

Loading…
Cancel
Save