Merge lp:~therp-nl/openobject-server/7.0-lp1194893-export_xmlid_wrong_table_name into lp:openobject-server/7.0

Proposed by Stefan Rijnhart (Opener)
Status: Merged
Merged at revision: 5248
Proposed branch: lp:~therp-nl/openobject-server/7.0-lp1194893-export_xmlid_wrong_table_name
Merge into: lp:openobject-server/7.0
Diff against target: 44 lines (+6/-5)
2 files modified
openerp/osv/orm.py (+3/-3)
openerp/tests/addons/test_impex/tests/test_export.py (+3/-2)
To merge this branch: bzr merge lp:~therp-nl/openobject-server/7.0-lp1194893-export_xmlid_wrong_table_name
Reviewer Review Type Date Requested Status
Martin Trigaux (OpenERP) (community) Approve
Review via email: mp+171564@code.launchpad.net
To post a comment you must log in.
5019. By Stefan Rijnhart (Opener)

[FIX] Do not search for model = table name in previous commit

5020. By Stefan Rijnhart (Opener)

[FIX] Update test for external id

Revision history for this message
Martin Trigaux (OpenERP) (mat-openerp) wrote :

Thnaks for the patch, merged into 7.0

revno: 5248 [merge]
revision-id: <email address hidden>

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'openerp/osv/orm.py'
--- openerp/osv/orm.py 2013-10-10 17:07:18 +0000
+++ openerp/osv/orm.py 2013-10-24 21:47:52 +0000
@@ -1110,7 +1110,7 @@
11101110
1111 def _get_xml_id(self, cr, uid, r):1111 def _get_xml_id(self, cr, uid, r):
1112 model_data = self.pool.get('ir.model.data')1112 model_data = self.pool.get('ir.model.data')
1113 data_ids = model_data.search(cr, uid, [('model', '=', r._table_name), ('res_id', '=', r['id'])])1113 data_ids = model_data.search(cr, uid, [('model', '=', r._model._name), ('res_id', '=', r['id'])])
1114 if len(data_ids):1114 if len(data_ids):
1115 d = model_data.read(cr, uid, data_ids, ['name', 'module'])[0]1115 d = model_data.read(cr, uid, data_ids, ['name', 'module'])[0]
1116 if d['module']:1116 if d['module']:
@@ -1120,13 +1120,13 @@
1120 else:1120 else:
1121 postfix = 01121 postfix = 0
1122 while True:1122 while True:
1123 n = self._table+'_'+str(r['id']) + (postfix and ('_'+str(postfix)) or '' )1123 n = r._model._table+'_'+str(r['id']) + (postfix and ('_'+str(postfix)) or '' )
1124 if not model_data.search(cr, uid, [('name', '=', n)]):1124 if not model_data.search(cr, uid, [('name', '=', n)]):
1125 break1125 break
1126 postfix += 11126 postfix += 1
1127 model_data.create(cr, SUPERUSER_ID, {1127 model_data.create(cr, SUPERUSER_ID, {
1128 'name': n,1128 'name': n,
1129 'model': self._name,1129 'model': r._model._name,
1130 'res_id': r['id'],1130 'res_id': r['id'],
1131 'module': '__export__',1131 'module': '__export__',
1132 })1132 })
11331133
=== modified file 'openerp/tests/addons/test_impex/tests/test_export.py'
--- openerp/tests/addons/test_impex/tests/test_export.py 2012-09-07 12:08:04 +0000
+++ openerp/tests/addons/test_impex/tests/test_export.py 2013-10-24 21:47:52 +0000
@@ -309,8 +309,9 @@
309 def test_external_id(self):309 def test_external_id(self):
310 integer_id = self.registry('export.integer').create(310 integer_id = self.registry('export.integer').create(
311 self.cr, openerp.SUPERUSER_ID, {'value': 42})311 self.cr, openerp.SUPERUSER_ID, {'value': 42})
312 # __export__.$class.$id312 # Expecting the m2o target model name in the external id,
313 external_id = u'__export__.export_many2one_%d' % integer_id313 # not this model's name
314 external_id = u'__export__.export_integer_%d' % integer_id
314 self.assertEqual(315 self.assertEqual(
315 self.export(integer_id, fields=['value/id']),316 self.export(integer_id, fields=['value/id']),
316 [[external_id]])317 [[external_id]])