validate an invoice generate UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)

Bug #1232768 reported by Houssine
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Odoo Addons (MOVED TO GITHUB)
New
Undecided
OpenERP Publisher's Warranty Team

Bug Description

Hi There,

OS : Ubuntu 12/04 LTS
OpenERP version 7
language : french

Hi there,

When trying to validate an invoice it fails giving this stack trace. This error happen while it tries to post the 'account.mt_invoice_validated message in the chatter of the invoice.

The french translation of "validated" is "validé". I don't get the error running the database localy on my machin under windows.

Client Traceback (most recent call last):
  File "/opt/openerp7/server/openerp/addons/web/http.py", line 204, in dispatch
    response["result"] = method(self, **self.params)
  File "/opt/openerp7/server/openerp/addons/web/controllers/main.py", line 1139, in exec_workflow
    return req.session.exec_workflow(model, id, signal)
  File "/opt/openerp7/server/openerp/addons/web/session.py", line 147, in exec_workflow
    r = self.proxy('object').exec_workflow(self._db, self._uid, self._password, model, signal, id)
  File "/opt/openerp7/server/openerp/addons/web/session.py", line 30, in proxy_method
    result = self.session.send(self.service_name, method, *args)
  File "/opt/openerp7/server/openerp/addons/web/session.py", line 103, in send
    raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)

Server Traceback (most recent call last):
  File "/opt/openerp7/server/openerp/addons/web/session.py", line 89, in send
    return openerp.netsvc.dispatch_rpc(service_name, method, args)
  File "/opt/openerp7/server/openerp/netsvc.py", line 292, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
  File "/opt/openerp7/server/openerp/service/web_services.py", line 626, in dispatch
    res = fn(db, uid, *params)
  File "/opt/openerp7/server/openerp/osv/osv.py", line 131, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/opt/openerp7/server/openerp/osv/osv.py", line 220, in exec_workflow
    res = self.exec_workflow_cr(cr, uid, obj, signal, *args)
  File "/opt/openerp7/server/openerp/osv/osv.py", line 213, in exec_workflow_cr
    return object._workflow_signal(cr, uid, [res_id], signal)[res_id]
  File "/opt/openerp7/server/openerp/osv/orm.py", line 3928, in _workflow_signal
    result[res_id] = wf_service.trg_validate(uid, self._name, res_id, signal, cr)
  File "/opt/openerp7/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
    res2 = instance.validate(cr, id, ident, signal)
  File "/opt/openerp7/server/openerp/workflow/instance.py", line 43, in validate
    workitem.process(cr, witem, ident, signal, force_running, stack=stack)
  File "/opt/openerp7/server/openerp/workflow/workitem.py", line 60, in process
    ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
  File "/opt/openerp7/server/openerp/workflow/workitem.py", line 175, in _split_test
    _join_test(cr, t[0], t[1], ident, stack)
  File "/opt/openerp7/server/openerp/workflow/workitem.py", line 183, in _join_test
    create(cr,[activity], inst_id, ident, stack)
  File "/opt/openerp7/server/openerp/workflow/workitem.py", line 40, in create
    process(cr, res, ident, stack=stack)
  File "/opt/openerp7/server/openerp/workflow/workitem.py", line 52, in process
    result = _execute(cr, workitem, activity, ident, stack)
  File "/opt/openerp7/server/openerp/workflow/workitem.py", line 106, in _execute
    returned_action = wkf_expr.execute(cr, ident, workitem, activity)
  File "/opt/openerp7/server/openerp/workflow/wkf_expr.py", line 67, in execute
    return _eval_expr(cr, ident, workitem, activity['action'])
  File "/opt/openerp7/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
    ret = eval(line, env, nocopy=True)
  File "/opt/openerp7/server/openerp/tools/safe_eval.py", line 241, in safe_eval
    return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/opt/openerp7/server/openerp/osv/orm.py", line 374, in function_proxy
    return attr(self._cr, self._uid, [self._id], *args, **kwargs)
  File "/opt/openerp7/server/openerp/addons/l10n_be_invoice_bba/invoice.py", line 208, in write
    return super(account_invoice, self).write(cr, uid, ids, vals, context)
  File "/opt/openerp7/server/openerp/addons/mail/mail_thread.py", line 280, in write
    self.message_track(cr, uid, ids, tracked_fields, initial_values, context=context)
  File "/opt/openerp7/server/openerp/addons/mail/mail_thread.py", line 390, in message_track
    message = format_message('', tracked_values)
  File "/opt/openerp7/server/openerp/addons/mail/mail_thread.py", line 344, in format_message
    message += '%s</div>' % change.get('new_value')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)

Thanks for your help.

Kind regards,
Houssine

Tags: maintenance
Changed in openobject-addons:
assignee: nobody → OpenERP Publisher's Warranty Team (openerp-opw)
tags: added: maintenance
Revision history for this message
Houssine (houssine-bakkali) wrote :

Hi,

I would like to add that under windows I'm running OpenERP under an eclipse/pydev environment. And my PyDev conf is probably set with an utf-8 default encoding.

Regards,
Houssine

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.