** Changed in: openobject-client-web
       Status: Fix Committed => Fix Released

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

Status in OpenObject Web Client: Fix Released
Status in OpenObject Server: Invalid

Bug description:
Openerp6 craches when there is accents in french translation; when trying to go 
in administration>Séquence>Séquence for exemple

<type 'exceptions.UnicodeEncodeError'>  Python 2.6.5: /usr/bin/python
Fri Jul 23 15:51:27 2010

A problem occurred in a Python script. Here is the sequence of function calls 
leading up to the error, in the order they occurred.
 
/usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.egg/cherrypy/_cprequest.py
 in respond(self=<cherrypy._cprequest.Request object>, 
path_info='/openerp/tree/open')
  604                     if self.handler:
  605                         self.stage = 'handler'
  606                         cherrypy.response.body = self.handler()
  607                     
  608                     self.stage = 'before_finalize'
global cherrypy = <module 'cherrypy' from 
'/usr/local/lib/python2..../CherryPy-3.1.2-py2.6.egg/cherrypy/__init__.pyc'>, 
cherrypy.response = <cherrypy._ThreadLocalProxy object>, cherrypy.response.body 
= [], self = <cherrypy._cprequest.Request object>, self.handler = 
<cherrypy._cpdispatch.LateParamPageHandler object>
 
/usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.egg/cherrypy/_cpdispatch.py
 in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object>)
   23     def __call__(self):
   24         try:
   25             return self.callable(*self.args, **self.kwargs)
   26         except TypeError, x:
   27             test_callable_spec(self.callable, self.args, self.kwargs)
self = <cherrypy._cpdispatch.LateParamPageHandler object>, self.callable = 
<bound method Root.default of <openobject.controllers._root.Root object>>, 
self.args = ('openerp', 'tree', 'open'), self.kwargs = {'id': '22', 'model': 
'ir.ui.menu'}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/openobject/tools/_expose.py
 in func_wrapper(*args=(<openobject.controllers._root.Root object>, 'openerp', 
'tree', 'open'), **kw={'id': '22', 'model': 'ir.ui.menu'})
  200         def func_wrapper(*args, **kw):
  201 
  202             res = func(*args, **kw)
  203 
  204             if format == 'json' or (allow_json and 'allow_json' in 
cherrypy.request.params):
global res = 
'/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/config/openobject-web.cfg',
 func = <function default>, args = (<openobject.controllers._root.Root object>, 
'openerp', 'tree', 'open'), kw = {'id': '22', 'model': 'ir.ui.menu'}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/openobject/controllers/_root.py
 in default(self=<openobject.controllers._root.Root object>, *args=('openerp', 
'tree', 'open'), **kw={'id': '22', 'model': 'ir.ui.menu'})
   35             request.handler = cherrypy.NotFound()
   36 
   37         return request.handler()
   38 
   39     def find_handler(self):
request = <cherrypy._ThreadLocalProxy object>, request.handler = 
<cherrypy._cpdispatch.LateParamPageHandler object>
 
/usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.egg/cherrypy/_cpdispatch.py
 in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object>)
   23     def __call__(self):
   24         try:
   25             return self.callable(*self.args, **self.kwargs)
   26         except TypeError, x:
   27             test_callable_spec(self.callable, self.args, self.kwargs)
self = <cherrypy._cpdispatch.LateParamPageHandler object>, self.callable = 
<function open>, self.args = (), self.kwargs = {'id': '22', 'model': 
'ir.ui.menu'}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/controllers/utils.py
 in wrapper(*args=(), **kw={'id': '22', 'model': 'ir.ui.menu'})
  122             # User is logged in; allow access
  123             clear_login_fields(kw)
  124             return fn(*args, **kw)
  125         else:
  126             # User isn't logged in yet.
fn = <bound method Tree.open of <openerp.controllers.tree.Tree object>>, args = 
(), kw = {'id': '22', 'model': 'ir.ui.menu'}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/openobject/tools/_expose.py
 in func_wrapper(*args=(<openerp.controllers.tree.Tree object>,), **kw={'id': 
'22', 'model': 'ir.ui.menu'})
  200         def func_wrapper(*args, **kw):
  201 
  202             res = func(*args, **kw)
  203 
  204             if format == 'json' or (allow_json and 'allow_json' in 
cherrypy.request.params):
global res = 
'/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/config/openobject-web.cfg',
 func = <function open>, args = (<openerp.controllers.tree.Tree object>,), kw = 
{'id': '22', 'model': 'ir.ui.menu'}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/controllers/tree.py
 in open(self=<openerp.controllers.tree.Tree object>, **kw={'id': '22', 
'model': 'ir.ui.menu'})
  261         return self.do_action('tree_but_open', datas={
  262                 '_terp_model': kw.get('model'),
  263                 '_terp_context': kw.get('context', {}),
  264                 '_terp_domain': kw.get('domain', []),
  265                 'ids': kw.get('id')})
kw = {'id': '22', 'model': 'ir.ui.menu'}, kw.get = <built-in method get of dict 
object>
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/controllers/tree.py
 in do_action(self=<openerp.controllers.tree.Tree object>, 
name='tree_but_open', adds={}, datas={'_terp_context': {}, '_terp_domain': [], 
'_terp_model': 'ir.ui.menu', 'ids': '22'})
  222             return actions.execute_by_keyword(
  223                     name, adds=adds, model=model, id=id, ids=ids, 
context=ctx,
  224                     report_type='pdf')
  225         else:
  226             raise common.message(_("No record selected!"))
report_type undefined
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/controllers/actions.py
 in execute_by_keyword(keyword='tree_but_open', adds={}, **data={'context': 
{'active_test': False, 'client': 'web', 'department_id': False, 'lang': 
u'fr_FR', 'tz': False}, 'id': 22, 'ids': [22], 'model': 'ir.ui.menu', 
'report_type': 'pdf'})
  383     if len(keyact) == 1:
  384         data['context'].update(rpc.session.context)
  385         return execute(action, **data)
  386     else:
  387         return Selection().create(keyact, **data)
global execute = <function execute>, action = {'auto_refresh': 0, 
'auto_search': True, 'context': u"{'active_test': False}", 'default_user_ids': 
[], 'display_help': True, 'domain': '[]', 'filter': False, 'groups_id': [], 
'help': False, 'id': 8, ...}, data = {'context': {'active_test': False, 
'client': 'web', 'department_id': False, 'lang': u'fr_FR', 'tz': False}, 'id': 
22, 'ids': [22], 'model': 'ir.ui.menu', 'report_type': 'pdf'}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/controllers/actions.py
 in execute(action={'auto_refresh': 0, 'auto_search': True, 'context': 
u"{'active_test': False}", 'default_user_ids': [], 'display_help': True, 
'domain': '[]', 'filter': False, 'groups_id': [], 'help': False, 'id': 8, ...}, 
**data={'context': {'active_test': False, 'client': 'web', 'department_id': 
False, 'lang': u'fr_FR', 'tz': False}, 'id': 22, 'ids': [22], 'limit': 80, 
'model': 'ir.ui.menu', 'report_type': 'pdf', 'res_id': None, 'res_model': 
u'ir.sequence', 'search_view': u'{\'name\': u\'ir.sequence.form\', \'type\': 
u\'form\', \'...ode" select="1"/></form>\', \'field_parent\': False}', 
'view_mode': u'tree,form', ...})
  262                              target=action.get('target'),
  263                              limit=data.get('limit'),
  264                              search_view = data['search_view'])
  265 
  266         return res
search_view = False, data = {'context': {'active_test': False, 'client': 'web', 
'department_id': False, 'lang': u'fr_FR', 'tz': False}, 'id': 22, 'ids': [22], 
'limit': 80, 'model': 'ir.ui.menu', 'report_type': 'pdf', 'res_id': None, 
'res_model': u'ir.sequence', 'search_view': u'{\'name\': u\'ir.sequence.form\', 
\'type\': u\'form\', \'...ode" select="1"/></form>\', \'field_parent\': 
False}', 'view_mode': u'tree,form', ...}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/controllers/actions.py
 in execute_window(view_ids=[19, False], model=u'ir.sequence', res_id=None, 
domain=[], view_type=u'form', context={'_terp_view_name': u'S\xe9quences', 
'active_id': 22, 'active_ids': [22], 'active_model': 'ir.ui.menu', 
'active_test': False, 'client': 'web', 'department_id': False, 'lang': 
u'fr_FR', 'tz': False}, mode=[u'tree', u'form'], name=u'S\xe9quences', 
target=u'current', limit=80, search_view=u'{\'name\': u\'ir.sequence.form\', 
\'type\': u\'form\', \'...ode" select="1"/></form>\', \'field_parent\': False}')
   84         params.view_mode=mode
   85 
   86         return Form().create(params)
   87 
   88     elif view_type == 'tree':
global Form = <class 'openerp.controllers.form.Form'>, ).create = <unbound 
method Form.create>, params = {'_terp_view_type': u'tree', '_terp_offset': 0, 
...tment_id': False}, '_terp_view_ids': [19, False]}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/controllers/utils.py
 in wrapper(*args=({'_terp_view_type': u'tree', '_terp_offset': 0, 
...tment_id': False}, '_terp_view_ids': [19, False]},), **kw={})
  122             # User is logged in; allow access
  123             clear_login_fields(kw)
  124             return fn(*args, **kw)
  125         else:
  126             # User isn't logged in yet.
fn = <bound method Form.create of <openerp.controllers.form.Form object>>, args 
= ({'_terp_view_type': u'tree', '_terp_offset': 0, ...tment_id': False}, 
'_terp_view_ids': [19, False]},), kw = {}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/openobject/tools/_expose.py
 in func_wrapper(*args=(<openerp.controllers.form.Form object>, 
{'_terp_view_type': u'tree', '_terp_offset': 0, ...tment_id': False}, 
'_terp_view_ids': [19, False]}), **kw={})
  200         def func_wrapper(*args, **kw):
  201 
  202             res = func(*args, **kw)
  203 
  204             if format == 'json' or (allow_json and 'allow_json' in 
cherrypy.request.params):
global res = 
'/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/config/openobject-web.cfg',
 func = <function create>, args = (<openerp.controllers.form.Form object>, 
{'_terp_view_type': u'tree', '_terp_offset': 0, ...tment_id': False}, 
'_terp_view_ids': [19, False]}), kw = {}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/controllers/form.py
 in create(self=<openerp.controllers.form.Form object>, 
params={'_terp_view_type': u'tree', '_terp_offset': 0, ...tment_id': False}, 
'_terp_view_ids': [19, False]}, tg_errors=None)
  200         if params.view_type == 'tree':
  201             params.editable = True
  202         form = self.create_form(params, tg_errors)
  203 
  204         if not tg_errors:
form undefined, self = <openerp.controllers.form.Form object>, self.create_form 
= <bound method Form.create_form of <openerp.controllers.form.Form object>>, 
params = {'_terp_view_type': u'tree', '_terp_offset': 0, ...tment_id': False}, 
'_terp_view_ids': [19, False]}, tg_errors = None
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/controllers/form.py
 in create_form(self=<openerp.controllers.form.Form object>, 
params={'_terp_view_type': u'tree', '_terp_offset': 0, ...tment_id': False}, 
'_terp_view_ids': [19, False]}, tg_errors=None)
  191         params.view_type = params.view_type or params.view_mode[0]
  192 
  193         return tw.form_view.ViewForm(params, name="view_form", 
action="/openerp/form/save")
  194 
  195     @expose(template="templates/form.mako")
global tw = <module 'openerp.widgets' from 
'/usr/local/lib/p...ev-py2.6.egg/addons/openerp/widgets/__init__.py'>, 
tw.form_view = <module 'openerp.widgets.form_view' from 
'/usr/l...v-py2.6.egg/addons/openerp/widgets/form_view.py'>, 
tw.form_view.ViewForm = <class 'openerp.widgets.form_view.ViewForm'>, params = 
{'_terp_view_type': u'tree', '_terp_offset': 0, ...tment_id': False}, 
'_terp_view_ids': [19, False]}, name undefined, action undefined
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/openobject/widgets/_meta.py
 in wrapper(self=ViewForm, *args=({'_terp_view_type': u'tree', '_terp_offset': 
0, ...tment_id': False}, '_terp_view_ids': [19, False]},), **kw={'action': 
'/openerp/form/save', 'name': 'view_form'})
   38             self.__initstack.append(1)
   39 
   40         res = func(self, *args, **kw)
   41         try:
   42             self.__initstack.pop()
res undefined, func = <function __init__>, self = ViewForm, args = 
({'_terp_view_type': u'tree', '_terp_offset': 0, ...tment_id': False}, 
'_terp_view_ids': [19, False]},), kw = {'action': '/openerp/form/save', 'name': 
'view_form'}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/widgets/form_view.py
 in __init__(self=ViewForm, params={'_terp_view_type': u'tree', '_terp_offset': 
0, ...tment_id': False}, '_terp_view_ids': [19, False]}, **kw={'action': 
'/openerp/form/save', 'name': 'view_form'})
   89         if params.view_type in ('tree', 'graph'):
   90             self.search = Search(model=params.model, domain=search_param, 
context=params.context, values=params.search_data or {},
   91                                  filter_domain=params.filter_domain or 
[], search_view=params.search_view, group_by_ctx=params.group_by_ctx or [])
   92             
   93             cherrypy.request.custom_search_domain = 
self.search.listof_domain or []
filter_domain undefined, params = {'_terp_view_type': u'tree', '_terp_offset': 
0, ...tment_id': False}, '_terp_view_ids': [19, False]}, params.filter_domain = 
None, search_view undefined, params.search_view = {'arch': u'<?xml 
version="1.0" ?><form string="S\xe9quences">\n...elect="1"/><field name="code" 
select="1"/></form>', 'field_parent': False, 'fields': {'active': 
{'selectable': True, 'string': u'Actif', 'type': 'boolean'}, 'code': 
{'required': True, 'selectable': True, 'selection': 
[(u'account.invoice.out_invoice', u'Account Invoice Out'), 
(u'account.invoice.in_invoice', u'Account Invoice In'), 
(u'account.invoice.out_refund', u'Account Refund Out'), 
(u'account.invoice.in_refund', u'Account Refund In'), 
(u'account.analytic.account', u'Analytic account'), (u'account.journal', 
u'Account Journal'), (u'account.reconcile', u'Account reconcile sequence'), 
(u'account.bank.statement', u'Bank Statement'), (u'saj', u'Sales Journal - 
(test)'), (u'scnj', u'Sales Credit Note Journal - (test)'), (u'exj', u'Expenses 
Journal - (test)'), (u'ecnj', u'Expenses Credit Notes Journal - (test)'), 
(u'bnk', u'Bank Journal - (test)'), (u'chk', u'Checks Journal - (test)')], 
'size': 64, 'string': u'Code de la s\xe9quence', 'type': 'selection'}, 
'company_id': {'context': {}, 'domain': [], 'relation': 'res.company', 
'selectable': True, 'string': u'Soci\xe9t\xe9', 'type': 'many2one'}, 
'fiscal_ids': {'context': {}, 'domain': [], 'relation': 
'account.sequence.fiscalyear', 'selectable': True, 'string': u'S\xe9quences', 
'type': 'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 
'string': u'Nom de la s\xe9quence', 'type': 'char'}, 'number_increment': 
{'required': True, 'selectable': True, 'string': u'Incr\xe9menter le 
Num\xe9ro', 'type': 'integer'}, 'number_next': {'required': True, 'selectable': 
True, 'string': u'Num\xe9ro suivant', 'type': 'integer'}, 'padding': {'help': 
"OpenERP will automatically adds some '0' on the ...e 'Next Number' to get the 
required padding size.", 'required': True, 'selectable': True, 'string': 
u'Remplissage', 'type': 'integer'}, 'prefix': {'selectable': True, 'size': 64, 
'string': u'Pr\xe9fixe', 'type': 'char'}, 'suffix': {'selectable': True, 
'size': 64, 'string': u'Suffixe', 'type': 'char'}}, 'model': 'ir.sequence', 
'name': u'ir.sequence.form', 'type': u'form', 'view_id': 18}, group_by_ctx 
undefined, params.group_by_ctx = None
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/openobject/widgets/_meta.py
 in wrapper(self=Search, *args=(), **kw={'context': {'_terp_view_name': 
u'S\xe9quences', 'active_id': 22, 'active_ids': [22], 'active_model': 
'ir.ui.menu', 'active_test': False, 'client': 'web', 'department_id': False, 
'lang': u'fr_FR', 'tz': False}, 'domain': [], 'filter_domain': [], 
'group_by_ctx': [], 'model': u'ir.sequence', 'search_view': {'arch': u'<?xml 
version="1.0" ?><form string="S\xe9quences">\n...elect="1"/><field name="code" 
select="1"/></form>', 'field_parent': False, 'fields': {'active': 
{'selectable': True, 'string': u'Actif', 'type': 'boolean'}, 'code': 
{'required': True, 'selectable': True, 'selection': 
[(u'account.invoice.out_invoice', u'Account Invoice Out'), 
(u'account.invoice.in_invoice', u'Account Invoice In'), 
(u'account.invoice.out_refund', u'Account Refund Out'), 
(u'account.invoice.in_refund', u'Account Refund In'), 
(u'account.analytic.account', u'Analytic account'), (u'account.journal', 
u'Account Journal'), (u'account.reconcile', u'Account reconcile sequence'), 
(u'account.bank.statement', u'Bank Statement'), (u'saj', u'Sales Journal - 
(test)'), (u'scnj', u'Sales Credit Note Journal - (test)'), (u'exj', u'Expenses 
Journal - (test)'), (u'ecnj', u'Expenses Credit Notes Journal - (test)'), 
(u'bnk', u'Bank Journal - (test)'), (u'chk', u'Checks Journal - (test)')], 
'size': 64, 'string': u'Code de la s\xe9quence', 'type': 'selection'}, 
'company_id': {'context': {}, 'domain': [], 'relation': 'res.company', 
'selectable': True, 'string': u'Soci\xe9t\xe9', 'type': 'many2one'}, 
'fiscal_ids': {'context': {}, 'domain': [], 'relation': 
'account.sequence.fiscalyear', 'selectable': True, 'string': u'S\xe9quences', 
'type': 'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 
'string': u'Nom de la s\xe9quence', 'type': 'char'}, 'number_increment': 
{'required': True, 'selectable': True, 'string': u'Incr\xe9menter le 
Num\xe9ro', 'type': 'integer'}, 'number_next': {'required': True, 'selectable': 
True, 'string': u'Num\xe9ro suivant', 'type': 'integer'}, 'padding': {'help': 
"OpenERP will automatically adds some '0' on the ...e 'Next Number' to get the 
required padding size.", 'required': True, 'selectable': True, 'string': 
u'Remplissage', 'type': 'integer'}, 'prefix': {'selectable': True, 'size': 64, 
'string': u'Pr\xe9fixe', 'type': 'char'}, 'suffix': {'selectable': True, 
'size': 64, 'string': u'Suffixe', 'type': 'char'}}, 'model': 'ir.sequence', 
'name': u'ir.sequence.form', 'type': u'form', 'view_id': 18}, 'values': {}})
   38             self.__initstack.append(1)
   39 
   40         res = func(self, *args, **kw)
   41         try:
   42             self.__initstack.pop()
res undefined, func = <function __init__>, self = Search, args = (), kw = 
{'context': {'_terp_view_name': u'S\xe9quences', 'active_id': 22, 'active_ids': 
[22], 'active_model': 'ir.ui.menu', 'active_test': False, 'client': 'web', 
'department_id': False, 'lang': u'fr_FR', 'tz': False}, 'domain': [], 
'filter_domain': [], 'group_by_ctx': [], 'model': u'ir.sequence', 
'search_view': {'arch': u'<?xml version="1.0" ?><form 
string="S\xe9quences">\n...elect="1"/><field name="code" select="1"/></form>', 
'field_parent': False, 'fields': {'active': {'selectable': True, 'string': 
u'Actif', 'type': 'boolean'}, 'code': {'required': True, 'selectable': True, 
'selection': [(u'account.invoice.out_invoice', u'Account Invoice Out'), 
(u'account.invoice.in_invoice', u'Account Invoice In'), 
(u'account.invoice.out_refund', u'Account Refund Out'), 
(u'account.invoice.in_refund', u'Account Refund In'), 
(u'account.analytic.account', u'Analytic account'), (u'account.journal', 
u'Account Journal'), (u'account.reconcile', u'Account reconcile sequence'), 
(u'account.bank.statement', u'Bank Statement'), (u'saj', u'Sales Journal - 
(test)'), (u'scnj', u'Sales Credit Note Journal - (test)'), (u'exj', u'Expenses 
Journal - (test)'), (u'ecnj', u'Expenses Credit Notes Journal - (test)'), 
(u'bnk', u'Bank Journal - (test)'), (u'chk', u'Checks Journal - (test)')], 
'size': 64, 'string': u'Code de la s\xe9quence', 'type': 'selection'}, 
'company_id': {'context': {}, 'domain': [], 'relation': 'res.company', 
'selectable': True, 'string': u'Soci\xe9t\xe9', 'type': 'many2one'}, 
'fiscal_ids': {'context': {}, 'domain': [], 'relation': 
'account.sequence.fiscalyear', 'selectable': True, 'string': u'S\xe9quences', 
'type': 'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 
'string': u'Nom de la s\xe9quence', 'type': 'char'}, 'number_increment': 
{'required': True, 'selectable': True, 'string': u'Incr\xe9menter le 
Num\xe9ro', 'type': 'integer'}, 'number_next': {'required': True, 'selectable': 
True, 'string': u'Num\xe9ro suivant', 'type': 'integer'}, 'padding': {'help': 
"OpenERP will automatically adds some '0' on the ...e 'Next Number' to get the 
required padding size.", 'required': True, 'selectable': True, 'string': 
u'Remplissage', 'type': 'integer'}, 'prefix': {'selectable': True, 'size': 64, 
'string': u'Pr\xe9fixe', 'type': 'char'}, 'suffix': {'selectable': True, 
'size': 64, 'string': u'Suffixe', 'type': 'char'}}, 'model': 'ir.sequence', 
'name': u'ir.sequence.form', 'type': u'form', 'view_id': 18}, 'values': {}}
 
/usr/local/lib/python2.6/dist-packages/openobject_web-5.2dev-py2.6.egg/addons/openerp/widgets/search.py
 in __init__(self=Search, model=u'ir.sequence', domain=[], 
context={'_terp_view_name': u'S\xe9quences', 'active_id': 22, 'active_ids': 
[22], 'active_model': 'ir.ui.menu', 'active_test': False, 'client': 'web', 
'department_id': False, 'lang': u'fr_FR', 'tz': False}, values={}, 
filter_domain=[], search_view={'arch': u'<?xml version="1.0" ?><form 
string="S\xe9quences">\n...elect="1"/><field name="code" select="1"/></form>', 
'field_parent': False, 'fields': {'active': {'selectable': True, 'string': 
u'Actif', 'type': 'boolean'}, 'code': {'required': True, 'selectable': True, 
'selection': [(u'account.invoice.out_invoice', u'Account Invoice Out'), 
(u'account.invoice.in_invoice', u'Account Invoice In'), 
(u'account.invoice.out_refund', u'Account Refund Out'), 
(u'account.invoice.in_refund', u'Account Refund In'), 
(u'account.analytic.account', u'Analytic account'), (u'account.journal', 
u'Account Journal'), (u'account.reconcile', u'Account reconcile sequence'), 
(u'account.bank.statement', u'Bank Statement'), (u'saj', u'Sales Journal - 
(test)'), (u'scnj', u'Sales Credit Note Journal - (test)'), (u'exj', u'Expenses 
Journal - (test)'), (u'ecnj', u'Expenses Credit Notes Journal - (test)'), 
(u'bnk', u'Bank Journal - (test)'), (u'chk', u'Checks Journal - (test)')], 
'size': 64, 'string': u'Code de la s\xe9quence', 'type': 'selection'}, 
'company_id': {'context': {}, 'domain': [], 'relation': 'res.company', 
'selectable': True, 'string': u'Soci\xe9t\xe9', 'type': 'many2one'}, 
'fiscal_ids': {'context': {}, 'domain': [], 'relation': 
'account.sequence.fiscalyear', 'selectable': True, 'string': u'S\xe9quences', 
'type': 'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 
'string': u'Nom de la s\xe9quence', 'type': 'char'}, 'number_increment': 
{'required': True, 'selectable': True, 'string': u'Incr\xe9menter le 
Num\xe9ro', 'type': 'integer'}, 'number_next': {'required': True, 'selectable': 
True, 'string': u'Num\xe9ro suivant', 'type': 'integer'}, 'padding': {'help': 
"OpenERP will automatically adds some '0' on the ...e 'Next Number' to get the 
required padding size.", 'required': True, 'selectable': True, 'string': 
u'Remplissage', 'type': 'integer'}, 'prefix': {'selectable': True, 'size': 64, 
'string': u'Pr\xe9fixe', 'type': 'char'}, 'suffix': {'selectable': True, 
'size': 64, 'string': u'Suffixe', 'type': 'char'}}, 'model': 'ir.sequence', 
'name': u'ir.sequence.form', 'type': u'form', 'view_id': 18}, group_by_ctx=[])
  272             self.fields_list.sort(lambda x, y: cmp(x[1], y[1]))
  273 
  274         dom = xml.dom.minidom.parseString(self.search_view['arch'])
  275         self.view_type = dom.firstChild.localName
  276         self.string = dom.documentElement.getAttribute('string')
dom undefined, global xml = <module 'xml' from 
'/usr/lib/python2.6/xml/__init__.pyc'>, xml.dom = <module 'xml.dom' from 
'/usr/lib/python2.6/xml/dom/__init__.pyc'>, xml.dom.minidom = <module 
'xml.dom.minidom' from '/usr/lib/python2.6/xml/dom/minidom.pyc'>, 
xml.dom.minidom.parseString = <function parseString>, self = Search, 
self.search_view = {'arch': u'<?xml version="1.0" ?><form 
string="S\xe9quences">\n...elect="1"/><field name="code" select="1"/></form>', 
'field_parent': False, 'fields': {'active': {'selectable': True, 'string': 
u'Actif', 'type': 'boolean'}, 'code': {'required': True, 'selectable': True, 
'selection': [(u'account.invoice.out_invoice', u'Account Invoice Out'), 
(u'account.invoice.in_invoice', u'Account Invoice In'), 
(u'account.invoice.out_refund', u'Account Refund Out'), 
(u'account.invoice.in_refund', u'Account Refund In'), 
(u'account.analytic.account', u'Analytic account'), (u'account.journal', 
u'Account Journal'), (u'account.reconcile', u'Account reconcile sequence'), 
(u'account.bank.statement', u'Bank Statement'), (u'saj', u'Sales Journal - 
(test)'), (u'scnj', u'Sales Credit Note Journal - (test)'), (u'exj', u'Expenses 
Journal - (test)'), (u'ecnj', u'Expenses Credit Notes Journal - (test)'), 
(u'bnk', u'Bank Journal - (test)'), (u'chk', u'Checks Journal - (test)')], 
'size': 64, 'string': u'Code de la s\xe9quence', 'type': 'selection'}, 
'company_id': {'context': {}, 'domain': [], 'relation': 'res.company', 
'selectable': True, 'string': u'Soci\xe9t\xe9', 'type': 'many2one'}, 
'fiscal_ids': {'context': {}, 'domain': [], 'relation': 
'account.sequence.fiscalyear', 'selectable': True, 'string': u'S\xe9quences', 
'type': 'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 
'string': u'Nom de la s\xe9quence', 'type': 'char'}, 'number_increment': 
{'required': True, 'selectable': True, 'string': u'Incr\xe9menter le 
Num\xe9ro', 'type': 'integer'}, 'number_next': {'required': True, 'selectable': 
True, 'string': u'Num\xe9ro suivant', 'type': 'integer'}, 'padding': {'help': 
"OpenERP will automatically adds some '0' on the ...e 'Next Number' to get the 
required padding size.", 'required': True, 'selectable': True, 'string': 
u'Remplissage', 'type': 'integer'}, 'prefix': {'selectable': True, 'size': 64, 
'string': u'Pr\xe9fixe', 'type': 'char'}, 'suffix': {'selectable': True, 
'size': 64, 'string': u'Suffixe', 'type': 'char'}}, 'model': 'ir.sequence', 
'name': u'ir.sequence.form', 'type': u'form', 'view_id': 18}
 /usr/lib/python2.6/xml/dom/minidom.py in parseString(string=u'<?xml 
version="1.0" ?><form string="S\xe9quences">\n...elect="1"/><field name="code" 
select="1"/></form>', parser=None)
 1926     if parser is None:
 1927         from xml.dom import expatbuilder
 1928         return expatbuilder.parseString(string)
 1929     else:
 1930         from xml.dom import pulldom
expatbuilder = <module 'xml.dom.expatbuilder' from 
'/usr/lib/python2.6/xml/dom/expatbuilder.pyc'>, expatbuilder.parseString = 
<function parseString>, string = u'<?xml version="1.0" ?><form 
string="S\xe9quences">\n...elect="1"/><field name="code" select="1"/></form>'
 /usr/lib/python2.6/xml/dom/expatbuilder.py in parseString(string=u'<?xml 
version="1.0" ?><form string="S\xe9quences">\n...elect="1"/><field name="code" 
select="1"/></form>', namespaces=True)
  938     else:
  939         builder = ExpatBuilder()
  940     return builder.parseString(string)
  941 
  942 
builder = <xml.dom.expatbuilder.ExpatBuilderNS instance>, builder.parseString = 
<bound method ExpatBuilderNS.parseString of 
<xml.dom.expatbuilder.ExpatBuilderNS instance>>, string = u'<?xml version="1.0" 
?><form string="S\xe9quences">\n...elect="1"/><field name="code" 
select="1"/></form>'
 /usr/lib/python2.6/xml/dom/expatbuilder.py in 
parseString(self=<xml.dom.expatbuilder.ExpatBuilderNS instance>, string=u'<?xml 
version="1.0" ?><form string="S\xe9quences">\n...elect="1"/><field name="code" 
select="1"/></form>')
  221         parser = self.getParser()
  222         try:
  223             parser.Parse(string, True)
  224             self._setup_subset(string)
  225         except ParseEscape:
parser = <pyexpat.xmlparser object>, parser.Parse = <built-in method Parse of 
pyexpat.xmlparser object>, string = u'<?xml version="1.0" ?><form 
string="S\xe9quences">\n...elect="1"/><field name="code" select="1"/></form>', 
builtin True = True

<type 'exceptions.UnicodeEncodeError'>: 'ascii' codec can't encode character 
u'\xe9' in position 37: ordinal not in range(128)
      args = ('ascii', u'<?xml version="1.0" ?><form 
string="S\xe9quences">\n...elect="1"/><field name="code" select="1"/></form>', 
37, 38, 'ordinal not in range(128)')
      encoding = 'ascii'
      end = 38
      message = ''
      object = u'<?xml version="1.0" ?><form 
string="S\xe9quences">\n...elect="1"/><field name="code" select="1"/></form>'
      reason = 'ordinal not in range(128)'
      start = 37



_______________________________________________
Mailing list: https://launchpad.net/~c2c-oerpscenario
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~c2c-oerpscenario
More help   : https://help.launchpad.net/ListHelp

Reply via email to