[FIX] if a selection label is empty, return the value in a selection import message

bzr revid: xmo@openerp.com-20121003115949-sgsouhcmboascjbl
This commit is contained in:
Xavier Morel 2012-10-03 13:59:49 +02:00
parent 1e4a677f05
commit b9b19f61ea
3 changed files with 5 additions and 4 deletions

View File

@ -168,7 +168,8 @@ class ir_fields_converter(orm.Model):
raise ValueError(
_(u"Value '%s' not found in selection field '%%(field)s'") % (
value), {
'moreinfo': map(operator.itemgetter(1), selection)
'moreinfo': [label or unicode(item) for item, label in selection
if label or item]
})

View File

@ -22,7 +22,7 @@ models = [
('date', fields.date()),
('datetime', fields.datetime()),
('text', fields.text()),
('selection', fields.selection([(1, "Foo"), (2, "Bar"), (3, "Qux")])),
('selection', fields.selection([(1, "Foo"), (2, "Bar"), (3, "Qux"), (4, '')])),
('selection.function', fields.selection(selection_fn)),
# just relate to an integer
('many2one', fields.many2one('export.integer')),

View File

@ -466,13 +466,13 @@ class test_selection(ImporterCase):
self.assertIs(result['ids'], False)
self.assertEqual(result['messages'], [message(
u"Value 'Baz' not found in selection field 'unknown'",
moreinfo="Foo Bar Qux".split())])
moreinfo="Foo Bar Qux 4".split())])
result = self.import_(['value'], [[42]])
self.assertIs(result['ids'], False)
self.assertEqual(result['messages'], [message(
u"Value '42' not found in selection field 'unknown'",
moreinfo="Foo Bar Qux".split())])
moreinfo="Foo Bar Qux 4".split())])
class test_selection_function(ImporterCase):
model_name = 'export.selection.function'