Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 17:16:45 +0100] rev 11118
merge changes from 3.19.14
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 14:52:28 +0100] rev 11117
Added tag 3.19.14, debian/3.19.14-1, centos/3.19.14-1 for changeset 72a0f70879ac
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 11:02:04 +0100] rev 11116
[pkg] 3.19.14
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 11:01:09 +0100] rev 11115
[sources/native] remove extra space before colon
This isn't French.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 16 Feb 2016 10:52:38 +0100] rev 11114
[web/views] fix editcontroller regression
unittest_views_basecontrollers.py's
EditControllerTC.test_edit_mandatory_inlined3_object regressed with
changeset dcbb64d3a1d9 because it relied on POSTing nonexisting eids.
This seems like a silly idea, but let's keep the behaviour unchanged.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Feb 2016 16:13:43 +0100] rev 11113
Added tag 3.22.1, debian/3.22.1-1, centos/3.22.1-1 for changeset d0d86803a804
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Feb 2016 15:31:48 +0100] rev 11112
fix test broken by #012e6c7d02ef
Julien Cristau <julien.cristau@logilab.fr> [Fri, 12 Feb 2016 15:21:21 +0100] rev 11111
[pkg] Attempt to fix rhel6 build
I don't know what I'm doing, but this seems to work.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 12 Feb 2016 15:19:59 +0100] rev 11110
[dataimport/test] fix python2.6 syntax error
Don't use braces for set literals.
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 12 Feb 2016 14:09:38 +0100] rev 11109
Remove unused import in entity.py
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Feb 2016 10:09:13 +0100] rev 11108
[migration] don't ask confirm for those sql queries
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Feb 2016 10:06:03 +0100] rev 11107
quick fix which closes #0673348 - see comment for more info
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 12 Feb 2016 10:39:24 +0100] rev 11106
[migration] test if entity type has been in the deleted in the transaction should protect both clauses
else we may attempt to execute the UPDATE query on a table which has been
deleted.
Closes #10692374
Julien Cristau <julien.cristau@logilab.fr> [Fri, 12 Feb 2016 10:39:14 +0100] rev 11105
[pkg] 3.22.1
David Douard <david.douard@logilab.fr> [Mon, 06 Jul 2015 11:04:42 +0200] rev 11104
[cwctl] remove support for startorder file in /etc/cubicweb.d (closes #5618947)
It's now useless.
Arthur Lutz <arthur.lutz@logilab.fr> [Wed, 10 Feb 2016 14:43:05 +0100] rev 11103
[exceptions] fix string conversion for Unauthorized exception
changeset 3cb87b61b067 changed CubicWebException to define __unicode__
as the main entry point for string conversion, but left Unauthorized's
__str__ definition unchanged, leading to a mismatch. Closes #10646396.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 08 Feb 2016 11:01:46 +0100] rev 11102
Fix Binary on python < 2.7.4 (closes #10593811)
Before the fix for http://bugs.python.org/issue10211 we can't pass a
buffer object to BytesIO, so keep using StringIO in that case. And
because StringIO is an old-style class, we can't use super().
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 11 Feb 2016 22:00:48 +0100] rev 11101
[migration] fix crash on 3.22 upgrade if entity type doesn't exist in fsschema (pending removal)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 04 Feb 2016 12:00:23 +0100] rev 11100
[autoform] when building inlined-form view for a relation, consider related entities intead of other views
by considering previous form-views, we may miss that there exists related
entities but which are not editable.
Closes #10495602
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 29 Jan 2016 17:22:25 +0100] rev 11099
Add a __main__ to cubicweb
This avoids calling cubicweb-ctl relatively in tests and could be useful
in virtualenv.
This is just a copy of bin/cubicweb-ctl file, which should probably be
generated from a setuptools entry points.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 03 Feb 2016 15:12:32 +0100] rev 11098
merge 3.19 heads
Getting an unexpected test error though:
ERROR: test_edit_mandatory_inlined3_object (unittest_views_basecontrollers.EditControllerTC)
Christophe de Vienne <christophe@unlish.com> [Sat, 30 Jan 2016 23:06:18 +0100] rev 11097
[cwvreg] Fix propertyvalues hot updates
When CWProperty instances are touched, the corresponding value gets
updated in vreg['propertyvalues'], but their type was ignored.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 05 Feb 2016 16:49:22 +0100] rev 11096
[pkg] remove useless python >= 3.4 dependency
python is python2 is never >= 3.4.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 05 Feb 2016 16:32:20 +0100] rev 11095
[dataimport/test] fix test failures since 35b29f1eb37a
The index name changed, so we need to follow suit.
Samuel Trégouët <samuel.tregouet@logilab.fr> [Fri, 05 Feb 2016 12:26:28 +0100] rev 11094
[pkg] do not include toplevel directories in rpm (closes #10362119)
Our spec file conflicts with the filesystem package in centos7: we set
permissions to 0755 for /usr/bin and /usr/lib whereas filesystem sets
them to 0555.
So to be compatible with both centos7 and others we simply ignore these
directories.
Julien Cristau <julien.cristau@logilab.fr> [Fri, 05 Feb 2016 10:30:01 +0100] rev 11093
[devtools] fix config.repository signature
Its argument is called 'vreg', not 'x'. Closes #10515113.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Feb 2016 16:23:34 +0100] rev 11092
[predicates] fix paginated_rset when the class has no page_size_property
Fixes test failure introduced by 70733b2dfd2a, which assumed paginated_rset
would only be called on a class with a page_size_property attribute.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Feb 2016 14:23:17 +0100] rev 11091
[repository] drop usage of no more necessary eschema_eid function
since the previous cset, we are guaranteed that repository's entity schema will
have their eid attribute properly set, so we don't have anymore to check
everytime if some entity schema's .eid attributes is set or not (and retrieve it
if not).
Related to #10450092
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Jan 2016 18:17:30 +0100] rev 11090
[repository] set .eid on eschema when schema is loaded from the filesystem
enforcing the contract that a repository's schema should have .eid attribute of
entity schema set to the eid of the entity used to serialize them in the db.
Before this cset, this was not true during tests or for some c-c commands where
'quick_start' is set (eg db-restore, i18ncube...).
The change in server __init__ makes this assumption true during instance
creation: the serializing code was actually setting eid on schema object, but a
reference to a previously built schema was given instead of the one for the
latest created repository.
Closes #10450092
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 29 Jan 2016 10:06:36 +0100] rev 11089
[dataimport] simplify SQLGenSourceWrapper.add_info
At this point 'CWSource' is a thing (we're not in the middle of a
migration), and source.eid won't be None (we read it from the db)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 01 Feb 2016 15:10:35 +0100] rev 11088
ensure .tox is blacklisted when recursing on the fs to get some files
among others, avoid crash when using 'c-c i18ncube' on a cube using tox.
Closes #10429317
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 03 Feb 2016 11:12:58 +0100] rev 11087
drop a note about usage of sqls_create_multicol_unique_index and avoid a lgdb warning
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Jan 2016 16:08:17 +0100] rev 11086
[devtools] don't auto-populate virtual relations
Denis Laxalde <denis.laxalde@logilab.fr> [Fri, 29 Jan 2016 16:48:58 +0100] rev 11085
[skeleton] Restore verbose output in setup.py
This part of commit fdadf59be612 missing the integration window.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 01 Dec 2015 16:10:18 +0100] rev 11084
[hooks] Skip modification_date attribute in "notifentityupdated" hook
Depending on the call order of hooks, "modification_date" may come in
entity.cw_edited or not (from "metaattrsupdate" hook usually). It should
however not be considered in the notification context.
Closes #8842064.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 01 Dec 2015 14:44:55 +0100] rev 11083
[test] Gather tests about mail module
From sobjects/test/unittest_notification.py to test/unittest_mail.py where
other tests for mail.py are already.
Some style fixes along the way.
Julien Cristau <julien.cristau@logilab.fr> [Tue, 05 Jan 2016 10:36:17 +0100] rev 11082
[web/component] guard against invalid page_size form parameter
Same as dff28956f37e, except the almost same code exists in two places
(yay us).
Julien Cristau <julien.cristau@logilab.fr> [Tue, 05 Jan 2016 10:31:29 +0100] rev 11081
[predicates] fix paginated_rset for components that change page_size_property
The predicate and component had better agree on the page size.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 06 Jan 2016 11:47:08 +0100] rev 11080
[devtools] fix get_bounds
Say an attribute has two IntervalBoundConstraints, one with minvalue=0
and the other with maxvalue=10 (not literally, or that could be a single
constraint, but e.g. with references to other attributes). We don't want to
override the minvalue of the former with None just because the latter happens
last in the constraints list.
This doesn't fix the case where two constraints both have a min or a max
value. Meh.
Julien Cristau <julien.cristau@logilab.fr> [Wed, 06 Jan 2016 15:27:59 +0100] rev 11079
[devtools] "fix" boundary condition for autofill
maxvalue in an IntervalBoundConstraint is inclusive. If the min and max
values happened to coincide, we would call random.choice on an empty
list, which it didn't like.
This is still broken in the case of BoundaryConstraint('>', minvalue),
as we assume the minvalue is in the range, but that's something for
another time.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 19 Jan 2016 16:44:34 +0100] rev 11078
[test] Use stdlib doctest module instead of logilab-common class
The former just works fine now but the later does not play well with py.test.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 17:42:22 +0100] rev 11077
[test] Re-implement generative tests with subtests
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 18:35:07 +0100] rev 11076
[devtools] Re-implement generative tests using subtests
Generative tests as implemented in logilab.common.testib are not compatible
with tests runner other than lgc.pytest and this implementation differs from
the standard library, which has support for subtests_ since Python 3.4. Use
unittest2 to bridge the gap.
Maybe it'd be good to implement this on logilab.common.testlib side at some
point. Let's see how this gets received here first.
.. _subtests: https://docs.python.org/3/library/unittest.html#subtests
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Jan 2016 18:02:49 +0100] rev 11075
cleanups
Samuel Trégouët <samuel.tregouet@logilab.fr> [Tue, 26 Jan 2016 11:49:25 +0100] rev 11074
[pkg] python-tz does not exist in centos should be pytz (closes #10290056)
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 19 Jan 2016 10:03:16 +0100] rev 11073
[test] Skip LDAP tests if any of the underlying programs is not found
Some programs are in ldap-utils or ldapscripts, which may not be installed
despite slapd may.
Follow-up on 282880f81311.
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 18 Jan 2016 09:23:07 +0100] rev 11072
Handle virtualenv development mode
Looking for VIRTUAL_ENV environment variable as a sign of virtualenv
activation. This at least works for developing CubicWeb itself (not sure yet
about cubes). And it makes `tox --develop` work as well.
Add a test for cwconfig._find_prefix within a virtualenv.
In tox.ini, use `develop option`_ accordingly. This makes tox running
significantly faster since it avoids building and installing the sdist. Aside,
the "develop" install is now performed *after* all test requirements are
processed, which means that the cubicweb package should always be the one from
source -- instead of a released version pulled by a cube through test
dependencies, which may occur in "recreate" step.
.. _`develop option`: <http://tox.readthedocs.org/en/latest/config.html#confval-usedevelop=BOOL
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 18:17:23 +0100] rev 11071
[skeleton] Use os.walk in setup.py for Python3 compatibility
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 18:39:27 +0100] rev 11070
[skeleton] Use unittest.main directly
Instead of lgc.testlib.unittest_main as they are identical.
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 16:24:01 +0100] rev 11069
[devtools/testlib] Disable pause trace in setUp
Closes #9856028.
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 12 Jan 2016 19:50:57 +0100] rev 11068
[test] Remove dependency on person cube in devtools package
Julien Cristau <julien.cristau@logilab.fr> [Tue, 26 Jan 2016 11:46:41 +0100] rev 11067
[pkg] add missing python-tz dependency
Florent Cayré <florent.cayre@logilab.fr> [Tue, 26 Jan 2016 14:04:45 +0100] rev 11066
[edit controller] Fix composite entity reparenting when inlined
This implies handling the reparenting case sooner, otherwise the
child entity modifications are cancelled (see 113e9da47afc).
Add a new test to ensure non-regression in all previous tests.
Closes #10291977.
Florent Cayré <florent.cayre@logilab.fr> [Mon, 14 Dec 2015 14:29:22 +0100] rev 11065
[forms] Do not raise errors on composite required relation being deleted
The entity included in the composite will be deleted in such a case, so
the field is not required even when the cardinality is '1' or '+'.
Related to #8529868
Florent Cayré <florent.cayre@logilab.fr> [Mon, 07 Dec 2015 11:58:17 +0100] rev 11064
[edit controller] Cancel RQL queries to be performed on entities to be deleted
Composite relation removal via the EditController trigger an entity
removal. Changes on such a to-be-removed entity must be cancelled as
they may trigger integrity errors before the deletion occurs.
Closes #8529868.
Florent Cayré <florent.cayre@logilab.fr> [Fri, 04 Dec 2015 14:56:20 +0100] rev 11063
[edit controller] fix handling of removal of subentities from an edit form
In CubicWeb 3.18 the semantics of dropping a composite relation were changed.
It had before the effect of deleting the subentities.
Now the edit controller must handle this by itself (it was not adapted then by
mistake).
So if it detects the removal of a composite relation (on the browser side, the
user clicked on the "remove" action), the subentity is now explicitly deleted.
It was chosen not to change the form generation but the EditController:
- to ensure pre-3.18 forms backward compat
- to avoid the introduction of a specific entity-deletion API (RQL is probably
our best API for complex DB operations)
Related to #8529868.
Florent Cayré <florent.cayre@logilab.fr> [Wed, 25 Nov 2015 16:28:41 +0100] rev 11062
remove unused import
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Fri, 20 Nov 2015 12:29:13 +0100] rev 11061
[editcontroller] a slight code reorganisation, in preparation for a fix
* `entity` defined at method entry
* a combined `continue` and a dedent of the next big block
* some vertical white space
Related to #8529868.
Aurelien Campeas <aurelien.campeas@pythonian.fr> [Tue, 20 Oct 2015 16:05:36 +0200] rev 11060
[sources/native] ask permission to continue restoring even if metadata do not match (closes #7771864)
Moreover we try to clarify the message (Expected/Found was never too clear for users).
David Douard <david.douard@logilab.fr> [Mon, 27 Jul 2015 10:00:32 +0200] rev 11059
[views] fix ProcessInformationView: SESSION_MANAGER can be None (closes #5753280)
eg. with pyramid.
(grafted from 6a07c2dc3d85f4de0cf48221607e02c4473e11e4)