[FIX] base_import: avoid name clash when importing ir.translation records. Call the...
authorMartin Trigaux <mat@openerp.com>
Wed, 12 Mar 2014 14:05:15 +0000 (15:05 +0100)
committerMartin Trigaux <mat@openerp.com>
Wed, 12 Mar 2014 14:05:15 +0000 (15:05 +0100)
This hack is needed in 7.0 to avoid changes in the API.
Renaming the method is the proper solution for trunk (done revision 5018)

bzr revid: mat@openerp.com-20140312140515-tisj9cye0mzfprsw

addons/base_import/models.py

index 996dbf7..3fd34b9 100644 (file)
@@ -11,6 +11,7 @@ except ImportError:
 import psycopg2
 
 from openerp.osv import orm, fields
+from openerp.osv.orm import BaseModel
 from openerp.tools.translate import _
 
 FIELDS_RECURSION_LIMIT = 2
@@ -316,8 +317,12 @@ class ir_import(orm.TransientModel):
             }]
 
         _logger.info('importing %d rows...', len(data))
-        import_result = self.pool[record.res_model].load(
-            cr, uid, import_fields, data, context=context)
+        # DO NOT FORWARD PORT, already fixed in trunk
+        # hack to avoid to call the load method from ir_translation (name clash)
+        if record.res_model == 'ir.translation':
+            import_result = BaseModel.load(self.pool[record.res_model], cr, uid, import_fields, data, context=context)
+        else:
+            import_result = self.pool[record.res_model].load(cr, uid, import_fields, data, context=context)
         _logger.info('done')
 
         # If transaction aborted, RELEASE SAVEPOINT is going to raise