[FIX] Ported base_rib to current trunk (future 6.1)

bzr revid: ls@numerigraphe.fr-20111121134545-j398sfjqno7yqyhl
This commit is contained in:
Numerigraphe - Lionel Sausin 2011-11-21 14:45:45 +01:00
parent 05afd356a2
commit 35abfd730b
7 changed files with 230 additions and 180 deletions

View File

@ -22,7 +22,7 @@
{
'name': 'French RIB Bank Details',
'version': '1.0',
'category': 'Localization/Account Charts',
'category': 'Hidden',
'description': '''
This module installs the base for RIB bank accounts (French standard for bank accounts).
To make it easier to enter RIB data, it will also allow to search for banks by code.''',

View File

@ -24,6 +24,7 @@ import unicodedata
import netsvc
from osv import fields, osv
from tools.translate import _
class res_partner_bank(osv.osv):
"""Add fields and behavior for French RIB"""
@ -36,8 +37,8 @@ class res_partner_bank(osv.osv):
if bank_acc.state !='rib':
continue
# Fail if the needed values are empty of too short
if (not bank_acc.bank or not bank_acc.bank.code
or len(bank_acc.bank.code) != 5
if (not bank_acc.bank_code
or len(bank_acc.bank_code) != 5
or not bank_acc.office or len(bank_acc.office) != 5
or not bank_acc.acc_number or len(bank_acc.acc_number) != 11
or not bank_acc.key or len(bank_acc.key) != 2):
@ -80,27 +81,51 @@ class res_partner_bank(osv.osv):
limit, order, context=context, count=count)
return res
def onchange_bank_id(self, cr, uid, ids, bank_id, context=None):
"""Change the bank code"""
result = super(res_partner_bank, self).onchange_bank_id(cr, uid, ids, bank_id,
context=context)
if bank_id:
bank = self.pool.get('res.bank').browse(cr, uid, bank_id,
context=context)
result['bank_code'] = bank.code
return {'value': result}
_columns = {
'office': fields.char('Office Code', size=5, readonly=True,
help="Office Code"),
'bank_code': fields.char('Bank Code', size=64, readonly=True,),
'office': fields.char('Office Code', size=5, readonly=True,),
'key': fields.char('Key', size=2, readonly=True,
help="The key is a number allowing to check the "
"correctness of the other codes."),
}
def _construct_constraint_msg(self, cr, uid, ids, context=None):
"""Quote the data in the warning message"""
# Only process the first id
if type(ids) not in (int, long):
id = ids[0]
rib = self.browse(cr, uid, id, context=context)
if rib:
return (_("\nThe RIB key %s does not correspond to the other "
"codes: %s %s %s.") %
(rib.key,
rib.bank_code,
rib.office,
rib.acc_number) )
_constraints = [(_check_key,
"The RIB key does not correspond to the other codes.",
_construct_constraint_msg,
["key"])]
res_partner_bank()
# overload the name_search method on banks to make it easier to enter RIB data
class res_bank(osv.osv):
"""Add the bank code to make it easier to enter RIB data"""
_inherit = 'res.bank'
# allow a search by code
def name_search(self, cr, user, name, args=None, operator='ilike',
context=None, limit=80):
"""Search by bank code"""
if args is None:
args = []
ids = []
@ -111,15 +136,10 @@ class res_bank(osv.osv):
ids = self.search(cr, user, [('code', operator, name)] + args,
limit=limit, context=context)
return self.name_get(cr, user, ids, context)
# show the code before the name
def name_get(self, cr, uid, ids, context=None):
result = []
for bank in self.browse(cr, uid, ids, context):
result.append((bank.id,
(bank.code and (bank.code + ' - ') or '') + bank.name))
return result
_columns = {
'rib_code': fields.char('RIB Bank Code', size=64),
}
res_bank()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -3,14 +3,15 @@
<data>
<!--
Default bank account description
RIB bank details
-->
<record id="bank_rib" model="res.partner.bank.type">
<field name="name">RIB Bank Details</field>
<field name="code">rib</field>
</record>
<record id="rib_bank_field" model="res.partner.bank.type.field">
<field name="name">bank</field>
<record id="rib_bank_code_field" model="res.partner.bank.type.field">
<field name="name">bank_code</field>
<field name="bank_type_id" ref="bank_rib"/>
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
@ -34,5 +35,10 @@
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
</record>
<record id="rib_bic_field" model="res.partner.bank.type.field">
<field name="name">bank_bic</field>
<field name="bank_type_id" ref="bank_rib"/>
<field name="required" eval="0"/>
</record>
</data>
</openerp>

View File

@ -2,15 +2,6 @@
<openerp>
<data>
<!-- add the fields for French RIB to the partner form (subform)-->
<record id="view_partner_rib0_form" model="ir.ui.view">
<field name="name">res.partner.form.rib0.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="type">form</field>
<field name="arch" type="xml">
<field name="bank" position="replace"/>
</field>
</record>
<record id="view_partner_rib1_form" model="ir.ui.view">
<field name="name">res.partner.form.rib1.inherit</field>
<field name="model">res.partner</field>
@ -19,7 +10,7 @@
<field name="arch" type="xml">
<field name="acc_number" position="before">
<newline />
<field name="bank" />
<field name="bank_code" />
<field name="office" />
<newline />
</field>
@ -36,55 +27,18 @@
</field>
</field>
</record>
<!--
<record id="view_partner_bank_rib1_form" model="ir.ui.view">
<field name="name">res.partner.bank.form.rib1.inherit</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_form" />
<!-- add the bank code-->
<record id="view_res_bank_form" model="ir.ui.view">
<field name="name">res.bank.form.rib.inherit</field>
<field name="model">res.bank</field>
<field name="inherit_id" ref="base.view_res_bank_form" />
<field name="type">form</field>
<field name="arch" type="xml">
<field name="acc_number" position="before">
<newline />
<field name="bank" />
<field name="office" />
<newline />
<field name="bic" position="before">
<field name="rib_code" />
</field>
</field>
</record>
<record id="view_partner_bank_rib2_form" model="ir.ui.view">
<field name="name">res.partner.bank.form.rib2.inherit</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_form" />
<field name="type">form</field>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<field name="key" />
</field>
</field>
</record>
<record id="view_partner_bank_rib1_tree" model="ir.ui.view">
<field name="name">res.partner.bank.tree.rib1.inherit</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_tree" />
<field name="type">tree</field>
<field name="arch" type="xml">
<field name="acc_number" position="before">
<field name="bank" />
<field name="office" />
</field>
</field>
</record>
<record id="view_partner_bank_rib2_tree" model="ir.ui.view">
<field name="name">res.partner.bank.tree.rib2.inherit</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_tree" />
<field name="type">tree</field>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<field name="key" />
</field>
</field>
</record> -->
</data>
</openerp>

View File

@ -0,0 +1,116 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_fr_rib
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.1beta\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-11-21 12:37+0000\n"
"PO-Revision-Date: 2011-11-21 12:37+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: l10n_fr_rib
#: constraint:res.partner.bank:0
msgid "\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
msgstr "\n"
"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
#. module: l10n_fr_rib
#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
msgid "Bank Accounts"
msgstr "Comptes bancaires"
#. module: l10n_fr_rib
#: field:res.partner.bank,bank_code:0
msgid "Bank Code"
msgstr "Code banque"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
msgid "bank_bic"
msgstr "bank_bic"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
msgid "office"
msgstr "Agence"
#. module: l10n_fr_rib
#: field:res.bank,rib_code:0
msgid "RIB Bank Code"
msgstr "Code banque RIB"
#. module: l10n_fr_rib
#: model:ir.module.module,description:l10n_fr_rib.module_meta_information
msgid "\n"
"This module installs the base for RIB bank accounts (French standard for bank accounts). \n"
"To make it easier to enter RIB data, it will also allow to search for banks by code."
msgstr "\n"
"Ce module installe la base pour les comptes bancaires RIB (norme française pour les n° de compte). \n"
"Pour faciliter la saisie des RIBs, il permet aussi de chercher les banques par code."
#. module: l10n_fr_rib
#: field:res.partner.bank,office:0
msgid "Office Code"
msgstr "Code agence"
#. module: l10n_fr_rib
#: model:res.partner.bank.type,name:l10n_fr_rib.bank_rib
msgid "RIB Bank Details"
msgstr "Relevé d'identité bancaire (RIB)"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
msgid "bank_code"
msgstr "bank_code"
#. module: l10n_fr_rib
#: code:addons/l10n_fr_rib/bank.py:109
#, python-format
msgid "\n"
"The RIB key %s does not correspond to the other codes: %s %s %s."
msgstr "\n"
"La clé RIB %s ne correspond pas aux autres codes : %s %s %s."
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
msgid "key"
msgstr "key"
#. module: l10n_fr_rib
#: model:ir.module.module,shortdesc:l10n_fr_rib.module_meta_information
msgid "French RIB Bank Details"
msgstr "Relevés d'identité bancaire français (RIB)"
#. module: l10n_fr_rib
#: help:res.partner.bank,key:0
msgid "The key is a number allowing to check the correctness of the other codes."
msgstr "La clé est un nombre permettant de vérifier que les autres codes sont corrects."
#. module: l10n_fr_rib
#: field:res.partner.bank,key:0
msgid "Key"
msgstr "Clé"
#. module: l10n_fr_rib
#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
msgid "%(bank_name)s: %(acc_number)s"
msgstr "%(bank_name)s: %(acc_number)s"
#. module: l10n_fr_rib
#: model:ir.model,name:l10n_fr_rib.model_res_bank
msgid "Bank"
msgstr "Banque"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.bank_acc_number_field
msgid "acc_number"
msgstr "acc_number"

View File

@ -1,81 +0,0 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * l10n_fr_rib
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.1\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-06-16 14:15:16+0000\n"
"PO-Revision-Date: 2009-06-16 14:15:16+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
msgid "key"
msgstr "key"
#. module: l10n_fr_rib
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr "XML non valide pour l'architecture de la vue"
#. module: l10n_fr_rib
#: model:ir.module.module,description:l10n_fr_rib.module_meta_information
msgid "\n"
"This module install the base for RIB bank accounts (French standard for bank accounts). \n"
"To make it easier to enter RIB data, it will also allow to search for banks by code.\n"
"\n"
" "
msgstr "\n"
"Ce module configure la base pour la saisie des RIB (Relevés d'Identité Bancaires) standards français. \n"
"Pour faciliter la saisie des RIB, il permet également une recherche des banques par code.\n"
"\n"
" "
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
msgid "office"
msgstr "Agence"
#. module: l10n_fr_rib
#: field:res.partner.bank,office:0
#: help:res.partner.bank,office:0
msgid "Office Code"
msgstr "Code agence"
#. module: l10n_fr_rib
#: model:res.partner.bank.type,name:l10n_fr_rib.bank_rib
msgid "RIB Bank Details"
msgstr "Relevé d'identité bancaire (RIB)"
#. module: l10n_fr_rib
#: help:res.partner.bank,key:0
msgid "The key is a number allowing to check the correctness of the other codes."
msgstr "La clé est un nombre permettant de vérifier que les autres codes sont corrects."
#. module: l10n_fr_rib
#: field:res.partner.bank,key:0
msgid "Key"
msgstr "Clé"
#. module: l10n_fr_rib
#: model:ir.module.module,shortdesc:l10n_fr_rib.module_meta_information
msgid "RIB"
msgstr "RIB"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_field
msgid "bank"
msgstr "bank"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.bank_acc_number_field
msgid "acc_number"
msgstr "acc_number"

View File

@ -4,10 +4,10 @@
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 5.0.1\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-06-19 11:39:18+0000\n"
"PO-Revision-Date: 2009-06-19 11:39:18+0000\n"
"Project-Id-Version: OpenERP Server 6.1beta\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-11-21 12:36+0000\n"
"PO-Revision-Date: 2011-11-21 12:36+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -16,22 +16,24 @@ msgstr ""
"Plural-Forms: \n"
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
msgid "key"
msgstr ""
#. module: l10n_fr_rib
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
#. module: l10n_fr_rib
#: model:ir.module.module,description:l10n_fr_rib.module_meta_information
#: constraint:res.partner.bank:0
msgid "\n"
"This module install the base for RIB bank accounts (French standard for bank accounts). \n"
"To make it easier to enter RIB data, it will also allow to search for banks by code.\n"
"\n"
" "
"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
msgstr ""
#. module: l10n_fr_rib
#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
msgid "Bank Accounts"
msgstr ""
#. module: l10n_fr_rib
#: field:res.partner.bank,bank_code:0
msgid "Bank Code"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
msgid "bank_bic"
msgstr ""
#. module: l10n_fr_rib
@ -39,9 +41,20 @@ msgstr ""
msgid "office"
msgstr ""
#. module: l10n_fr_rib
#: field:res.bank,rib_code:0
msgid "RIB Bank Code"
msgstr ""
#. module: l10n_fr_rib
#: model:ir.module.module,description:l10n_fr_rib.module_meta_information
msgid "\n"
"This module installs the base for RIB bank accounts (French standard for bank accounts). \n"
"To make it easier to enter RIB data, it will also allow to search for banks by code."
msgstr ""
#. module: l10n_fr_rib
#: field:res.partner.bank,office:0
#: help:res.partner.bank,office:0
msgid "Office Code"
msgstr ""
@ -50,6 +63,28 @@ msgstr ""
msgid "RIB Bank Details"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
msgid "bank_code"
msgstr ""
#. module: l10n_fr_rib
#: code:addons/l10n_fr_rib/bank.py:109
#, python-format
msgid "\n"
"The RIB key %s does not correspond to the other codes: %s %s %s."
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
msgid "key"
msgstr ""
#. module: l10n_fr_rib
#: model:ir.module.module,shortdesc:l10n_fr_rib.module_meta_information
msgid "French RIB Bank Details"
msgstr ""
#. module: l10n_fr_rib
#: help:res.partner.bank,key:0
msgid "The key is a number allowing to check the correctness of the other codes."
@ -61,13 +96,13 @@ msgid "Key"
msgstr ""
#. module: l10n_fr_rib
#: model:ir.module.module,shortdesc:l10n_fr_rib.module_meta_information
msgid "RIB"
#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
msgid "%(bank_name)s: %(acc_number)s"
msgstr ""
#. module: l10n_fr_rib
#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_field
msgid "bank"
#: model:ir.model,name:l10n_fr_rib.model_res_bank
msgid "Bank"
msgstr ""
#. module: l10n_fr_rib