From dcce6d645d1174bec97fb3e563a914fb7a01dfa7 Mon Sep 17 00:00:00 2001 From: "GPA(OpenERP)" <> Date: Thu, 4 Feb 2010 17:17:04 +0530 Subject: [PATCH] [FIX] Account : Bank statements should not be altered/removed when state is confirmed lp bug: https://launchpad.net/bugs/516746 fixed bzr revid: jvo@tinyerp.com-20100204114704-gu2q297pf6z9w6qc --- addons/account/account_bank_statement.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index 2b0c72abb46..15732174f0a 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -107,7 +107,7 @@ class account_bank_statement(osv.osv): _name = "account.bank.statement" _description = "Bank Statement" _columns = { - 'name': fields.char('Name', size=64, required=True), + 'name': fields.char('Name', size=64, required=True, states={'confirm': [('readonly', True)]}), 'date': fields.date('Date', required=True, states={'confirm': [('readonly', True)]}), 'journal_id': fields.many2one('account.journal', 'Journal', required=True, @@ -343,6 +343,17 @@ class account_bank_statement(osv.osv): context=context)[0] return {'value': {'balance_start': balance_start, 'currency': currency}} + def unlink(self, cr, uid, ids, context=None): + stat = self.read(cr, uid, ids, ['state']) + unlink_ids = [] + for t in stat: + if t['state'] in ('draft'): + unlink_ids.append(t['id']) + else: + raise osv.except_osv(_('Invalid action !'), _('Cannot delete bank statement which are already confirmed !')) + osv.osv.unlink(self, cr, uid, unlink_ids, context=context) + return True + account_bank_statement()