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
1=== modified file 'openerp/osv/orm.py'
2--- openerp/osv/orm.py 2013-10-10 17:07:18 +0000
3+++ openerp/osv/orm.py 2013-10-24 21:47:52 +0000
4@@ -1110,7 +1110,7 @@
5
6 def _get_xml_id(self, cr, uid, r):
7 model_data = self.pool.get('ir.model.data')
8- data_ids = model_data.search(cr, uid, [('model', '=', r._table_name), ('res_id', '=', r['id'])])
9+ data_ids = model_data.search(cr, uid, [('model', '=', r._model._name), ('res_id', '=', r['id'])])
10 if len(data_ids):
11 d = model_data.read(cr, uid, data_ids, ['name', 'module'])[0]
12 if d['module']:
13@@ -1120,13 +1120,13 @@
14 else:
15 postfix = 0
16 while True:
17- n = self._table+'_'+str(r['id']) + (postfix and ('_'+str(postfix)) or '' )
18+ n = r._model._table+'_'+str(r['id']) + (postfix and ('_'+str(postfix)) or '' )
19 if not model_data.search(cr, uid, [('name', '=', n)]):
20 break
21 postfix += 1
22 model_data.create(cr, SUPERUSER_ID, {
23 'name': n,
24- 'model': self._name,
25+ 'model': r._model._name,
26 'res_id': r['id'],
27 'module': '__export__',
28 })
29
30=== modified file 'openerp/tests/addons/test_impex/tests/test_export.py'
31--- openerp/tests/addons/test_impex/tests/test_export.py 2012-09-07 12:08:04 +0000
32+++ openerp/tests/addons/test_impex/tests/test_export.py 2013-10-24 21:47:52 +0000
33@@ -309,8 +309,9 @@
34 def test_external_id(self):
35 integer_id = self.registry('export.integer').create(
36 self.cr, openerp.SUPERUSER_ID, {'value': 42})
37- # __export__.$class.$id
38- external_id = u'__export__.export_many2one_%d' % integer_id
39+ # Expecting the m2o target model name in the external id,
40+ # not this model's name
41+ external_id = u'__export__.export_integer_%d' % integer_id
42 self.assertEqual(
43 self.export(integer_id, fields=['value/id']),
44 [[external_id]])