[F] views: fix 2 unicode errors
1. You can now use valid unicode strings in ValidationError exception.
Previously, if 'err' contains unicode, UnicodeDecodeError was raised by format_errors()
>>> templstr = '<li>%s</li>\n'
>>> e = ValidationError(None, {None: u'oué, une exception en unicode!'})
>>> templstr % e
'<li>None (None): ou\xc3\xa9, une exception en unicode!</li>\n'
>>> templstr = u'<li>%s</li>\n'
>>> templstr % e
u'<li>None (None): ou\xe9, une exception en unicode!</li>\n'
2. The message of an Exception can contains unicode. But it now properly managed by “informal” string representation.
We can easily fix the problem by using the Exception.message attribute that still contains the original message.
>>> a = AssertionError(u'séfdsdf')
>>> a.message
u's\xe9fdsdf'
>>> str(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128)
>>> a = ValueError(u'fsdfsdéfsdfs')
>>> str(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 6: ordinal not in range(128)
>>> a
ValueError(u'fsdfsd\xe9fsdfs',)
>>> unicode(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 6: ordinal not in range(128)
>>> a.message
u'fsdfsd\xe9fsdfs'
Dfinition de workflow
======================
On peut mettre une condition rql ou/et un groupe auquel doit appartenir l'utilisateur.
Si on met la fois un(ou plusieurs) groupe et une condition RQL, il faut que les deux soient respects.
Si on met plusieurs groupes, il faut que l'utilisateur soit dans un des groupes.
Pour la condition RQL sur une transition, on peut y mettre les substitutions suivantes :
* `%(eid)s`, eid de l'objet
* `%(ueid)s`, eid de l'utilisateur qui fait la requte
* `%(seid)s`, eid de l'tat courant de l'objet
Dans le script de cration d'un workflow, penser mettre `_()` autour des noms d'tats et de transitions
pour que ceux si soient pris en compte par les scripts de gestion des catalogues i18n.