From 33dc39874b3cce87b515177f9602633c4017f06e Mon Sep 17 00:00:00 2001 From: Sebastien Beau Date: Wed, 4 Dec 2013 14:53:03 +0100 Subject: [PATCH 1/6] [REF] account_id is not anymore mandatory for creating a bank statement line. Still mandatory for the validation --- account_statement_base_completion/statement.py | 18 ++++++++++++++++++ account_statement_base_import/statement.py | 15 +++++++++------ .../statement_view.xml | 17 +++++++++++++++++ 3 files changed, 44 insertions(+), 6 deletions(-) diff --git a/account_statement_base_completion/statement.py b/account_statement_base_completion/statement.py index 96ab741b..4f70d041 100644 --- a/account_statement_base_completion/statement.py +++ b/account_statement_base_completion/statement.py @@ -382,6 +382,23 @@ class AccountStatementCompletionRule(orm.Model): res.update(st_vals) return res +class AccountStatement(orm.Model): + _inherit = "account.bank.statement" + + def button_confirm_bank(self, cr, uid, ids, context=None): + line_obj = self.pool['account.bank.statement.line'] + for stat_id in ids: + line_without_account = line_obj.search(cr, uid, [ + ['statement_id', '=', stat_id], + ['account_id', '=', False], + ], context=context) + if line_without_account: + stat = self.browse(cr, uid, stat_id, context=context) + raise osv.except_osv(_('User error'), + _('You should fill all account on the line of the' + ' statement %s')%stat.name) + return super(AccountStatement, self).button_confirm_bank(cr, uid, ids, context=context) + class AccountStatementLine(orm.Model): """ @@ -393,6 +410,7 @@ class AccountStatementLine(orm.Model): module to see how we've done it. """ _inherit = "account.bank.statement.line" + _order = "already_completed desc, date asc" _columns = { 'additionnal_bank_fields': fields.serialized( diff --git a/account_statement_base_import/statement.py b/account_statement_base_import/statement.py index 97e8e8ab..13263b09 100644 --- a/account_statement_base_import/statement.py +++ b/account_statement_base_import/statement.py @@ -103,12 +103,6 @@ class AccountStatementProfil(Model): statement_obj = self.pool.get('account.bank.statement') values = parser_vals values['statement_id'] = statement_id - values['account_id'] = statement_obj.get_account_for_counterpart(cr, - uid, - parser_vals['amount'], - account_receivable, - account_payable) - date = values.get('date') period_memoizer = context.get('period_memoizer') if not period_memoizer: @@ -214,3 +208,12 @@ class AccountStatementProfil(Model): raise osv.except_osv(_("Statement import error"), _("The statement cannot be created: %s") % st) return statement_id + + +class AccountBankStatementLine(orm.Model): + _inherit = "account.bank.statement.line" + + _columns = { + 'account_id': fields.many2one('account.account','Account'), + } + diff --git a/account_statement_base_import/statement_view.xml b/account_statement_base_import/statement_view.xml index 19c5aa8a..3a7fae60 100644 --- a/account_statement_base_import/statement_view.xml +++ b/account_statement_base_import/statement_view.xml @@ -26,5 +26,22 @@ + + + account_bank_statement.bank_statement.view_form + account.bank.statement + + form + + + + {'required': [('already_completed','=', True)]} + + + {'required': [('already_completed','=', True)]} + + + + From 54ff20c0dda34438266e9d27bf0a9fa2efb6f628 Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Wed, 4 Dec 2013 18:12:31 +0100 Subject: [PATCH 2/6] [FIX] fix wrong class --- account_statement_base_import/statement.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_statement_base_import/statement.py b/account_statement_base_import/statement.py index 13263b09..b041f674 100644 --- a/account_statement_base_import/statement.py +++ b/account_statement_base_import/statement.py @@ -210,7 +210,7 @@ class AccountStatementProfil(Model): return statement_id -class AccountBankStatementLine(orm.Model): +class AccountBankStatementLine(Model): _inherit = "account.bank.statement.line" _columns = { From 975df8c3e2b1cfc2063b989196dbba6b41f785c2 Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Wed, 11 Dec 2013 17:52:08 +0100 Subject: [PATCH 3/6] [FIX] Adapt comment of method prepare_statement_lines_vals --- account_statement_base_import/statement.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_statement_base_import/statement.py b/account_statement_base_import/statement.py index b041f674..3a136cdf 100644 --- a/account_statement_base_import/statement.py +++ b/account_statement_base_import/statement.py @@ -90,7 +90,7 @@ class AccountStatementProfil(Model): statement_id, context): """ Hook to build the values of a line from the parser returned values. At - least it fullfill the statement_id and account_id. Overide it to add your + least it fullfill the statement_id. Overide it to add your own completion if needed. :param dict of vals from parser for account.bank.statement.line (called by From a1d2a4806bfbf9c3fd77b635f074a472c19b50ac Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Thu, 13 Mar 2014 16:44:34 +0100 Subject: [PATCH 4/6] [FIX] replace old naming of exception + simplify xpath expression to make it more portable --- account_statement_base_completion/statement.py | 2 +- account_statement_base_import/statement_view.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/account_statement_base_completion/statement.py b/account_statement_base_completion/statement.py index 4f70d041..0ac47489 100644 --- a/account_statement_base_completion/statement.py +++ b/account_statement_base_completion/statement.py @@ -394,7 +394,7 @@ class AccountStatement(orm.Model): ], context=context) if line_without_account: stat = self.browse(cr, uid, stat_id, context=context) - raise osv.except_osv(_('User error'), + raise orm.except_orm(_('User error'), _('You should fill all account on the line of the' ' statement %s')%stat.name) return super(AccountStatement, self).button_confirm_bank(cr, uid, ids, context=context) diff --git a/account_statement_base_import/statement_view.xml b/account_statement_base_import/statement_view.xml index 3a7fae60..ded05b28 100644 --- a/account_statement_base_import/statement_view.xml +++ b/account_statement_base_import/statement_view.xml @@ -34,10 +34,10 @@ form - + {'required': [('already_completed','=', True)]} - + {'required': [('already_completed','=', True)]} From 1e3200a07021a6a657bf4ef8bfa4dcc51176cebf Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Thu, 10 Apr 2014 15:07:27 +0200 Subject: [PATCH 5/6] [FIX] fix line length (pep8) --- account_statement_base_completion/statement.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/account_statement_base_completion/statement.py b/account_statement_base_completion/statement.py index 0ac47489..9b9a05a1 100644 --- a/account_statement_base_completion/statement.py +++ b/account_statement_base_completion/statement.py @@ -397,7 +397,8 @@ class AccountStatement(orm.Model): raise orm.except_orm(_('User error'), _('You should fill all account on the line of the' ' statement %s')%stat.name) - return super(AccountStatement, self).button_confirm_bank(cr, uid, ids, context=context) + return super(AccountStatement, self).button_confirm_bank( + cr, uid, ids, context=context) class AccountStatementLine(orm.Model): From f5609b41b562aeb1f6b8c0be8b93cf27ea78b201 Mon Sep 17 00:00:00 2001 From: Sebastien Beau Date: Tue, 15 Apr 2014 11:52:48 +0200 Subject: [PATCH 6/6] [IMP] set the default value for the account to False as the account is not required anymore --- account_statement_base_import/statement.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/account_statement_base_import/statement.py b/account_statement_base_import/statement.py index 45295521..e9418fe4 100644 --- a/account_statement_base_import/statement.py +++ b/account_statement_base_import/statement.py @@ -241,4 +241,8 @@ class AccountBankStatementLine(Model): _columns = { 'account_id': fields.many2one('account.account','Account'), } + + _defaults = { + 'account_id': False, + }