Rémi Cardona <remi.cardona@logilab.fr> [Mon, 28 Jul 2014 16:05:19 +0200] rev 9978
[entities] cw_rest_attr_info() should only consider required attributes (closes #3766717)
This prevents CW from choosing unique but non-required attributes. None/NULL is
a poor choice for RESTful URIs.
Damien Garaud <damien.garaud@logilab.fr> [Fri, 08 Aug 2014 13:05:07 +0200] rev 9977
[views] csvexport accept an empty rset (closes #4236928)
When you tried to apply the 'csvexport' view on an empty rset, the view
couldn't be selected and you got a HTTP 500 error.
Also add two new test cases.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 11 Sep 2014 16:43:20 +0200] rev 9976
[views] Display attributes in entity creation form based on "add" permission
Previously, the "update" permission was used. Hence in case the latter is
more restrictive that the "add" permission, an user may not be able to set
such an attribute, despite she may have "add" permission on it.
As a result of the change of permissions action in `editable_attributes`
method (add/update depending on whether the entity is being created or
modified), the "eid" attribute would have shown up in the edition form. To
avoid this, it is moved in the "hidden" section (where it should arguably
belong anyways).
Closes #4342844.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 18 Sep 2014 11:03:39 +0200] rev 9975
[datafeed] Commit after all deletions in datafeed parser
This avoids misleading validation error because schema constraints could be
temporarily broken depending on the deletion order.
Closes #4372127.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Sep 2014 17:34:36 +0200] rev 9974
[schema] CWComputedRType is a schema type
Hide it from the default views.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 23 Sep 2014 14:19:11 +0200] rev 9973
[doc] proofreading CWEP002 section
Anthony Truchet <anthony.truchet@logilab.fr> [Mon, 10 Feb 2014 11:03:43 +0100] rev 9972
[CWEP002] document computed relations and attributes
Related to #3546717.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Aug 2014 17:41:34 +0200] rev 9971
[CWEP002 migration] support sync_schema_props_perms for computed attribute
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 22 Jul 2014 11:00:21 +0200] rev 9970
[CWEP002 migration] support drop_relation_type/drop_relation_definition/drop_attribute for computed attributes
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Aug 2014 18:31:18 +0200] rev 9969
[CWEP002 migration] support add_relation_type/add_attribute for computed attributes
Related to #3546717.
Lea Capgen <lea.capgen@logilab.fr> [Tue, 16 Sep 2014 15:28:35 +0200] rev 9968
[CWEP002] properly handle serialization of computed attributes
Until this cset, only serialization of computed attribute's formula was
handled (thanks to the relation definition's properties dict).
We now:
* properly serialize/deserialize attribute's formula
* test first if the database has been migrated and contains related
column or not
Related to #3546717
Sylvain Thénault [Tue, 16 Sep 2014 16:39:23 +0200] rev 9967
[CWEP002] Add support for computed attribute synchronization
Related to #3546717.
Test and handle the behaviour with several formulas and identified use cases. To
do so add a birth year and a computed attribute age to Person in the test
schema.
Laura Médioni <laura.medioni@logilab.fr> [Mon, 28 Apr 2014 14:11:23 +0200] rev 9966
[CWEP002] Add schema finalization checks for computed attributes
``finalize_computed_attributes`` essentially checks that computed attributes
types match with the type declaration of the attribute.
Related to #3546717.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 16 Jun 2014 10:08:32 +0200] rev 9965
[CWEP002] Account for attribute formula in schema bootstrap
This isn't enough to have computed attribute support, it is only in order not to
crash when yams 0.40 is used.
Related to #3546717.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Aug 2014 07:44:29 +0200] rev 9964
[CWEP002 migration] support sync_schema_props_perms for computed relations
Laura Médioni <laura.medioni@logilab.fr> [Thu, 28 Aug 2014 08:02:15 +0200] rev 9963
[CWEP002 migration] support add_relation_type for computed relations
Related to #3546717.
Laura Médioni <laura.medioni@logilab.fr> [Thu, 28 Aug 2014 07:55:33 +0200] rev 9962
[CWEP002 migration] support drop_relation_type for computed relations
Related to #3546717.
Laura Médioni <laura.medioni@logilab.fr> [Thu, 28 Aug 2014 07:49:31 +0200] rev 9961
[CWEP002 migration] properly raise exception on (add|drop)_relation_definition for computed relation
Related to #3546717
Laura Médioni <laura.medioni@logilab.fr> [Fri, 27 Jun 2014 12:00:17 +0200] rev 9960
[hooks] do not abuse of inheritance for CWRType hooks
Just copy the selector to ease readability.
Laura Médioni <laura.medioni@logilab.fr> [Mon, 16 Jun 2014 10:08:18 +0200] rev 9959
[schema serial] add some comments
Laura Médioni <laura.medioni@logilab.fr> [Mon, 16 Jun 2014 10:07:57 +0200] rev 9958
[schema] define full_rql on RQLExpression class
without it, we may have an error while displaying error which occured during
some expression initialization because this attribute is not yet defined while
used in the __str__ method.
Laura Médioni <laura.medioni@logilab.fr> [Fri, 29 Aug 2014 07:44:13 +0200] rev 9957
[schema] properly raise BadSchemaDefinition
when some expression mains variables may not be guessed
Lea Capgen <lea.capgen@logilab.fr> [Thu, 28 Aug 2014 18:29:14 +0200] rev 9956
[CWEP002] properly handle serialization of computed relations
We now:
* have CWComputedRelation in the bootstrap schema to store computed relations
* properly serialize/deserialize it
* test first if the database has been migrated and contains the related table
Related to #3546717
[jcr: adjust unittest_querier to pass with the added entity type]
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 27 Jun 2014 16:11:53 +0200] rev 9955
[CWEP002] Plug the computed relation rewriter in the querier
Related to #3546717.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 13 Feb 2014 13:58:28 +0100] rev 9954
[CWEP002] refactor rql read security checking
Split 'check_read_perms' into 'check_relations_perms' which checks relations
'read' permissions and 'get_local_checks' which build dictionary of local
security checks (rql expression) for variables.
This allows to check relations 'read' permissions earlier in the process and so
to prepare insertion of the rql rewriter: we want to check permissions of the
computed relation, not permissions of relations introduced by the associated
rule, to conform to the CWEP.
Related to #3546717
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 16 Jun 2014 10:22:24 +0200] rev 9953
[CWEP002] introduce RQLRelationRewriter
Refactor existing RQLRewriter for later reuse of rewriting relation as specified
by CWEP002. Work is different because we simply want to replace a relation by
another rql snippet and we don't have to bother with EXISTS, subqueries and all.
This rewriter is not yet plugged into the querier.
Depends on yams 0.40 API.
Related to #3546717
Lea Capgen <lea.capgen@logilab.fr>, Sylvain Thénault <sylvain.thenault@logilab.fr>, Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Sep 2014 14:46:11 +0200] rev 9952
[CWEP002] Add schema finalization checks for computed relations (rules)
Related to #3546717
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 12 Sep 2014 14:10:03 +0200] rev 9951
[schema] add utility function to build a CubicWebSchema from a namespace
Will be useful for testing computed attributes and relations.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Aug 2014 18:12:28 +0200] rev 9950
Fix test migration crash waiting to happen due to inferred relations
Avoid crashing when a relation definition which is already known (due to
being inferred) gets explicitly added. As explained in a comment, this
would deserve more thinking, but at least this fixes a test failure with
computed relations.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Aug 2014 07:42:10 +0200] rev 9949
fix typo in syncschema hooks
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Sep 2014 18:01:51 +0200] rev 9948
[test] Make test_undo_api less random
The order in which hooks are run is not predictable if they have the
same 'order' attribute, which is the case for SetOwnershipHook and
SetInitialStateHook. So don't assume in_state will be set before
created_by.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 17 Sep 2014 13:43:31 +0200] rev 9947
merge 3.17.17 into 3.18 branch
Christophe de Vienne <christophe@unlish.com> [Wed, 10 Sep 2014 21:28:33 +0200] rev 9946
[wsgi] Fix unicode decoding in POST
The application/x-www-form-urlencoded sent by firefox or chrome is utf-8
encoded BEFORE being urlencoded.
Hence, decoding must urldecode THEN decode the utf-8 string, and not the
other way around.
Christophe de Vienne <christophe@unlish.com> [Thu, 21 Aug 2014 22:42:48 +0200] rev 9945
[wsgi] add the --debug / -D option to the wsgi command
Christophe de Vienne <christophe@unlish.com> [Mon, 08 Sep 2014 10:55:30 +0200] rev 9944
[wsgi] Fix multiple variables reading in params
Closes #4306081
Christophe de Vienne <christophe@unlish.com> [Tue, 02 Sep 2014 13:00:47 +0200] rev 9943
[wsgi] Set self.vreg
Closes #4306049
Christophe de Vienne <christophe@unlish.com> [Tue, 02 Sep 2014 10:31:13 +0200] rev 9942
[wsgi] Add missing import
Closes #4305988
Christophe de Vienne <christophe@unlish.com> [Tue, 02 Sep 2014 10:30:28 +0200] rev 9941
[wsgi] Fix https detection
- 'HTTPS' is not part of wsgi, it is a CGI variable. The right wsgi variable
is 'wsgi.url_scheme'
- Force https if url starts with '/https/' (and remove the prefix from the
path.
Closes #4305985
Christophe de Vienne <christophe@unlish.com> [Thu, 24 Jul 2014 20:57:14 +0200] rev 9940
[wsgi] Re-set the request content after calling the inherited constructor.
Closes #4191813
Christophe de Vienne <christophe@unlish.com> [Thu, 24 Jul 2014 20:53:21 +0200] rev 9939
[wsgi] Honor the 'CONTENT_TYPE' wsgi variable
See http://legacy.python.org/dev/peps/pep-0333/#environ-variables
Closes #4191812
Aurelien Campeas <aurelien.campeas@logilab.fr> [Wed, 17 Sep 2014 10:31:50 +0200] rev 9938
Added tag cubicweb-version-3.17.17, cubicweb-debian-version-3.17.17-1, cubicweb-centos-version-3.17.17-1 for changeset 57e9d1c70512
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 16 Sep 2014 18:39:07 +0200] rev 9937
[pkg] prepare 3.17.17
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Jul 2014 16:26:09 +0200] rev 9936
[web/headers] don't list a request header twice in "Vary"
Julien Cristau <julien.cristau@logilab.fr> [Mon, 28 Jul 2014 17:22:49 +0200] rev 9935
[test] silence a few more deprecation warnings in unittest_hooks
self.session → cnx.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 25 Jul 2014 16:24:44 +0200] rev 9934
[session] call rollback in Connection.__exit__
If we just free the cnxset and clear the Connection, we're missing the
pending operation's rollback_event callbacks, which may be needed for
cleanup.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 24 Jul 2014 14:52:16 +0200] rev 9933
[devtools] pre_setup_database takes a Connection, not a Session
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 03 Jun 2014 18:00:53 +0200] rev 9932
[source/native] cPickle is available in all supported pythons
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 22 Jul 2014 18:16:23 +0200] rev 9931
devtools: deprecate .req_from_url
Which uses .request()
And instead provide .admin_request_from_url, which
is a context manager yielding the request.
Christophe de Vienne <christophe@unlish.com> [Tue, 17 Jun 2014 11:14:20 +0200] rev 9930
[tests] Add a webtest based TestCase class
Closes #4002134
Christophe de Vienne <christophe@unlish.com> [Tue, 17 Jun 2014 11:53:35 +0200] rev 9929
[tests] Move 'anonymous_allowed' property from CubicWebServerTC to CubicWebTC
The effective set of the property on the config is now done later that before,
ie at the end of CubicWebTC.init_config instead of before.
It is believed not to have an impact on the test suites that uses
`anonymous_allowed`.
Related to #4002134
David Douard <david.douard@logilab.fr> [Tue, 02 Sep 2014 12:22:18 +0200] rev 9928
[compat] Remove imports of "any" and "all" from lgc (closes #4306044)
They're builtin since python 2.5.
Florent Cayré <florent.cayre@logilab.fr> [Tue, 26 Aug 2014 10:12:09 +0200] rev 9927
[css] Remove the `div` tag specification of the pendingDelete css rule
The HTML tag was changed by e2f96b16c3bd from a div to a span without
changing the css rule accordingly.
Closes #4285248.
Alain Leufroy <alain.leufroy@logilab.fr> [Wed, 21 May 2014 16:14:17 +0200] rev 9926
[cwvreg] cleanup the event manager when reloading modules
Closes #3848995
The event manager callbacks are not cleaned during reloading.
So the callback defined in the reloaded module appears twice (old and new
version). This may cause problem when the old version is called.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 12 Jun 2014 12:28:10 +0200] rev 9925
[test] Add missing attribute 'add' permission in test schema
Silences yams warning.
Florent Cayré <florent.cayre@gmail.com> [Thu, 01 May 2014 23:35:56 +0200] rev 9924
[facet html] Add surrounding div with "facetBody" class to "has_text" facet.
This makes its html structure consistent with the other facets
and fixes both css and a javascript behaviour (hide the facet body
when clicking on its title).
Closes #3797501.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Jun 2014 11:00:41 +0200] rev 9923
[cwctl] don't prompt for cube options in automatic mode
Closes #3984223
Julien Cristau <julien.cristau@logilab.fr> [Fri, 13 Jun 2014 11:21:45 +0200] rev 9922
[serverctl] fix default value for db-init config-level
Otherwise cubicweb-ctl db-init --automatic complains that "--automatic
and --config-level should not be used together" when they weren't.
Closes #3984336
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 05 Jun 2014 17:41:14 +0200] rev 9921
[web] Return useful error messages when exceptions arise in ajax controllers (closes #3932503)
The call to super() in RemoteCallException passes 'reason' all the way to
python's Exception.__init__() which is then stored in Exception.args. This way,
CubicWebPublisher.ajax_error_handler() gets a useful error message when calling
unicode(exc).
The change to uilib is just to prepend the exception type name. Just a small
improvement.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Jul 2014 19:42:42 +0200] rev 9920
[test] Fix test breakage uncovered by previous changeset
Now that Binary.__eq__ doesn't always return true, this test started
failing. CWAttribute.defaultval is zpickled, and the description_format
attribute is a String, meaning unicode, so adjust the expected test
result.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 08 Jul 2014 11:33:32 +0200] rev 9919
[etwist] use more specific REQUEST_ENTITY_TOO_LARGE instead of BAD_REQUEST
When a request body exceeds the configured limit, return 413 to the
client instead of a generic 400.