Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 20 Mar 2012 18:25:06 +0100] rev 8322
[repository] move task manager instantiation outside repository.
Repository callers are in charge of providing a task manager.
The task manager is optional when the repository is not a server. This
part is not really expected to work well yet. But we aim to remove all task
management responsibilities from the Repository object.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 20 Mar 2012 18:24:46 +0100] rev 8321
[repository] split repo initialization from starting looping task (closes #2204047)
This separation highlights that two distinct operations are done. This is a step
towards a full distinction between repo, server and looping tasks
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 20 Mar 2012 18:24:35 +0100] rev 8320
[repo looping task] move looping task logic in a dedicated object (progress #2204047)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 20 Mar 2012 18:20:20 +0100] rev 8319
[manage / default index views] discard login/logout templates
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 16 Mar 2012 14:23:58 +0100] rev 8318
devtools-request: transmit the headers keyword argument to the request class
Otherwise the headers kwargs end up in the form.
This is very useful for testing publish logic related to http header (as cache).
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 16 Mar 2012 17:59:48 +0100] rev 8317
[security] use a stronger encryption algorythm for password, keeping bw compat
Administrator should ask their users to reenter new password so they
benefit from the new encryption.
Also, new encryption is cross-platform compatible, eg you may now move an instance
from windows to linux painlessly
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Thu, 15 Mar 2012 17:59:27 +0100] rev 8316
[cache] factorize _validate_cache() logic implemented in wsgi and twisted handlers
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 15 Mar 2012 17:57:40 +0100] rev 8315
[fake-request] support `http_method()`
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 15 Mar 2012 18:34:59 +0100] rev 8314
[Web-Request] Use rich header (closes #2204164)
Unify header management. All web request use the Headers class now (imported
from twisted). Code dedicated to header management have been merged into the
base WebRequest class.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 15 Mar 2012 17:54:40 +0100] rev 8313
http-header: support __contains__ in Headers
You can now use::
>>> 'expires" in headers
True
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 15 Mar 2012 17:48:20 +0100] rev 8312
[web] Move request handling logic into cubicweb application. (closes #2200684)
We improve http status handling in the process:
``application.publish`` have been renamed to ``application.handle`` to better
reflect it's roles.
The request object gain a status_out attribute to convey the HTTP status of the
response.
WSGI and etwist code have been updated.
Exception gain status attribute
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 15 Mar 2012 17:42:31 +0100] rev 8311
[login] split authentication logic from post authentication logic (closes #2200755)
* The Session manager is now only in charge of providing a valid session.
* LoginControllers are now used in all case but wrong credential.
* The LoginControllers are in charge of redirecting the user to the page wanted
to see in the first place, expected to see.
* The login form is now always submitted to the login controller with an extra
argument pointing to the url we should redirect too after successful
authentication.
The ``"log out first logic"`` logic on login controller is removed because:
1. Other web actor do not do that.
2. Removed code do not need to be reimplemented.
3. We can only get it to work again in a single case: use do a GET request on
http://www.my-cw-stuff.io/login
4. I do not see it's purpose.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 01 Mar 2012 12:08:35 +0100] rev 8310
[LoginForm] refactor to ease other implementation
An Abstract BaseLoginForm is created. It is intended to be used by cubes who
want to implement new login form. It gather common login form elements in
particular the form action.
This will ease redefinition of this form action in later commit.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 27 Feb 2012 15:24:14 +0100] rev 8309
[request] gather all base_url logic in a single place (closes #2200756)
* Handle ``https base-url`` in the core code: ``./req.py`` and ``web/request.py``
* Remove custom ``base_url`` handling if web request
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 15 Mar 2012 17:30:28 +0100] rev 8308
[http] drop use-request-subdomain feature (closes #2251986)
This feature do not have any user nowaday and lays in the path to WSGI.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 16 Mar 2012 10:29:15 +0100] rev 8307
backport stable
Anthony Truchet <anthony.truchet@logilab.fr> [Thu, 15 Mar 2012 14:26:12 +0100] rev 8306
[config, undo] Fix undo-support option migration
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 13 Mar 2012 15:27:30 +0100] rev 8305
Added tag cubicweb-debian-version-3.14.6-1 for changeset 75364c099490
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 13 Mar 2012 15:27:30 +0100] rev 8304
Added tag cubicweb-version-3.14.6 for changeset db021578232b
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 13 Mar 2012 14:21:11 +0100] rev 8303
3.14.6
Julien Cristau <julien.cristau@logilab.fr> [Tue, 13 Mar 2012 14:20:28 +0100] rev 8302
[debian] add a watch file
Allows tools like uscan to find the tarball for new debian revisions.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 13 Mar 2012 14:20:16 +0100] rev 8301
[uilib] don't print timedeltas between 0 and 23h as negative (closes #2236352)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 07 Mar 2012 16:16:44 +0100] rev 8300
[storage/bfss] ensure bfss never remove a cw_edited item (closes #2236287)
When the <old value> == <new value> (not really and update but can happen), the
value was popped but never restored. The cw_edited attribut had wrong content
for a small time lapse.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 13 Mar 2012 14:11:40 +0100] rev 8299
[datafeed xml parser] fix typo
Adrien Di Mascio <Adrien.DiMascio@logilab.fr> [Mon, 27 Feb 2012 17:02:31 +0100] rev 8298
[twisted] move out url logic from twisted (closes #2200593)
Data, fck and static file are now served by cubicweb controller by default.
Some hackish url rewriting is necessary to have them selected. This is necessary
because cubicweb does not selection controller on multi level path.
- 'Expires' header seems to conflict with Cache-Control set by HTTPCacheManger
(don't know yet why HTTPCacheManager is involved here)
mod_wsgi is now usable in simple cases (e.g. still requires persisten sessions).
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 01 Mar 2012 17:22:56 +0100] rev 8297
[cwconfig] improve assert error message.
Single tuple element are processed in a non trivial way.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 07 Mar 2012 16:09:55 +0100] rev 8296
rqlrewrite: remove element in rewritten when we remove them from the select (closes #2236985)
update _cleanup_inserted to avoid leaving rewritten variable behind when
removing a snipset.
insert_varmap_snippets was impacted too for unclear reason
---
Before
A KeyError was raised when:
* multiple snipset is to be inserted on a statement
* some *supported* snipset adds ambiguity (increase the number of solution)
* some *unsupported* snipset adds new variable
* The new variable require rewritting
::
File "/home/pyves/src/fcw/cubicweb/rqlrewrite.py", line 185, in rewrite
newsolutions = self.remove_ambiguities(snippets, newsolutions)
File "/home/pyves/src/fcw/cubicweb/rqlrewrite.py", line 436, in
remove_ambiguities
variantes = self.build_variantes(newsolutions)
File "/home/pyves/src/fcw/cubicweb/devtools/repotest.py", line 340, in
_build_variantes
variantes = _orig_build_variantes(self, newsolutions)
File "/home/pyves/src/fcw/cubicweb/rqlrewrite.py", line 470, in
build_variantes
variante.append( (key, sol[newvar]) )
KeyError: u'D'
This happen because the mechanism removing unsupported snipset does not remove
entry in ``self.rewritten`` when it removes entry from
``self.select.defined_vars``.
Iteration on ``self.rewritten`` then crash because values of ``rewritten`` are
expected to
be found in solution.
Katia Saurfelt <katia.saurfelt@logilab.fr> [Fri, 02 Mar 2012 15:15:20 +0100] rev 8295
[js] fix $.fullCalendar.regional call (closes #2232028)