← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 741765] Re: [trunk] selection widget and unicode

 

Hi Denis Koncheko,

The above code will display value and string only my friend.

The first word of tuple ('tеct', u'тест') act as key to access value and
its only saved in db and will be not displayed anywhere on front end.

Just give a try my friend.

max_ximus is my skype id. You can add me for help.

Regards,
Kinner Vachhani
www.techreceptives.com

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/741765

Title:
  [trunk] selection widget and unicode

Status in OpenERP Web Client:
  Confirmed

Bug description:
  I want create selection with unicode data in fields.
  'selection': fields.selection(
                          [(u'тест', u'тест')],
                          string="Test selection"),
  But I receive error:

  ###
   /home/kodemi/src/openerp6/web/addons/openerp/widgets/form/_form.py in set_value(self=Selection, value='')
    535 
    536         for s in dict(self.options):
    537             if str(s) == str(value):
    538                 """
    539             print "s: %s %s" % (s, type(s))
  builtin str = <type 'str'>, s = u'\u0442\u0435\u0441\u0442', value = ''

  <type 'exceptions.UnicodeEncodeError'>: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128) 
        args = ('ascii', u'\u0442\u0435\u0441\u0442', 0, 4, 'ordinal not in range(128)') 
        encoding = 'ascii' 
        end = 4 
        message = '' 
        object = u'\u0442\u0435\u0441\u0442' 
        reason = 'ordinal not in range(128)' 
        start = 0
  ###

  I changed in _form.py in set_value:
      from:     if str(s) == str(value)
      to:          if unicode(s) == unicode(value)
  Now it works.



References