diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index d0f38af24f1..2643e3b6ee8 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -165,7 +165,6 @@ - diff --git a/addons/account/invoice.py b/addons/account/invoice.py index c4a52b6ceb1..1199fba14d8 100644 --- a/addons/account/invoice.py +++ b/addons/account/invoice.py @@ -112,7 +112,6 @@ class account_invoice(osv.osv): 'partner_id': fields.many2one('res.partner', 'Partner', change_default=True, readonly=True, required=True, states={'draft':[('readonly',False)]}, relate=True), 'partner_bank_id': fields.many2one('res.partner.bank', 'Partner bank'), - 'bank_id': fields.many2one('res.partner.bank', 'Company bank'), 'address_contact_id': fields.many2one('res.partner.address', 'Contact Address', readonly=True, states={'draft':[('readonly',False)]}), 'address_invoice_id': fields.many2one('res.partner.address', 'Invoice Address', readonly=True, required=True, states={'draft':[('readonly',False)]}), diff --git a/addons/l10n_ch/bvr/report/bvr.py b/addons/l10n_ch/bvr/report/bvr.py index 1ae1c326d67..78472c32685 100644 --- a/addons/l10n_ch/bvr/report/bvr.py +++ b/addons/l10n_ch/bvr/report/bvr.py @@ -37,6 +37,7 @@ class account_invoice_bvr(report_sxw.rml_parse): 'mod10r': self._mod10r, '_space': self._space, '_get_ref': self._get_ref, + '_bank_get': self._bank_get, }) def _space(self,nbr, nbrspc=5): @@ -47,6 +48,9 @@ class account_invoice_bvr(report_sxw.rml_parse): res = res + ' ' return res + def _bank_get(self, bid): + return self.pool.get("res.partner.bank").browse(cr,uid,bid) + def _get_ref(self, o): res = '' if o.bank_id.bank_code: diff --git a/addons/l10n_ch/bvr/report/bvr.rml b/addons/l10n_ch/bvr/report/bvr.rml index f0049463e73..c94c5a5e494 100644 --- a/addons/l10n_ch/bvr/report/bvr.rml +++ b/addons/l10n_ch/bvr/report/bvr.rml @@ -157,7 +157,7 @@ --> - 01[[mod10r('%.2f' % o.amount_total).rjust(11,'0')]]>[[ _get_ref(o) ]]+ [[o.bank_id.bvr_number.split('-')[0]+(o.bank_id.bvr_number.split('-')[1]).rjust(6,'0')+o.bank_id.bvr_number.split('-')[2] ]]> + 01[[mod10r('%.2f' % o.amount_total).rjust(11,'0')]]>[[ _get_ref(o) ]]+ [[_bank_get(data['form']['bank']).bvr_number.split('-')[0]+(o.bank_id.bvr_number.split('-')[1]).rjust(6,'0')+o.bank_id.bvr_number.split('-')[2] ]]> diff --git a/addons/l10n_ch/bvr/wizard/wizard_bvr.py b/addons/l10n_ch/bvr/wizard/wizard_bvr.py index ef61dc2158c..e18612f110e 100644 --- a/addons/l10n_ch/bvr/wizard/wizard_bvr.py +++ b/addons/l10n_ch/bvr/wizard/wizard_bvr.py @@ -29,6 +29,33 @@ import wizard import pooler import re +def _bank_get(self, cr, uid, context={}): + pool = pooler.get_pool(cr.dbname) + partner_id = pool.get('res.users').browse(cr,uid,[uid])[0].company_id.partner_id + obj = pool.get('res.partner.bank') + ids = obj.search(cr, uid, [('partner_id','=',partner_id.id)]) + res = obj.read(cr, uid, ids, ['active', 'name'], context) + res = [(r['id'], r['name']) for r in res] + return res + +check_form = """ +
+ + + +""" + +check_fields = { + 'bank' : { + 'string':'Bank Account', + 'type':'selection', + 'selection':_bank_get, + 'required': True, + }, +} + + + def _check(self, cr, uid, data, context): for invoice in pooler.get_pool(cr.dbname).get('account.invoice').browse(cr, uid, data['ids'], context): if not invoice.bank_id: @@ -41,7 +68,16 @@ def _check(self, cr, uid, data, context): class wizard_report(wizard.interface): states = { - 'init': { + 'init':{ + 'actions' : [], + 'result' : { + 'type' : 'form', + 'arch' : check_form, + 'fields' : check_fields, + 'state' : [('end', 'Cancel'),('bvr_print', 'Print') ] + } + }, + 'bvr_print': { 'actions': [_check], 'result': {'type':'print', 'report':'l10n_ch.bvr', 'state':'end'} }