Define a new res.partner.bank.type.field "iban-rib" to store both RIB (old French...
authorAlexis de Lattre <alexis@via.ecp.fr>
Fri, 27 Jan 2012 15:01:03 +0000 (16:01 +0100)
committerAlexis de Lattre <alexis@via.ecp.fr>
Fri, 27 Jan 2012 15:01:03 +0000 (16:01 +0100)
BAN on the same res.partner.bank.

On res.partner.bank, we now use the field 'rib_acc_number' instead of 'acc_number' to store the RIB bank account number.

Fix inheritance of the view 'view_partner_rib1_form' : it must inherit account.view_partner_property_form and not base.view_partner_form !

Add RIB fields to standard tree and form of res.partner.bank (not just the res.partner form view)

Add max size on RIB fields.

Replaced _construct_constraint_msg function by a raise in the check function : it simplifies the code and avoids a double browse on the object in case of invalid RIB.

Constraint now declares all the fields that must trigger the check.

Updated French translation.

bzr revid: alexis@via.ecp.fr-20120127150103-2khrxo0j2wfrrffa

addons/base_iban/base_iban.py
addons/l10n_fr_rib/bank.py
addons/l10n_fr_rib/bank_data.xml
addons/l10n_fr_rib/bank_view.xml
addons/l10n_fr_rib/i18n/fr.po
addons/l10n_fr_rib/i18n/l10n_fr_rib.pot

index 157b889..3dac701 100644 (file)
@@ -100,7 +100,7 @@ class res_partner_bank(osv.osv):
         Check the IBAN number
         '''
         for bank_acc in self.browse(cr, uid, ids, context=context):
-            if bank_acc.state<>'iban':
+            if bank_acc.state not in ('iban', 'iban-rib'):
                 continue
             iban = _format_iban(bank_acc.acc_number).lower()
             if iban[:2] in _iban_len and len(iban) != _iban_len[iban[:2]]:
index 03f71f6..39d35a8 100644 (file)
@@ -31,18 +31,18 @@ class res_partner_bank(osv.osv):
         """Check the RIB key"""
         for bank_acc in self.browse(cr, uid, ids):
             # Ignore the accounts of type other than rib
-            if bank_acc.state !='rib':
+            if bank_acc.state not in ('rib', 'iban-rib'):
                 continue
             # Fail if the needed values are empty of too short 
             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.rib_acc_number or len(bank_acc.rib_acc_number) != 11
             or not bank_acc.key or len(bank_acc.key) != 2):
                 return False
             # Get the rib data (without the key)
             rib = "%s%s%s" % (bank_acc.bank_code, bank_acc.office,
-                              bank_acc.acc_number)
+                              bank_acc.rib_acc_number)
             # Translate letters into numbers according to a specific table
             #    (notice how s -> 2)
             table = dict((ord(a), b) for a, b in zip(
@@ -51,7 +51,15 @@ class res_partner_bank(osv.osv):
             # compute the key  
             key = 97 - (100 * int(rib)) % 97
             if int(bank_acc.key) != key:
-                return False
+                raise osv.except_osv(_('Error'),
+                     _("The RIB key %s does not correspond to the other "
+                            "codes: %s %s %s.") %
+                            (bank_acc.key, bank_acc.bank_code,
+                            bank_acc.office, bank_acc.rib_acc_number) )
+            if bank_acc.state == 'iban-rib':
+                if not self.check_iban(cr, uid, [bank_acc.id]):
+                    raise osv.except_osv(_('Error'),
+                        _("The IBAN %s is not valid.") % bank_acc.acc_number)
         return True
 
     def onchange_bank_id(self, cr, uid, ids, bank_id, context=None):
@@ -66,31 +74,18 @@ class res_partner_bank(osv.osv):
         return result
 
     _columns = {
+        'acc_number': fields.char('Account Number', size=64, required=False),
+        'rib_acc_number': fields.char('RIB account number', size=11, readonly=True,),
         '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,
-                     _construct_constraint_msg,
-                     ["key"])]
-    
+    _constraints = [(_check_key, 'Error message in raise',
+        ['acc_number', 'rib_acc_number', 'bank_code', 'office', 'key'])]
+
 res_partner_bank()
 
 class res_bank(osv.osv):
index 1dc9f4c..bd01ed5 100644 (file)
@@ -9,21 +9,23 @@
             <field name="name">RIB Bank Details</field>
             <field name="code">rib</field>
         </record>
-        
+
         <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"/>
+            <field name="size">5</field>
         </record>
         <record id="rib_office_field" model="res.partner.bank.type.field">
             <field name="name">office</field>
             <field name="bank_type_id" ref="bank_rib"/>
             <field eval="True" name="required"/>
             <field eval="False" name="readonly"/>
+            <field name="size">5</field>
         </record>
-        <record id="bank_acc_number_field" model="res.partner.bank.type.field">
-            <field name="name">acc_number</field>
+        <record id="rib_rib_acc_number_field" model="res.partner.bank.type.field">
+            <field name="name">rib_acc_number</field>
             <field name="bank_type_id" ref="bank_rib"/>
             <field eval="True" name="required"/>
             <field eval="False" name="readonly"/>
             <field name="bank_type_id" ref="bank_rib"/>
             <field eval="True" name="required"/>
             <field eval="False" name="readonly"/>
+            <field name="size">2</field>
+        </record>
+        <record id="rib_acc_number_field" model="res.partner.bank.type.field">
+            <field name="name">acc_number</field>
+            <field name="bank_type_id" ref="bank_rib"/>
+            <field eval="False" name="required"/>
+            <field eval="True" 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="False"/>
+        </record>
+
+        <!-- IBAN and RIB -->
+        <record id="bank_iban_rib" model="res.partner.bank.type">
+            <field name="name">IBAN and RIB</field>
+            <field name="code">iban-rib</field>
+        </record>
+
+        <record id="iban_rib_bank_code_field" model="res.partner.bank.type.field">
+            <field name="name">bank_code</field>
+            <field name="bank_type_id" ref="bank_iban_rib"/>
+            <field eval="True" name="required"/>
+            <field eval="False" name="readonly"/>
+            <field name="size">5</field>
+        </record>
+        <record id="iban_rib_office_field" model="res.partner.bank.type.field">
+            <field name="name">office</field>
+            <field name="bank_type_id" ref="bank_iban_rib"/>
+            <field eval="True" name="required"/>
+            <field eval="False" name="readonly"/>
+            <field name="size">5</field>
+        </record>
+        <record id="iban_rib_rib_acc_number_field" model="res.partner.bank.type.field">
+            <field name="name">rib_acc_number</field>
+            <field name="bank_type_id" ref="bank_iban_rib"/>
+            <field eval="True" name="required"/>
+            <field eval="False" name="readonly"/>
+            <field name="size">11</field>
+        </record>
+        <record id="iban_rib_key_field" model="res.partner.bank.type.field">
+            <field name="name">key</field>
+            <field name="bank_type_id" ref="bank_iban_rib"/>
+            <field eval="True" name="required"/>
+            <field eval="False" name="readonly"/>
+            <field name="size">2</field>
+        </record>
+        <record id="iban_rib_acc_number_field" model="res.partner.bank.type.field">
+            <field name="name">acc_number</field>
+            <field name="bank_type_id" ref="bank_iban_rib"/>
+            <field eval="True" name="required"/>
+            <field eval="False" name="readonly"/>
+        </record>
+        <record id="iban_rib_bic_field" model="res.partner.bank.type.field">
+            <field name="name">bank_bic</field>
+            <field name="bank_type_id" ref="bank_iban_rib"/>
             <field name="required" eval="0"/>
         </record>
+
+
     </data>
 </openerp>
index 56eb839..af62b81 100644 (file)
@@ -5,29 +5,56 @@
                <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>
-                       <field name="inherit_id" ref="base.view_partner_form" />
+                       <field name="inherit_id" ref="account.view_partner_property_form" />
                        <field name="type">form</field>
                        <field name="arch" type="xml">
-                               <field name="acc_number" position="before">
-                                       <newline />
-                                       <field name="bank_code" />
-                                       <field name="office" />
-                                       <newline />
-                               </field>
-                       </field>
-               </record>
-               <record id="view_partner_rib2_form" model="ir.ui.view">
-                       <field name="name">res.partner.form.rib2.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="acc_number" position="after">
-                                       <field name="key" />
-                               </field>
+                <data>
+                    <xpath expr="/form/notebook/page[@string='Accounting']/field[@name='bank_ids']/form/field[@name='acc_number']" position="before">
+                        <newline />
+                        <field name="bank_code" />
+                        <field name="office" />
+                        <field name="rib_acc_number" />
+                        <field name="key" />
+                        <newline />
+                    </xpath>
+                    <xpath expr="/form/notebook/page[@string='Accounting']/field[@name='bank_ids']/tree/field[@name='acc_number']" position="after">
+                        <field name="rib_acc_number" />
+                    </xpath>
+                </data>
                        </field>
                </record>
-               
+
+        <!-- add RIB fields to the form view of res.partner.bank -->
+        <record id="view_partner_bank_rib_form" model="ir.ui.view">
+            <field name="name">res.partner.bank.form.rib.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="before">
+                    <field name="bank_code" />
+                    <field name="office" />
+                    <newline />
+                    <field name="rib_acc_number" />
+                    <field name="key" />
+                    <newline />
+                </field>
+            </field>
+        </record>
+
+        <!-- add rib_acc_number to the tree view of res.partner.bank -->
+        <record id="view_partner_bank_rib_tree" model="ir.ui.view">
+            <field name="name">res.partner.bank.tree.rib.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="rib_acc_number" />
+                </field>
+            </field>
+        </record>
+
                <!-- add the bank code-->
                <record id="view_res_bank_form" model="ir.ui.view">
                        <field name="name">res.bank.form.rib.inherit</field>
index 4057daf..324c3f2 100644 (file)
@@ -4,10 +4,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: OpenERP Server 6.1beta\n"
+"Project-Id-Version: OpenERP Server 6.1rc1\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"
+"POT-Creation-Date: 2012-01-27 14:22+0000\n"
+"PO-Revision-Date: 2012-01-27 14:22+0000\n"
 "Last-Translator: <>\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
@@ -16,101 +16,125 @@ msgstr ""
 "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"
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_office_field
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
+msgid "office"
+msgstr "Agence"
 
 #. module: l10n_fr_rib
-#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
-msgid "Bank Accounts"
-msgstr "Comptes bancaires"
+#: field:res.partner.bank,office:0
+msgid "Office Code"
+msgstr "Code agence"
 
 #. module: l10n_fr_rib
-#: field:res.partner.bank,bank_code:0
-msgid "Bank Code"
-msgstr "Code banque"
+#: 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_bic_field
-msgid "bank_bic"
-msgstr "bank_bic"
+#: 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
-#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
-msgid "office"
-msgstr "Agence"
+#: field:res.partner.bank,rib_acc_number:0
+msgid "RIB account number"
+msgstr "Numéro de compte RIB"
 
 #. module: l10n_fr_rib
-#: field:res.bank,rib_code:0
-msgid "RIB Bank Code"
-msgstr "Code banque RIB"
+#: model:res.partner.bank.type,name:l10n_fr_rib.bank_iban_rib
+msgid "IBAN and RIB"
+msgstr "IBAN et 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."
+#: code:addons/l10n_fr_rib/bank.py:62
+#, python-format
+msgid "The IBAN %s is not valid."
+msgstr "L'IBAN %s n'est pas valide."
 
 #. module: l10n_fr_rib
-#: field:res.partner.bank,office:0
-msgid "Office Code"
-msgstr "Code agence"
+#: field:res.partner.bank,key:0
+msgid "Key"
+msgstr "Clé"
 
 #. 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)"
+#: model:ir.model,name:l10n_fr_rib.model_res_bank
+msgid "Bank"
+msgstr "Banque"
 
 #. 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:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_bank_code_field
 #: 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.iban_rib_key_field
 #: 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)"
+#: code:addons/l10n_fr_rib/bank.py:54
+#: code:addons/l10n_fr_rib/bank.py:61
+#, python-format
+msgid "Error"
+msgstr "Error"
 
 #. 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."
+#: constraint:res.partner.bank:0
+msgid "Error message in raise"
+msgstr "Error message in raise"
 
 #. module: l10n_fr_rib
-#: field:res.partner.bank,key:0
-msgid "Key"
-msgstr "Clé"
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_acc_number_field
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_acc_number_field
+msgid "acc_number"
+msgstr "acc_number"
 
 #. 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"
+#: field:res.partner.bank,bank_code:0
+msgid "Bank Code"
+msgstr "Code banque"
 
 #. module: l10n_fr_rib
-#: model:ir.model,name:l10n_fr_rib.model_res_bank
-msgid "Bank"
-msgstr "Banque"
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_bic_field
+#: 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.bank_acc_number_field
-msgid "acc_number"
-msgstr "acc_number"
+#: field:res.bank,rib_code:0
+msgid "RIB Bank Code"
+msgstr "Code banque RIB"
+
+#. 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
+#: code:addons/l10n_fr_rib/bank.py:55
+#, python-format
+msgid "The RIB key %s does not correspond to the other codes: %s %s %s."
+msgstr "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.iban_rib_rib_acc_number_field
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_rib_acc_number_field
+msgid "rib_acc_number"
+msgstr "rib_acc_number"
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_iban_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"
 
index 8953cd5..c2f6adb 100644 (file)
@@ -4,10 +4,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: OpenERP Server 6.1beta\n"
+"Project-Id-Version: OpenERP Server 6.1rc1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-22 18:45+0000\n"
-"PO-Revision-Date: 2011-12-22 18:45+0000\n"
+"POT-Creation-Date: 2012-01-27 14:22+0000\n"
+"PO-Revision-Date: 2012-01-27 14:22+0000\n"
 "Last-Translator: <>\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
@@ -16,85 +16,124 @@ msgstr ""
 "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"
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_office_field
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
+msgid "office"
 msgstr ""
 
 #. module: l10n_fr_rib
-#: field:res.partner.bank,bank_code:0
-msgid "Bank Code"
+#: field:res.partner.bank,office:0
+msgid "Office Code"
 msgstr ""
 
 #. module: l10n_fr_rib
-#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
-msgid "bank_bic"
+#: model:res.partner.bank.type,name:l10n_fr_rib.bank_rib
+msgid "RIB Bank Details"
 msgstr ""
 
 #. module: l10n_fr_rib
-#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_office_field
-msgid "office"
+#: help:res.partner.bank,key:0
+msgid "The key is a number allowing to check the correctness of the other codes."
 msgstr ""
 
 #. module: l10n_fr_rib
-#: field:res.bank,rib_code:0
-msgid "RIB Bank Code"
+#: field:res.partner.bank,rib_acc_number:0
+msgid "RIB account number"
 msgstr ""
 
 #. module: l10n_fr_rib
-#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
-msgid "Bank Accounts"
+#: model:res.partner.bank.type,name:l10n_fr_rib.bank_iban_rib
+msgid "IBAN and RIB"
 msgstr ""
 
 #. module: l10n_fr_rib
-#: field:res.partner.bank,office:0
-msgid "Office Code"
+#: code:addons/l10n_fr_rib/bank.py:62
+#, python-format
+msgid "The IBAN %s is not valid."
 msgstr ""
 
 #. module: l10n_fr_rib
-#: model:res.partner.bank.type,name:l10n_fr_rib.bank_rib
-msgid "RIB Bank Details"
+#: field:res.partner.bank,key:0
+msgid "Key"
 msgstr ""
 
 #. module: l10n_fr_rib
-#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
-msgid "bank_code"
+#: model:ir.model,name:l10n_fr_rib.model_res_bank
+msgid "Bank"
 msgstr ""
 
 #. module: l10n_fr_rib
-#: code:addons/l10n_fr_rib/bank.py:83
-#, python-format
+#: constraint:res.partner.bank:0
 msgid "\n"
-"The RIB key %s does not correspond to the other codes: %s %s %s."
+"Please define BIC/Swift code on bank for bank type IBAN Account to make valid payments"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_bank_code_field
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bank_code_field
+msgid "bank_code"
 msgstr ""
 
 #. module: l10n_fr_rib
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_key_field
 #: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_key_field
 msgid "key"
 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."
+#: code:addons/l10n_fr_rib/bank.py:54
+#: code:addons/l10n_fr_rib/bank.py:61
+#, python-format
+msgid "Error"
 msgstr ""
 
 #. module: l10n_fr_rib
-#: field:res.partner.bank,key:0
-msgid "Key"
+#: constraint:res.partner.bank:0
+msgid "Error message in raise"
 msgstr ""
 
 #. module: l10n_fr_rib
-#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
-msgid "%(bank_name)s: %(acc_number)s"
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_acc_number_field
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_acc_number_field
+msgid "acc_number"
 msgstr ""
 
 #. module: l10n_fr_rib
-#: model:ir.model,name:l10n_fr_rib.model_res_bank
-msgid "Bank"
+#: 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.bank_acc_number_field
-msgid "acc_number"
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.iban_rib_bic_field
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_bic_field
+msgid "bank_bic"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: field:res.bank,rib_code:0
+msgid "RIB Bank Code"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:ir.model,name:l10n_fr_rib.model_res_partner_bank
+msgid "Bank Accounts"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: code:addons/l10n_fr_rib/bank.py:55
+#, python-format
+msgid "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.iban_rib_rib_acc_number_field
+#: model:res.partner.bank.type.field,name:l10n_fr_rib.rib_rib_acc_number_field
+msgid "rib_acc_number"
+msgstr ""
+
+#. module: l10n_fr_rib
+#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_iban_rib
+#: model:res.partner.bank.type,format_layout:l10n_fr_rib.bank_rib
+msgid "%(bank_name)s: %(acc_number)s"
 msgstr ""