From 14d2cc3f91f2373916cba36247cfe55458034460 Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Wed, 2 May 2012 17:09:49 +0200 Subject: [PATCH] [ADD] Useful defaults on simple setups for import settings (lp:931395) [ADD] Default to first available parser on the import wizard [FIX] Statements field on import wizard not invisible in initial state [FIX] Typo in Dutch translation --- account_banking/account_banking.py | 42 +++++++++++++++++++-- account_banking/i18n/nl.po | 2 +- account_banking/wizard/bank_import.py | 5 +++ account_banking/wizard/bank_import_view.xml | 3 +- 4 files changed, 47 insertions(+), 5 deletions(-) diff --git a/account_banking/account_banking.py b/account_banking/account_banking.py index 1b7800bb9..ed1b1e495 100644 --- a/account_banking/account_banking.py +++ b/account_banking/account_banking.py @@ -131,9 +131,41 @@ class account_banking_account_settings(osv.osv): user = self.pool.get('res.users').browse(cursor, uid, uid, context=context) if user.company_id: return user.company_id.id - return self.pool.get('res.company').search(cursor, uid, - [('parent_id', '=', False)] - )[0] + company_ids = self.pool.get('res.company').search( + cursor, uid, [('parent_id', '=', False)]) + return len(company_ids) == 1 and company_ids[0] or False + + def _default_journal(self, cr, uid, context=None): + domain = [('type', '=', 'bank')] + user = self.pool.get('res.users').read( + cr, uid, uid, ['company_id'], context=context) + if user['company_id']: + domain.append(('company_id', '=', user['company_id'][0])) + journal_ids = self.pool.get('account.journal').search( + cr, uid, domain) + return len(journal_ids) == 1 and journal_ids[0] or False + + def _default_partner_bank_id(self, cr, uid, context=None): + user = self.pool.get('res.users').read( + cr, uid, uid, ['company_id'], context=context) + if user['company_id']: + bank_ids = self.pool.get('res.partner.bank').search( + cr, uid, [('company_id', '=', user['company_id'][0])]) + if len(bank_ids) == 1: + return bank_ids[0] + return False + + def _default_debit_account_id(self, cr, uid, context=None): + account_def = self.pool.get('ir.property').get( + cr, uid, 'property_account_receivable', + 'res.partner', context=context) + return account_def and account_def.id or False + + def _default_credit_account_id(self, cr, uid, context=None): + account_def = self.pool.get('ir.property').get( + cr, uid, 'property_account_payable', + 'res.partner', context=context) + return account_def and account_def.id or False def find(self, cr, uid, journal_id, partner_bank_id=False, context=None): domain = [('journal_id','=',journal_id)] @@ -143,6 +175,10 @@ class account_banking_account_settings(osv.osv): _defaults = { 'company_id': _default_company, + 'journal_id': _default_journal, + 'default_debit_account_id': _default_debit_account_id, + 'default_credit_account_id': _default_credit_account_id, + 'partner_bank_id': _default_partner_bank_id, #'multi_currency': lambda *a: False, } account_banking_account_settings() diff --git a/account_banking/i18n/nl.po b/account_banking/i18n/nl.po index 34d19939e..b7a7cb2a6 100644 --- a/account_banking/i18n/nl.po +++ b/account_banking/i18n/nl.po @@ -1057,7 +1057,7 @@ msgstr "Unreconcile payment order not implemented" #. module: account_banking #: help:account.banking.account.settings,default_debit_account_id:0 msgid "The account to use when an unexpected payment is received. This can be needed when a customer pays in advance or when no matching invoice can be found. Mind that you can correct movements before confirming them." -msgstr "De grootboekrekening waarop een onverwachte betaling kan worden geboekt, bijvoorbeeld in het geval van eeen klant die vooruitbetaalt of als er geen overeenkomende factuur kan worden gevonden in het systeem. Merk op dat er voor het bevestigen van de boekingen nog wijzigingen kunnen worden aangebracht." +msgstr "De grootboekrekening waarop een onverwachte betaling kan worden geboekt, bijvoorbeeld in het geval van een klant die vooruitbetaalt of als er geen overeenkomende factuur kan worden gevonden in het systeem. Merk op dat er voor het bevestigen van de boekingen nog wijzigingen kunnen worden aangebracht." #. module: account_banking #: field:payment.mode.type,payment_order_type:0 diff --git a/account_banking/wizard/bank_import.py b/account_banking/wizard/bank_import.py index bab945a11..af8b8e284 100644 --- a/account_banking/wizard/bank_import.py +++ b/account_banking/wizard/bank_import.py @@ -423,11 +423,16 @@ class banking_import(osv.osv_memory): ), } + def _default_parser_type(self, cr, uid, context=None): + types = models.parser_type.get_parser_types() + return types and types[0][0] or False + _defaults = { 'state': 'init', 'company': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get( cr, uid, 'bank.import.transaction', context=c), + 'parser': _default_parser_type, } banking_import() diff --git a/account_banking/wizard/bank_import_view.xml b/account_banking/wizard/bank_import_view.xml index 75a6d17f3..2e04e29c6 100644 --- a/account_banking/wizard/bank_import_view.xml +++ b/account_banking/wizard/bank_import_view.xml @@ -34,7 +34,8 @@ - +