Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 16:23:21 +0100] rev 4902
backport stable
Katia Saurfelt <katia.saurfelt@logilab.fr> [Fri, 12 Mar 2010 16:21:13 +0100] rev 4901
LazySuggestField : remote version of RestrictedSuggestField
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 16:15:33 +0100] rev 4900
typo
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 16:11:56 +0100] rev 4899
backport stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 12 Mar 2010 15:53:31 +0100] rev 4898
Add a rssitem_id attribut to RSSView to easly choose the view used for items.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 15:05:33 +0100] rev 4897
[web] start a new message system based on id of message stored in session's data
instead of using __message as today, which is problematic (allow message injection).
Also we can have html in messages. Removed the __createdpath hack used to escape those
limitation.
The old system should still work though (and will probably for a while, though
we should progressivly move to the new system where it's possible).
Cleanup request paramaters handling on the way.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 15:01:52 +0100] rev 4896
[notification] fix dumb name error in hijack user
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 15:00:54 +0100] rev 4895
[dbapi] return default argument instead of None when no connection set yet
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 15:00:25 +0100] rev 4894
[cleanup selectors] use authenticated_user, check for form params instead of handling potential key error on missing params
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 14:55:41 +0100] rev 4893
[db backup] fix name error in backup_to_file: we've to pass .confirm all along the chain as for restore
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 14:52:22 +0100] rev 4892
[cleanup] use iteritems
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 14:51:59 +0100] rev 4891
[url] new rebuild_url method on base request
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 14:50:54 +0100] rev 4890
typo
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 12:09:27 +0100] rev 4889
fix apycot detection
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 11:50:27 +0100] rev 4888
provide logilab.database compat when creating database
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 11:49:29 +0100] rev 4887
update debian changelog
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 11:49:05 +0100] rev 4886
[db creation] fix some bugs introduced by the migration to logilab.database
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 11:34:35 +0100] rev 4885
[debian] packaging fixes
* remove postgresql-contrib from cubicweb dependency (using tsearch
which is included with postgres >= 8.3)
* add postgresql-client | mysql-client to cubicweb-server dependencies, necessary
for dump/restore of database
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:53:25 +0100] rev 4884
[web] yes this is used
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:53:15 +0100] rev 4883
[web] cleanup: move delete_entities to the edit controller
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:52:43 +0100] rev 4882
[web] stop using deprecated merge_dicts
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:52:04 +0100] rev 4881
[utils] improve dump_class by copying back original class doc and module name
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:51:30 +0100] rev 4880
[utils] make_uid imrovment: using .hex already remove '-', make key argument optional, document it
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:50:37 +0100] rev 4879
deprecates merge_dicts
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:49:42 +0100] rev 4878
kill unused method
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:46:45 +0100] rev 4877
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:46:28 +0100] rev 4876
Added tag cubicweb-debian-version-3.6.2-1 for changeset f3b4bb9121a0
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:46:28 +0100] rev 4875
Added tag cubicweb-version-3.6.2 for changeset bfebe3d14d53
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Mar 2010 10:43:32 +0100] rev 4874
[form] fix bug introduced by 4871:a34b76593ab2 with field using multiple input with different suffix: the suffix should be considered in the cache key
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 19:55:29 +0100] rev 4873
i18nupdate
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 19:49:40 +0100] rev 4872
prepare 3.6.2
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 19:16:35 +0100] rev 4871
[form fields] fix severe memory leak due to @cached on field.input_name
occuring on forms with persistent fields. Has been triggered in 3.6.1 on
our public sites because:
* the login form use persistent field since 3.6
* it's displayed on every anonymous request
* another bug (fixed during the latest mini-sprint) made it also displayed
for authenticated user
see explanation in code for more detail.
moral: be very careful with @cached...
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 19:07:45 +0100] rev 4870
[debug] allow to specify maxlevel to gc_info
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 18:28:38 +0100] rev 4869
[write security] we must check perm with read security disabled + add missing eid argument to check_perm
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 16:49:59 +0100] rev 4868
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 16:49:43 +0100] rev 4867
[session] del session's thread local store on close
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 16:49:07 +0100] rev 4866
[debug] a new view to help debugging memory leaks
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 16:48:38 +0100] rev 4865
[debug] minor improvments to the registry view
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 16:43:00 +0100] rev 4864
[web req] check latest url in breadcrumbs is not the same as the current one to keep more valuable information
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 16:42:13 +0100] rev 4863
[pyviews] add thead/tbody to pyvaltable view
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Mar 2010 16:41:43 +0100] rev 4862
[repo stats] add cache size
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 10 Mar 2010 12:52:33 +0100] rev 4861
[javascript] upgrade from version 1.0.2 to 1.1 of jquery.autocomplete.js
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 10 Mar 2010 12:37:34 +0100] rev 4860
[web] fix #736332: iespec functionality for add_css
Patch provided by vgodard.
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Wed, 10 Mar 2010 12:19:55 +0100] rev 4859
[javascript] use jQuery.one('ajax-loaded') instead of jQuery.bind() in add_onload to avoid multiple callback executions
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 10 Mar 2010 12:08:45 +0100] rev 4858
[widgets] fix typo
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 19:59:44 +0100] rev 4857
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 19:58:30 +0100] rev 4856
req has no more a cursor attribute
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 19:57:47 +0100] rev 4855
when some authentication plugin fail, we may try another one
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 19:57:04 +0100] rev 4854
logilab.db compat
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 14:38:41 +0100] rev 4853
[goa] i know goa is broken but that's still that we won't have to fix later :)
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Tue, 09 Mar 2010 19:39:50 +0100] rev 4852
[documentation] fix errors in book chapter instance-config
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 12:07:34 +0100] rev 4851
remove deprecation warning introduced by add_onload api change
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 12:07:16 +0100] rev 4850
[refactor] drop rset.vreg attribute, vreg should be accessed through rset.req. Also kill decorate_rset, simply set rset.req where we were calling this method.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 12:03:26 +0100] rev 4849
missing rename
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 11:54:27 +0100] rev 4848
rename logilab.db into logilab.database
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 11:42:06 +0100] rev 4847
move devtools.dataimport at the cw level since we don't want cubes using it to depends on cubicweb-dev
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 11:27:41 +0100] rev 4846
[widget] allow to specify hour/minute separator on the JQueryTimePicker (vgodard patch)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 11:05:29 +0100] rev 4845
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 11:01:44 +0100] rev 4844
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 11:00:48 +0100] rev 4843
fix hooks control method name + other litle cleanups
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 10:59:50 +0100] rev 4842
cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 10:59:44 +0100] rev 4841
move SLINK_DIRECTORIES creation to a function avoid unnecessary import (and kill that damed warning of psyco not being installed)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 10:53:55 +0100] rev 4840
cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 10:53:38 +0100] rev 4839
[schema hooks] properly check for changes of schema properties avoid useless costly operation (such as full-text reindexing all entities of a type). Refactor inlined handling and fix a bug trying to reindex a final entity type on the way.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 10:51:08 +0100] rev 4838
[hook] entity_oldnew_value may cause bug on attributes explicitly set to None
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 10:49:57 +0100] rev 4837
misc fixes to ensure logilab.db compatibility
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 10:48:46 +0100] rev 4836
[sql generation] fti_need_distinct quere was not anymore used, potentially causing duplicates on has_text queries with sqlite backend
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 09 Mar 2010 08:59:43 +0100] rev 4835
[repo] enhanced security handling: deprecates unsafe_execute, in favor of explicit read/write security control using the `enabled_security` context manager. Also code executed on the repository side is now unsafe by default.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Mar 2010 19:02:35 +0100] rev 4834
move hooks activation control on session object, so we can have a per transaction control. Added a new `hooks_control` context manager for usual modification of hooks activation.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Mar 2010 18:31:36 +0100] rev 4833
3.7 depends on python >= 2.5
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Mar 2010 18:08:24 +0100] rev 4832
rename deprecated file
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Mar 2010 17:57:29 +0100] rev 4831
[repo] use logilab.db instead of lgc.adbh/lgc.db/lgc.sqlgen/indexer, test new date extranction functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Mon, 08 Mar 2010 19:11:47 +0100] rev 4830
[javascript] fix #736185: add_onload / jQuery.bind() vs. jQuery.one()
This patch introduces a new 'server-response' event and
deprecates the 'ajax-loaded' event.
- 'server-response' is triggered by postAjaxLoad() (instead of
'ajax-loaded').
- 'server-response' is also triggered on document.ready().
- The add_onload() method binds the javascript code the
'server-response' event whether or not it's an ajax
request, thus removing the need of the jsoncall hackish
parameter. The binding is done with jQuery.one() instead
of jQuery.bind().
- The javascript callbacks will be passed two extra parameters :
a boolean to indicate if it's an ajax request or not, the DOM
node (result of the HTTP query). As javascript is what it is,
callbacks can safely ignore those two parameters if they don't
need them.
Backward compatibility is maintained by triggerring an 'ajax-loaded'
event when a 'server-response' is emitted.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Mar 2010 09:51:29 +0100] rev 4829
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Mar 2010 09:05:17 +0100] rev 4828
[cleanup] fti_* method already try/except exception, no need for additional catch here
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Mar 2010 09:04:36 +0100] rev 4827
[hook] use entity instead of values dict, check for edited_attributes on rtype change
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Mar 2010 09:03:43 +0100] rev 4826
[schema hook] fulltext_container is a relation *type* property. Test and fix (+ more fti properties change testing)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Mar 2010 09:00:23 +0100] rev 4825
fix name error fixed in wrong branch
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 08 Mar 2010 08:59:07 +0100] rev 4824
[test] don't use an internal url for test
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 18:20:39 +0100] rev 4823
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 18:20:18 +0100] rev 4822
merge
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 04 Mar 2010 18:57:13 +0100] rev 4821
Added tag cubicweb-debian-version-3.6.1-2 for changeset 0a16f07112b9
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 04 Mar 2010 16:26:52 +0100] rev 4820
[pkg/debian] prepare 3.6.1-2
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 04 Mar 2010 16:26:22 +0100] rev 4819
[pkg/debian] Remove python-elementtree from Depends
elementTree is included in python2.5 and all supported distrib are 2.5 or above.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 18:07:39 +0100] rev 4818
le patch massiveimport a été importé
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 17:29:24 +0100] rev 4817
fix bad test fix
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 17:24:01 +0100] rev 4816
repair stuff broken by fti handling changes
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 17:22:41 +0100] rev 4815
update test broken by fulltextindexed change on workflow entities
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 13:05:47 +0100] rev 4814
fix another name error
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 13:04:46 +0100] rev 4813
fix name error
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 12:18:22 +0100] rev 4812
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 09:39:34 +0100] rev 4811
eschema_type_eid become eschema_eid and always get a schema as argument + misc cleanup
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 09:35:06 +0100] rev 4810
don't issue critical warning about missing text index when we're creating the instance
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 05 Mar 2010 09:24:55 +0100] rev 4809
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 18:06:03 +0100] rev 4808
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 18:04:26 +0100] rev 4807
[cleanup] add index_entity to abstract source, add docstring
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 18:02:33 +0100] rev 4806
[fti] refactor and fix full text indexation handling
* moved logic from repository to the native source
* avoid creating a FTIndexOp when no full text indexation is needed
* entities with fulltext_container set are not indexed even when not
related to a container
* avoid duplicated unindexation
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 17:58:31 +0100] rev 4805
[schema] do not fulltext index workflow entities'description
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 17:51:19 +0100] rev 4804
no key error subsequent to test module import error
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 04 Mar 2010 17:51:27 +0100] rev 4803
merge
Aurelien Campeas <aurelien.campeas@logilab.fr> [Thu, 04 Mar 2010 17:50:17 +0100] rev 4802
[views/breadcrumbs] fix bad signature
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 17:49:31 +0100] rev 4801
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 17:49:14 +0100] rev 4800
nicer explanation
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 17:48:55 +0100] rev 4799
fix schema serialization bug: groupmap considered as addrdef argument
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 04 Mar 2010 16:58:40 +0100] rev 4798
[cwctl] list will warn about a badly formatted version constraint instead of crashing
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 12:08:23 +0100] rev 4797
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 12:08:09 +0100] rev 4796
oops, 'not' missing
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 12:07:54 +0100] rev 4795
[repo] fix bug introduced by 4757:ec9c20c6b9f7, testing for select.selection is not enough to avoid the substep query, we should check there is no interesting restriction (test added)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 11:45:29 +0100] rev 4794
[rql2sql] fix potential crash when testing _q_invariant on a ColumnAlias instead of a Variable by always considering _q_invariant to false for them
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 10:58:28 +0100] rev 4793
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 10:56:46 +0100] rev 4792
fix test broken by meta relation permissions tweaks
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 10:56:27 +0100] rev 4791
fix schema serialization, bad repartition of changes between stable and default
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 10:23:20 +0100] rev 4790
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 10:22:21 +0100] rev 4789
remove stuff from default introduced accidentally in stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 10:16:48 +0100] rev 4788
applied vgodard patch for jquery rounded corner w/ MSIE >= 8
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Mar 2010 09:57:40 +0100] rev 4787
backport stable
Adrien Chauve <adrien.chauve@logilab.fr> [Thu, 04 Mar 2010 09:43:16 +0100] rev 4786
[fix] #731915 use add_onload instead of plain <script> tag for progress bar.
This changeset fixes : #731915: missing inprogress style on the project page
Content fetched with ajax have their <script> tags removed. (see #734414) We
now use the _cw.html_headers.add_onload method to execute the javascript code
necessary to draw the progress bar.
In the process we removed the ProgressBarWidget and merged it in
ProgressTableView.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 04 Mar 2010 09:35:34 +0100] rev 4785
add render_description method to RSSItemView to improve modularity.
The construction of the description marker of and rss entry is currently built
by the main cell_call function. This make the job hard for RSSItemView subclass
to change the default behaviour. The changeset fix this issue by extracting the
description creation into a render_description method. Such extraction are
already in place for various rss marquer.
Julien Jehannet <julien.jehannet@logilab.fr> [Fri, 26 Feb 2010 17:00:42 +0100] rev 4784
le patch documentation-admin-tips a été importé
Julien Jehannet <Julien Jehannet <julien.jehannet@logilab.fr>> [Tue, 02 Mar 2010 21:48:36 +0100] rev 4783
[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'