[EMAIL PROTECTED] wrote:
Hello:
I'm dealing with a portal (CPS 3.4.4 - Ubuntu Feisty Fawn) with
Spanish and English languages. I've got portal_translations installed.
I get the next error
UnicodeDecodeError: 'ascii' codec can't decode byte 0xed in position
142: ordinal not in range(128).
when I try to post in a forum with a latin character in title,
description, etc, like that:
({'author': 'V\xedctor',
'creation': DateTime('2007/05/10
12:50:12.835 GMT-4'),
'id': 'problemas-con-nokia-628x',
'locked': False,
'message': 'Parece ... modelo de
m\xf3vil. Al iniciar la aplicaci\xf3n y realizar algunos pasos aparece
una excepci\xf3n de OutOfMemory. Por lo que he visto este modelo de
m\xf3vil tiene ....<br />Como soluci\xf3n se comenta que cambiando el
Firmware del dispositivo se soluciona el problema. Espero que as\xed
podr\xe1is ',
'parent_id': None,
'published': True,
'review_state': 'published',
'subject': 'Problemas con Nokia 628x'},
())],
Anyone knows why?
We found a solution:
In post_tree.py (CPSForum), at line 145, we do the next changes:
author = str(post['author'])
posterName = author
posterName = cgi.escape(context.getPosterName(author))
if isinstance(posterName, unicode):
posterName = str(posterName.encode("iso8859-15"))
else:
posterName = str(posterName)
fullname = '<a href="javascript:void(0)"
onclick="javascript:window.open(\'popupdirectory_entry_view?dirname=members&id=' + author +
'\',\'wclose\',\'width=500,height=200,scrollbars=yes,toolbar=no,status=no,resizable=yes,left=20,top=30\')">'
+\
posterName + '</a>'
instead of:
fullname = '<a href="javascript:void(0)"
onclick="javascript:window.open(\'popupdirectory_entry_view?dirname=members&id=' + post['author'] +
'\',\'wclose\',\'width=500,height=200,scrollbars=yes,toolbar=no,status=no,resizable=yes,left=20,top=30\')">'
+\
cgi.escape(context.getPosterName(post['author'])) + '</a>'
We've got problems with "posterName", because it returns an incorrectly
encoded value.
In other hand, we've made an improve to getPosterName method:
mtool = context.portal_membership
+ author = mtool.getFullnameFromId(post_author)
+ if not author:
+ author = post_author
- return mtool.getFullnameFromId(post_author)
+ return author
This changes gives us fullname of authenticated user or the poster name
in case of anonymous user.
The original method only gives us the name in authenticated users.
--
Daniel Téllez Sabán.
Yerbabuena Software. Dpto I+D.
[EMAIL PROTECTED]
http://www.yerbabuena.es
Tlf/Fax: 902 995 246 Móvil: 615 051 283
_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel