Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:11:17 +0100] rev 8779
[transaction] rename transaction_data to data
Transaction.transaction_data is redundant. A transaction_data property is left
for backward compatibility. Deprecation mechanism will come in later changeset
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:58:43 +0100] rev 8778
[session] document Session._tx
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:05:49 +0100] rev 8777
[session] split session creation from default session assignation
This is the first step for more independence for Transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:04:43 +0100] rev 8776
[session] make session lock reentrant
We are going to use it for other session related business. It is renamed from
_closed_lock to _lock in the same move.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:51:50 +0100] rev 8775
[session] document set_tx
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:49:57 +0100] rev 8774
[session] rename txstore variable to tx
This is a more accurate name
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 20:10:19 +0100] rev 8773
[session] rename `_threaddata` to `_tx`
The returned object is a Transaction object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:37:51 +0100] rev 8772
[session] rename self.__threaddata.txdata to self.__threaddata.tx
This is Transaction object now.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:42:33 +0100] rev 8771
[session] rename _tx_data into _txs
The object inside are now Transaction object. Not TransactionData object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:32:25 +0100] rev 8770
[transaction] relocate method building transaction context manager
It is in the middle of methods going to be refactored.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:49:48 +0100] rev 8769
[transaction] move RQLRewriter in Transaction
This remove the last ``AttributeError`` magic. The ``RQLRewriter`` needs a Session. Its
reset is handled in ``Session`` code to handle that
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:38:56 +0100] rev 8768
[transaction] initialize security control attribute in Transaction
There is no reason to not initialize them in __init__ time. This simplify the
Session code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:33:53 +0100] rev 8767
[session] move security constant out of the class
There is no reason for it to not be global. This will ease it use by
``Transaction object``.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:27:34 +0100] rev 8766
[transaction] initialize hook control attribute in Transaction
There is no reason to not initialize them in __init__ time. this simplify the
transaction code.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:34:04 +0100] rev 8765
[session] Move hook control constants out of the class
There is no reason for them to not be global. This will ease they use by
Transaction object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 25 Mar 2013 14:20:10 +0100] rev 8764
[transaction] initialize transaction data and state related attribute.
There is not reason to not explicitly declare and initialize attribute in
Transaction.__init__. This change requires the introduction of a
Transaction.clear() method to get ride of some wicked ``AttributeError`` based
logic.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 18:51:03 +0100] rev 8763
[transaction] handle ``mode`` default value in Transaction
The transaction mode is now explicitly passed at creation time and always read
from the Transaction object.
Note that there is a slight behavior change. The transaction mode is now set at
the creation of the transaction. Changes made to the default value have no
longer any effect on existing transaction.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 17:47:45 +0100] rev 8762
[transaction] explicit Transaction cnxset attribute
The Transaction object have a lot more attribute that those previously declared
in __init__. They are just dynamically assigned in Session code.
This changeset explicit the ``cnxset`` and ``mode`` attribute declaration.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 17:09:49 +0100] rev 8761
[server] rename TransactionData to Transaction
Transaction will become a full featured object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 22 Mar 2013 19:31:21 +0100] rev 8760
[doc] update Session documentation
A major refactoring of Session/Transaction handling is commit. This is a good
occasion to improves the documention.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 21 Mar 2013 19:08:07 +0100] rev 8759
merge 3.16 fix in default
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Mar 2013 16:52:13 +0100] rev 8758
[devtools] fix a couple issues with xvfb-run
xvfb-run didn't quite clean up correctly after itself, because:
- dash doesn't run EXIT traps on signals
- if we don't run the command in the background, a TERM handler doesn't run
until the command exits
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Mar 2013 16:37:06 +0100] rev 8757
[devtools/qunit] don't open-code subprocess.Popen.terminate
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Mar 2013 16:01:05 +0100] rev 8756
[devtools/qunit] get rid of unused variable
Alain Leufroy <alain.leufroy@logilab.fr> [Tue, 18 Oct 2011 16:55:16 +0200] rev 8755
[server] *init_repository* lookup the database instead of the schema to drop tables (closes #810743)
So, tables are dropped even if the schema was changed.
:note: if mssql, drop views before tables.
:note: because of table dependencies we try a second drop sequence
Arthur Lutz <arthur.lutz@logilab.fr> [Thu, 18 Oct 2012 15:52:05 +0200] rev 8754
[book] remove XXX to an old discussion about appengine
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 22 Feb 2013 12:20:59 +0100] rev 8753
[web publish] in case of error, ensure proper http status is set and Content-disposition header is reseted. Closes #2553066
Julien Cristau <julien.cristau@logilab.fr> [Tue, 12 Mar 2013 12:34:07 +0100] rev 8752
Add CubicWebRequestBase.content (closes #2742453)
This is the body of the HTTP request (stream)
David Douard <david.douard@logilab.fr> [Thu, 17 Jan 2013 14:55:07 +0100] rev 8751
add the match_http_method predicate (closes #2559932)
This aim at creating views which are selected on other HTTP methods
(PUT, DELETE, ...)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 21 Mar 2013 18:35:19 +0100] rev 8750
[pkg] the previous commit requires new feature in yams.
Alexandre Richardson <alexandre.richardson@logilab.fr> [Fri, 30 Nov 2012 16:43:36 +0100] rev 8749
add a command to compare db schema and file system schema (closes #464991)
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Tue, 12 Mar 2013 12:50:05 +0100] rev 8748
drop typed_eid() in favour of int() (closes #2742462)
typed_eid was introduced to abstract the eid type when running on Google AppEngine.
It is not used anymore and can be removed. Let's use int() instead.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Mar 2013 17:58:14 +0100] rev 8747
merge with stable
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 21 Mar 2013 18:13:31 +0100] rev 8746
3.15 is the new old stable
Arthur Lutz <arthur.lutz@logilab.fr> [Mon, 17 Sep 2012 14:39:29 +0200] rev 8745
[web] don't link to None in author box (when author has been deleted) (closes #2409855)
Julien Cristau <julien.cristau@logilab.fr> [Tue, 19 Mar 2013 18:20:57 +0100] rev 8744
dbapi: try to restore compatibility of the connect api with 3.15
A few issues here:
- urlparse('foo').scheme is '', not None
- cnxprops is an optional argument
Regression from 62213a34726e ("[db-api/configuration] simplify db-api
and configuration so that all the connection information is in the
repository url, closes #2521848")
Closes #2754322
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 20 Mar 2013 17:40:25 +0100] rev 8743
3.16 is the new stable
After discussion with David Douard I'm merging 3.16.x branches in stable and
starting 3.17 feature on default.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:56:46 +0100] rev 8742
Added tag cubicweb-debian-version-3.15.10-1 for changeset feca12e4a618
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:56:45 +0100] rev 8741
Added tag cubicweb-version-3.15.10 for changeset 89bdb5444cd2
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:56:28 +0100] rev 8740
prepare 3.15.10
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:54:32 +0100] rev 8739
Added tag cubicweb-debian-version-3.16.1-1 for changeset 84fbcdc8021c
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:54:31 +0100] rev 8738
Added tag cubicweb-version-3.16.1 for changeset d95cbb7349f0
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 16:53:57 +0100] rev 8737
prepare 3.16.1
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 15:30:06 +0100] rev 8736
[views/primary] some inner sections should use the `limit` by default to avoid a denial of service (closes #2719110)
Today, it is possible to call .related and get a huge unlimited
database-dos-inducing resultset that will be nevertheless limited a
bit further in pure python in the `autolimited` view.
While we cannot completely avoid potential denial of services such as
these we mitigate the problem with the default ui settings: if the
inner vid is `autolimited`, then the relation result sets is computed
using the user-defined limit.
This change respects the semantics of the `autolimited` view and
shouldn't break anything.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 15:18:22 +0100] rev 8735
[entity] ensure the .related(entities=False) parameter is honored all the way down (closes #2755994)
As of today, such a call will always fill the relation cache by
calling .entities() on every single related rset entry.
As a consequence, the `limit` parameter handling also had to be fixed.
It was bogus in the following ways:
* not used in the related_rql, hence potentially huge database
requests, but also actually
* foolishly used in the .entities()-calling cache routine we now
bypass (this changeset ticket's main topic)
Now:
* we set a limit on the rql expression, and
* forbid caching if given a non-None limit (as we don't want to make
the cache handling code more complicated than it is already)
With this, entity.unrelated gets a better limit implementation (so the
code in related/unrelated is nice and symmetric)
Risk:
* _cw_relation_cache disappears completely, which is good, but this is
Python, so you never know ...
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 15:17:34 +0100] rev 8734
[test/web] fix invisibly bogus test (prepares #2755994)
The test was wrong but that was cancelled out by a cache effect and
fuzzy naming.
Wiping the entity caches restores sanity: the choices list are the
same before and after the SET.
Also field.choices uses entity.unrelated but always returns related +
unrelated elements.
Hence `choice` replaces `unrelated` where it makes sense.
AssertIn is used in place of AssertTrue.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 08 Mar 2013 11:03:28 +0100] rev 8733
[cwconfig] Fix exception handling when building the cube dependency graph
UnorderableGraph exceptions do not have a 'cycles' property. A simple
cast to str does the job.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 12:25:18 +0100] rev 8732
[merge] backport stable fixes
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 18 Mar 2013 16:38:57 +0100] rev 8731
[test/sobject] fix test regression
Was complaining:
- * updated comment #EID (#EID)
? ^^^^
+ * updated comment #EID (duh?)
? ^^^^
in sobjects/test/unittest_supervising.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 Mar 2013 18:36:49 +0100] rev 8730
[web/request] Prune extraneous 'pageid' from generated ajax URL parameters (closes #2758130)
If 'pageid' is given through extraparams, it is sent twice to the
browser. On the JS side, the final URL loadxhtml() will end up using
will have 'pageid' set twice which CubicWeb will readily accept as a
list.
Pruning this parameter makes sure it is exactly once.
Rémi Cardona <remi.cardona@logilab.fr> [Wed, 13 Mar 2013 19:23:22 +0100] rev 8729
[web/component] Use global variable to point to ajax controller (part of #2758254)
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 19 Mar 2013 12:24:40 +0100] rev 8728
[web] Use the new '/ajax' URL path to access the AjaxController (closes #2758254)
5a81fa526b30 took care of all the JS code, this patch cleans up the
remaining python bits.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 19 Mar 2013 10:08:20 +0100] rev 8727
[devtools/httptest] fix syntax error introduced by ce5ae7b80d2c
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 12 Mar 2013 19:24:43 +0100] rev 8726
[component] Fix URL generation for navigation component (closes #2464832)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 12 Mar 2013 12:08:22 +0100] rev 8725
merge with another default heads
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 12 Mar 2013 12:04:51 +0100] rev 8724
Merge stable into default (NON-TRIVIAL)
- dropping __future__ statement added by d2472948da9c
- added migration from 407acc41beb5 to migration file for 3.16.1
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 08 Feb 2013 18:36:00 +0100] rev 8723
maintain python2.5 compatibility
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Jan 2013 11:36:21 +0100] rev 8722
[schema/workflow] one more typo fix
Also add proper migration.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 22 Feb 2013 11:17:02 +0100] rev 8721
[devtools] add http_publish to CubicWebTC (closes #2565882)
Fakes a http request, without overriding the normal error handling.
Returns the request object so the caller can check for errors.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Jan 2013 12:47:40 +0100] rev 8720
[testlib] url_publish should give url to the request and the rset returned by the path evaluator to ctrl_publish. Closes #2557468
Also, url_publish now accepts a `data` argument to simulate POST of values.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Fri, 22 Feb 2013 19:36:40 +0100] rev 8719
[towards py3k] import reduce() from functools (part of #2711624)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 11 Mar 2013 18:37:01 +0100] rev 8718
merge stable fix into default
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Jan 2013 18:37:48 +0100] rev 8717
[doc] document dbapi.Connection
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 08 Mar 2013 09:15:09 +0100] rev 8716
[c-c shell] fix command description (-P option is gone long ago)
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 11 Mar 2013 14:46:09 +0100] rev 8715
[hooks/syncschema] do not crash when adding a new entity type (closes #2741643)
The previous version assumed META_RTYPES provide relation definitions
for all entity types.
pwatteyne [Tue, 29 Jan 2013 16:57:44 +0100] rev 8714
[views/debug] Do not show all web sessions without CNX, just count them (closes #2602161)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 05 Mar 2013 15:37:37 +0100] rev 8713
[facets js] use $ instead of jQuery and other small cleanups
Julien Cristau <julien.cristau@logilab.fr> [Thu, 17 Jan 2013 15:42:09 +0100] rev 8712
[devtools/httptest] allow sending other types of requests besides GET
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 08 Mar 2013 18:43:42 +0100] rev 8711
merge with stable
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Mon, 04 Mar 2013 17:22:57 +0100] rev 8710
[ext/rest] fix docstring of rql_role()
Vincent Michel <vincent.michel@logilab.fr> [Fri, 08 Mar 2013 18:04:40 +0100] rev 8709
[web application] Fix missing self. in error_handler
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 18 Dec 2012 12:42:56 +0100] rev 8708
[ldapfeed] all options of a source should be in the same group, else you get AssertionError on c-c add-source. Closes #2538398
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Wed, 20 Feb 2013 16:13:21 +0100] rev 8707
[sources] fix classes that inherit from AbstractSource (closes #2718669)
Julien Cristau <julien.cristau@logilab.fr> [Thu, 24 Jan 2013 10:28:49 +0100] rev 8706
[login] don't redirect to http url if we allow anonymous on https
Closes #2583913
Jérôme Roy <jerome.roy@logilab.fr> [Mon, 25 Feb 2013 11:34:58 +0100] rev 8705
Correct typo in example
Julien Cristau <julien.cristau@logilab.fr> [Mon, 25 Feb 2013 18:02:11 +0100] rev 8704
[testlib] make test_view load the json data
Closes #2721472
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 11 Feb 2013 12:06:16 +0100] rev 8703
[etwist] Properly escape traceback output (closes #2712042)
Stop using StringIO in the process as well.
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 11 Feb 2013 11:26:08 +0100] rev 8702
[dbapi] Stop shadowing exceptions in get_repository() (closes #2710515)
Exceptions are already handled higher up in the stack so there's no
reason to handle them here. Furthermore, non-ConnectionError exceptions
would get hidden, making debugging harder.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 25 Feb 2013 11:18:14 +0100] rev 8701
[cwvreg] complete cw.web.uicfg cleanup callback (closes #2718217)
1dd655788ece introduced insufficient backward compat support
When cubes directly import uicfg from cubicweb.web (or uihelper) this
also creates a reference in the parent cubicweb.web namespace. This
must be cleaned up as reloaded cubes will take back this reference and
the old versions of its appobjects.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 28 Feb 2013 11:19:36 +0100] rev 8700
[book] fix typo.
remove spurious `i`
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Sat, 16 Feb 2013 21:46:24 +0100] rev 8699
[towards py3k] fix bug introduced by 0bb18407c053
Anthony Truchet <anthony.truchet@logilab.fr> [Tue, 21 Feb 2012 18:23:23 +0100] rev 8698
[doc] Book entry for the undo functionnality.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 14 Feb 2013 16:45:07 +0100] rev 8697
[toward py3k] rewrite has_key() (part of #2711624)
The `has_key` method is not in Python3K but dict supports __contains__ check for
ages.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 14 Feb 2013 16:01:24 +0100] rev 8696
[toward py3k] rewrite dict.keys() and dict.values() (part of #2711624)
Python 3K will only expose iterators.
http://docs.python.org/3.0/whatsnew/3.0.html#views-and-iterators-instead-of-lists
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 14 Feb 2013 15:38:25 +0100] rev 8695
[toward-py3k] rewrite to "except AnException as exc:" (part of #2711624)
The older form is not necessary since we dropped python 2.5 compability. This
will help Python 3.3 experimentation.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 14 Feb 2013 15:39:23 +0100] rev 8694
[toward-py3k] remove import with_statement (part of #2711624)
They are unneeded since we dropped python 2.5 compatibility. This will help
Python 3.3 experimentation.
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Thu, 14 Feb 2013 15:29:20 +0100] rev 8693
pkg: drop python 2.5 compatibility (closes #2711624)
2.5 is not common anymore. Dropping compatibility will help moving to a code
base compatible with Python 3.3
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 14 Feb 2013 15:21:23 +0100] rev 8692
devtools: improve qunit timeout message
Make the message clearer, shorter and properly wrapped.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 14 Feb 2013 14:26:33 +0100] rev 8691
merge default into stable
Nicolas Chauvat <nicolas.chauvat@logilab.fr> [Tue, 12 Feb 2013 11:35:15 +0100] rev 8690
[devtools] fix broken windmill test case
David Douard <david.douard@logilab.fr> [Thu, 31 Jan 2013 18:34:31 +0100] rev 8689
Added tag cubicweb-debian-version-3.15.9-1 for changeset 29fbc632a696
David Douard <david.douard@logilab.fr> [Thu, 31 Jan 2013 18:34:30 +0100] rev 8688
Added tag cubicweb-version-3.15.9 for changeset 8bfc0753f1da
David Douard <david.douard@logilab.fr> [Fri, 25 Jan 2013 17:56:15 +0100] rev 8687
Added tag cubicweb-debian-version-3.16.0-1 for changeset 853237d1daf6
David Douard <david.douard@logilab.fr> [Fri, 25 Jan 2013 17:56:14 +0100] rev 8686
Added tag cubicweb-version-3.16.0 for changeset 6c7c2a02c9a0
David Douard <david.douard@logilab.fr> [Fri, 25 Jan 2013 17:52:02 +0100] rev 8685
3.15.9
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 25 Jan 2013 16:44:07 +0100] rev 8684
[ldap test] fix bad merge