diff --git a/addons/l10n_ch/bvr/bvr_report.xml b/addons/l10n_ch/bvr/bvr_report.xml index 3d569613f2d..175bec63f1b 100644 --- a/addons/l10n_ch/bvr/bvr_report.xml +++ b/addons/l10n_ch/bvr/bvr_report.xml @@ -8,6 +8,7 @@ name="l10n_ch.bvr" rml="l10n_ch/bvr/bvr.rml" auto="False" + menu="False" /> diff --git a/addons/l10n_ch/bvr/report/__init__.py b/addons/l10n_ch/bvr/report/__init__.py new file mode 100644 index 00000000000..450bd78cdfc --- /dev/null +++ b/addons/l10n_ch/bvr/report/__init__.py @@ -0,0 +1,29 @@ +############################################################################## +# +# Copyright (c) 2004 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Fabien Pinckaers +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import bvr diff --git a/addons/l10n_ch/bvr/report/bvr.py b/addons/l10n_ch/bvr/report/bvr.py new file mode 100644 index 00000000000..c0556159106 --- /dev/null +++ b/addons/l10n_ch/bvr/report/bvr.py @@ -0,0 +1,65 @@ +############################################################################## +# +# Copyright (c) 2005-2006 TINY SPRL. (http://tiny.be) All Rights Reserved. +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import time +from report import report_sxw + +class account_invoice_bvr(report_sxw.rml_parse): + def __init__(self, cr, uid, name, context): + super(account_invoice_bvr, self).__init__(cr, uid, name, context) + raise 'a' + self.localcontext.update({ + 'time': time, + 'user':self.pool.get("res.users").browse(cr,uid,uid), + 'mod10r': self._mod10r, + }) + + def _mod10r(self,nbr): + """ + Input arg : account or invoice number + Output return: the same number completed with the recursive mod10 + key + """ + + codec=[0,9,4,6,8,2,7,1,3,5] + report = 0 + result="" + for chiffre in nbr: + + if not chiffre.isdigit(): + continue + + report = codec[ (int(chiffre) +report) % 10 ] + result += chiffre + return result + str((10-report) % 10) + +report_sxw.report_sxw( + 'report.l10n_ch.bvr', + 'account.invoice', + 'addons/l10n_ch/bvr/report/bvr.rml', + parser=account_invoice_bvr, + header=False) diff --git a/addons/l10n_ch/bvr/report/bvr.rml b/addons/l10n_ch/bvr/report/bvr.rml new file mode 100644 index 00000000000..5531b8f09b6 --- /dev/null +++ b/addons/l10n_ch/bvr/report/bvr.rml @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [[ repeatIn(objects,'o') ]][[ setLang(o.partner_id.lang) ]] + + + + + + + + + [[ o.partner_id.title or '' ]] [[ o.partner_id.name ]] + [[ o.address_invoice_id.title or '' ]] [[ o.address_invoice_id.name ]] + [[ o.address_invoice_id.street ]] + [[ o.address_invoice_id.street2 or '' ]] + [[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]] + [[ o.address_invoice_id.state_id and o.address_invoice_id.state_id.name or '' ]] + [[ o.address_invoice_id.country_id and o.address_invoice_id.country_id.name or '' ]] + + + + + + + Subject: Invoice - [[ o.number ]] + + + + Dear customer, + Here is the BVR to allow you to pay the invoice ' [[ o.name ]]', reference: [[ o.number ]]. + Thanks, + + + + [[ user.signature ]] + + + + + [[ user.company_id.partner_id.name ]] + [[ user.company_id.partner_id.address[0].street ]] + [[ (user.company_id.partner_id.address[0].street2 or '')]] + [[ user.company_id.partner_id.address[0].zip ]] [[ user.company_id.partner_id.address[0].city ]] + + [[ user.company_id.partner_id.name ]] + [[ user.company_id.partner_id.address[0].street ]] + [[ (user.company_id.partner_id.address[0].street2 or '')]] + [[ user.company_id.partner_id.address[0].zip ]] [[ user.company_id.partner_id.address[0].city ]] + + + + [[ o.partner_id.name ]] + [[ o.address_invoice_id.street ]] + [[ (o.address_invoice_id.street2 or '')]] + [[ o.address_invoice_id.zip ]] [[ o.address_invoice_id.city ]] + + [[ mod10r(o.number).rjust(27,'0')]] + + [[ o.partner_id.name ]] + [[ o.address_invoice_id.street ]] + [[ (o.address_invoice_id.street2 or '')]] + [[ o.address_invoice_id.zip ]] [[ o.address_invoice_id.city ]] + + + [[ mod10r(o.number).rjust(27,'0') ]] + + [[ ('%.2f' % o.amount_total)[:-3] ]] + [[ ('%.2f' % o.amount_total)[:-3] ]] + + [[ ('%.2f' % o.amount_total)[-2:] ]] + [[ ('%.2f' % o.amount_total)[-2:] ]] + + + + + 01[[mod10r('%.2f' % o.amount_total).rjust(11,'0')]]>[[ mod10r(o.number).rjust(27,'0')]]+ [[o.partner_bank_id.bvr_number.split('-')[0]+(o.partner_bank_id.bvr_number.split('-')[1]).rjust(6,'0')+o.partner_bank_id.bvr_number.split('-')[2] ]]> + + + + + + + + diff --git a/addons/l10n_ch/bvr/wizard/__init__.py b/addons/l10n_ch/bvr/wizard/__init__.py new file mode 100644 index 00000000000..4b59c3d165a --- /dev/null +++ b/addons/l10n_ch/bvr/wizard/__init__.py @@ -0,0 +1,29 @@ +############################################################################## +# +# Copyright (c) 2004 TINY SPRL. (http://tiny.be) All Rights Reserved. +# Fabien Pinckaers +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import wizard_bvr diff --git a/addons/l10n_ch/bvr/wizard/wizard_bvr.py b/addons/l10n_ch/bvr/wizard/wizard_bvr.py new file mode 100644 index 00000000000..cc39f8c8f32 --- /dev/null +++ b/addons/l10n_ch/bvr/wizard/wizard_bvr.py @@ -0,0 +1,44 @@ +############################################################################## +# +# Copyright (c) 2005-2006 TINY SPRL. (http://tiny.be) All Rights Reserved. +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +import wizard + +def _check(self, cr, uid, data, context): + for invoice in self.pool.get('account.invoice').browse(cr, uid, data['ids'], context): + pass + return {} + +class wizard_report(wizard.interface): + states = { + 'init': { + 'actions': [_check], + 'result': {'type':'print', 'report':'l10n_ch.bvr', 'state':'end'} + } + } +wizard_report('l10n_ch.bvr.check') + +