Anthony Truchet <anthony.truchet@logilab.fr> [Thu, 25 Apr 2013 10:16:25 +0200] rev 10016
[forms] closes #2437859 - Detect and prevent concurrent edition of the same entity.
Add the timestamp of form generation to each entity's meta-information fields.
On form validation, check that no concurrent change is overwritten and raises
a ValidationError in case of concurrent change.
A nicer handling with a message and a link to the new version of the entity
would be a good thing...
Julien Cristau <julien.cristau@logilab.fr> [Wed, 09 Apr 2014 16:58:58 +0200] rev 10015
[migration] make sure the repo knows about all constraint types
Adding new constraint types is cumbersome. It's easy to forget to do it
in a migration script. So sync the constraint types at the beginning of
each migration.
Closes #3724892
Julien Cristau <julien.cristau@logilab.fr> [Mon, 07 Jul 2014 16:07:57 +0200] rev 10014
[migration] stop caching the mapping from constraint type name to eid
It's not so frequent that a cache seems necessary, and we were not
invalidating that cache when adding a new constraint type.
Related to #3724892.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 17 Jun 2014 17:53:31 +0200] rev 10013
[web/json] an empty rset is just fine for ejsonexport
The ejsonexport view can just return an empty list for an empty rset.
Closes #4005518
Christophe de Vienne <christophe@unlish.com> [Wed, 30 Apr 2014 21:04:14 +0200] rev 10012
[RichString] Add markdown support
Supporting markdown requires the 'Markdown' python packages, and since it
widely available on the target platforms adding it as a strong requirements
will not be a big constraint.
Closes #3814302
Paul Tonelli <paul.tonelli@logilab.fr> [Thu, 23 Oct 2014 14:57:02 +0200] rev 10011
[ldapfeed] Reduce default value for user-attrs-map option (closes #3824889)
This is needed because lgc.configuration.Configuration does not allow
removing key/value pairs from the default (due to its use of
dict.update() internally).
Since CWUser.login is required, users of the add-source command will
always be able to override it.
Paul Tonelli <paul.tonelli@logilab.fr> [Tue, 29 Apr 2014 11:34:42 +0200] rev 10010
[serverctl] Ask for URL when adding a new source (closes #3824868)
Paul Tonelli <paul.tonelli@logilab.fr> [Mon, 28 Apr 2014 17:34:07 +0200] rev 10009
[serverctl] Ask for parser type when adding a new source (closes #3484231)
Remove 'quick_start' option to load all AppObjects, including feed parsers.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 11 Jun 2014 10:57:28 +0200] rev 10008
[doc/3.20] more details on removed code
related to #3799117
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 02 May 2014 17:58:57 +0200] rev 10007
remove 3.11 bw compat
Closes #3799117.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 02 May 2014 17:57:37 +0200] rev 10006
remove most 3.10 bw compat
Related to #3799117.
The boxes and entityvcomponent objects cannot really be removed as they
are still used throughout the code base (and possible cubes).
This may be caused by a non-working deprecation and needs some more
work.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Fri, 02 May 2014 17:41:11 +0200] rev 10005
remove leftover pre 3.9 deprecation warnings
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Jul 2014 15:42:47 +0200] rev 10004
[utils] Remove function-in-the-middle call
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Jul 2014 15:45:04 +0200] rev 10003
[web] set Vary response header to "Accept-Language" when using content negotiation
This is slightly annoying because the response actually only varies
based on the language we decide to send, which has much fewer possible
values than Accept-Language, but that's not in the request, so we can't
easily use it. Deployments using varnish or similar and controlling the
set of available languages will likely want to override this to allow
reasonable amounts of caching.
Closes #2105812
Julien Cristau <julien.cristau@logilab.fr> [Tue, 29 Jul 2014 16:27:11 +0200] rev 10002
[web/cors] don't overwrite other Vary headers
Vary is a list of request headers, we shouldn't override others.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 15 Jul 2014 16:07:59 +0200] rev 10001
[web] add support for HttpOnly cookie flag
And use it for session cookies. Closes #4142521.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 17 Oct 2014 18:16:58 +0200] rev 10000
merge 3.19.5 into 3.20 branch
Julien Cristau <julien.cristau@logilab.fr> [Tue, 07 Oct 2014 10:06:24 +0200] rev 9999
Added tag cubicweb-version-3.19.5, cubicweb-debian-version-3.19.5-1, cubicweb-centos-version-3.19.5-1 for changeset 3ac86df519af
Julien Cristau <julien.cristau@logilab.fr> [Mon, 06 Oct 2014 17:50:42 +0200] rev 9998
i18n update
4 strings have disappeared.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 06 Oct 2014 17:32:49 +0200] rev 9997
[pkg] 3.19.5
Julien Cristau <julien.cristau@logilab.fr> [Mon, 15 Sep 2014 10:06:07 +0200] rev 9996
[server] hold connection to the db in tx_actions
We can be called without a cnxset (e.g. from repoapi).
Christophe de Vienne <christophe@unlish.com> [Mon, 15 Sep 2014 17:23:22 +0200] rev 9995
[wsgi] If multipart cannot parse the POST content, let it pass.
multipart can only parse html form data. It the content_type is, for example,
"application/json", get_posted_data should not fail but just stop trying to
read the content.
Closes #4421845
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 01 Sep 2014 14:56:00 +0200] rev 9994
[devtools] Fix JS tests' HTML code
Rémi Cardona <remi.cardona@logilab.fr> [Mon, 01 Sep 2014 10:22:46 +0200] rev 9993
[devtools] "Keep" some temporary files/dirs around to help with debugging
The whole QUnitTestCase runs with an @with_tempdir so it's redundant
anyway.
Rémi Cardona <remi.cardona@logilab.fr> [Fri, 01 Aug 2014 19:28:44 +0200] rev 9992
[devtools] Fix Firefox launcher in QUnitTestCase (closes #4294727)
The main changes are:
- stop creating the profile, firefox will create it
- point firefox to a profile directory instead of giving it a profile name
(this has the added bonus of not polluting the user's profile list)
- start firefox once and kill it 5 seconds later to let it finish its profile
creation (along with system-wide extensions setup)
Rémi Cardona <remi.cardona@logilab.fr> [Thu, 25 Sep 2014 17:38:51 +0200] rev 9991
[devtools] allow cross-origin requests for qunit
We have a mix of file:// html and http:// ajax calls. Which we should
at some point fix to all be http, but. Related to #4294727.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 25 Sep 2014 15:49:13 +0200] rev 9990
merge 3.19.4 in 3.20 branch
Christophe de Vienne <christophe@unlish.com> [Mon, 15 Sep 2014 17:24:18 +0200] rev 9989
[cors] Fix CORS headers generators
The Access-Control-Allow-* and Access-Control-Expose-Headers are response
headers, not request headers.
Hence, we need generators for them. Closes #4412575.
Christophe de Vienne <christophe@unlish.com> [Tue, 09 Sep 2014 22:14:20 +0200] rev 9988
[wsgi] Fix posted files filename reading
The filenames are parsed by multipart.parse_form_data, which does the unicode
decoding. Trying to re-decode the filename was leading to an error.
Christophe de Vienne <christophe@unlish.com> [Tue, 23 Sep 2014 11:18:56 +0200] rev 9987
[pkg] Depend on Pillow instead of PIL
The Pillow library is becoming the de-facto replacement for PIL.
It also is way simpler to install with pip than PIL.
Closes #4411354.
Julien Cristau <julien.cristau@logilab.fr> [Thu, 25 Sep 2014 14:42:00 +0200] rev 9986
Added tag cubicweb-version-3.19.4, cubicweb-debian-version-3.19.4-1, cubicweb-centos-version-3.19.4-1 for changeset c4e740e50fc7
Julien Cristau <julien.cristau@logilab.fr> [Thu, 25 Sep 2014 14:24:20 +0200] rev 9985
[pkg] 3.19.4
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Sep 2014 18:04:30 +0200] rev 9984
merge 3.18.6 into 3.19
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Sep 2014 17:35:59 +0200] rev 9983
Added tag cubicweb-version-3.18.6, cubicweb-debian-version-3.18.6-1, cubicweb-centos-version-3.18.6-1 for changeset d91501356742
Julien Cristau <julien.cristau@logilab.fr> [Wed, 24 Sep 2014 15:08:44 +0200] rev 9982
[pkg] 3.18.6
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 28 Jan 2014 15:27:59 +0100] rev 9981
[hooks/security] allow edition of attributes with permissive permissions
If an attribute has more permissive security rules than the entity
type itself, we should be green and not deny action because of an
early global entity permission check (with the more restrictive
rules).
Only if one attribute with the entity-level permission rules is edited
will the global check be performed.
Note:
* the "if action == 'delete'" check at the entry of
check_entity_attributes is a guard for a condition currently not
happening in cubicweb itself (but application hooks could
conceivably call this function with a 'delete' action)
Closes #3489895.
Aurelien Campeas <aurelien.campeas@logilab.fr> [Tue, 29 Jul 2014 14:40:29 +0200] rev 9980
Almost backout afcd46716d6a which breaks _select_best raising an ambiguity exception in debug mode.
The problem is, before afcd4, *tests* ran in debug mode and we want
this (e.g. we want to show, rather than swallow, select ambigüities).
We juste replace the bogus __init__(vreg.config) by __init__(True), which is
practically equivalent and also much more clear.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 12 Sep 2014 09:49:01 +0200] rev 9979
[server] fix anonymous_user predicate in tests
devtools' TestServerConfiguration overrides the anonymous_user method,
but not the anonymous-user config option, so testing for the latter
would give the wrong result. Closes #3996664.
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