Wed, 03 Feb 2016 16:23:34 +0100 [predicates] fix paginated_rset when the class has no page_size_property
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.
Wed, 03 Feb 2016 14:23:17 +0100 [repository] drop usage of no more necessary eschema_eid function
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
Thu, 28 Jan 2016 18:17:30 +0100 [repository] set .eid on eschema when schema is loaded from the filesystem
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
Fri, 29 Jan 2016 10:06:36 +0100 [dataimport] simplify SQLGenSourceWrapper.add_info
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)
Mon, 01 Feb 2016 15:10:35 +0100 ensure .tox is blacklisted when recursing on the fs to get some files
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
Wed, 03 Feb 2016 11:12:58 +0100 drop a note about usage of sqls_create_multicol_unique_index and avoid a lgdb warning
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
Thu, 21 Jan 2016 16:08:17 +0100 [devtools] don't auto-populate virtual relations
Julien Cristau <julien.cristau@logilab.fr> [Thu, 21 Jan 2016 16:08:17 +0100] rev 11086
[devtools] don't auto-populate virtual relations
Fri, 29 Jan 2016 16:48:58 +0100 [skeleton] Restore verbose output in setup.py
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.
Tue, 01 Dec 2015 16:10:18 +0100 [hooks] Skip modification_date attribute in "notifentityupdated" hook
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.
Tue, 01 Dec 2015 14:44:55 +0100 [test] Gather tests about mail module
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.
Tue, 05 Jan 2016 10:36:17 +0100 [web/component] guard against invalid page_size form parameter
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).
Tue, 05 Jan 2016 10:31:29 +0100 [predicates] fix paginated_rset for components that change page_size_property
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.
Wed, 06 Jan 2016 11:47:08 +0100 [devtools] fix get_bounds
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.
Wed, 06 Jan 2016 15:27:59 +0100 [devtools] "fix" boundary condition for autofill
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.
Tue, 19 Jan 2016 16:44:34 +0100 [test] Use stdlib doctest module instead of logilab-common class
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.
Thu, 14 Jan 2016 17:42:22 +0100 [test] Re-implement generative tests with subtests
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 14 Jan 2016 17:42:22 +0100] rev 11077
[test] Re-implement generative tests with subtests
Thu, 14 Jan 2016 18:35:07 +0100 [devtools] Re-implement generative tests using 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
Thu, 28 Jan 2016 18:02:49 +0100 cleanups
Sylvain Thénault <sylvain.thenault@logilab.fr> [Thu, 28 Jan 2016 18:02:49 +0100] rev 11075
cleanups
Tue, 26 Jan 2016 11:49:25 +0100 [pkg] python-tz does not exist in centos should be pytz (closes #10290056)
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)
Tue, 19 Jan 2016 10:03:16 +0100 [test] Skip LDAP tests if any of the underlying programs is not found
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.
Mon, 18 Jan 2016 09:23:07 +0100 Handle virtualenv development mode
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
Thu, 14 Jan 2016 18:17:23 +0100 [skeleton] Use os.walk in setup.py for Python3 compatibility
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
Thu, 14 Jan 2016 18:39:27 +0100 [skeleton] Use unittest.main directly
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.
Thu, 14 Jan 2016 16:24:01 +0100 [devtools/testlib] Disable pause trace in setUp
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.
Tue, 12 Jan 2016 19:50:57 +0100 [test] Remove dependency on person cube in devtools package
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
Tue, 26 Jan 2016 11:46:41 +0100 [pkg] add missing python-tz dependency
Julien Cristau <julien.cristau@logilab.fr> [Tue, 26 Jan 2016 11:46:41 +0100] rev 11067
[pkg] add missing python-tz dependency
Tue, 26 Jan 2016 14:04:45 +0100 [edit controller] Fix composite entity reparenting when inlined
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.
Mon, 14 Dec 2015 14:29:22 +0100 [forms] Do not raise errors on composite required relation being deleted
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
Mon, 07 Dec 2015 11:58:17 +0100 [edit controller] Cancel RQL queries to be performed on entities to be deleted
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.
Fri, 04 Dec 2015 14:56:20 +0100 [edit controller] fix handling of removal of subentities from an edit form
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.
Wed, 25 Nov 2015 16:28:41 +0100 remove unused import
Florent Cayré <florent.cayre@logilab.fr> [Wed, 25 Nov 2015 16:28:41 +0100] rev 11062
remove unused import
Fri, 20 Nov 2015 12:29:13 +0100 [editcontroller] a slight code reorganisation, in preparation for a fix
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.
Tue, 20 Oct 2015 16:05:36 +0200 [sources/native] ask permission to continue restoring even if metadata do not match (closes #7771864)
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).
Mon, 27 Jul 2015 10:00:32 +0200 [views] fix ProcessInformationView: SESSION_MANAGER can be None (closes #5753280)
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)
Wed, 16 Dec 2015 18:08:37 +0100 [web] Move "display all"/ "back to pagination" link generation into the navigation component
Florent Cayré <florent.cayre@logilab.fr> [Wed, 16 Dec 2015 18:08:37 +0100] rev 11058
[web] Move "display all"/ "back to pagination" link generation into the navigation component This makes the html generation customizable. Closes #9219057
Sat, 16 Jan 2016 13:48:51 +0100 Reorganize source tree to have a "cubicweb" top-level package
Denis Laxalde <denis.laxalde@logilab.fr> [Sat, 16 Jan 2016 13:48:51 +0100] rev 11057
Reorganize source tree to have a "cubicweb" top-level package Basically: mkdir cubicweb hg mv *.py -X setup.py cubicweb hg mv dataimport devtools entities etwist ext hooks i18n misc schemas server skeleton sobjects test web wsgi cubicweb Other changes: * adjust path to cubicweb-ctl in devtools tests * update setup.py to avoid importing __pkginfo__ (exec it instead), replace os.path.walk by os.walk and prepend `modname` here and there * update tox.ini to account for new test locations * update doc/conf.py so that it still finds __pkginfo__.py and CWDIR in doc/Makefile
Mon, 04 Jan 2016 11:12:30 +0100 clean some remaining dust from goa time
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 04 Jan 2016 11:12:30 +0100] rev 11056
clean some remaining dust from goa time
Wed, 06 Jan 2016 08:58:43 +0100 [datafeed] io.BytesIO requires a buffer, not a unicode (closes #9783743)
David Douard <david.douard@logilab.fr> [Wed, 06 Jan 2016 08:58:43 +0100] rev 11055
[datafeed] io.BytesIO requires a buffer, not a unicode (closes #9783743) The URLLibResponseAdapter should probably be refactored (or killed?)
Thu, 07 Jan 2016 12:20:50 +0100 [pkg] rql 0.34 and logilab-database 1.15 break cubicweb 3.21
David Douard <david.douard@logilab.fr> [Thu, 07 Jan 2016 12:20:50 +0100] rev 11054
[pkg] rql 0.34 and logilab-database 1.15 break cubicweb 3.21
Thu, 07 Jan 2016 12:20:50 +0100 [pkg] rql 0.34 and logilab-database 1.15 break cubicweb 3.21
David Douard <david.douard@logilab.fr> [Thu, 07 Jan 2016 12:20:50 +0100] rev 11053
[pkg] rql 0.34 and logilab-database 1.15 break cubicweb 3.21
Mon, 04 Jan 2016 18:40:30 +0100 Added tag 3.22.0, debian/3.22.0-1, centos/3.22.0-1 for changeset de472896fc0a
Julien Cristau <julien.cristau@logilab.fr> [Mon, 04 Jan 2016 18:40:30 +0100] rev 11052
Added tag 3.22.0, debian/3.22.0-1, centos/3.22.0-1 for changeset de472896fc0a
Mon, 04 Jan 2016 17:57:14 +0100 [pkg] 3.22.0 3.22.0 centos/3.22.0-1 debian/3.22.0-1
Julien Cristau <julien.cristau@logilab.fr> [Mon, 04 Jan 2016 17:57:14 +0100] rev 11051
[pkg] 3.22.0
Mon, 04 Jan 2016 17:23:36 +0100 merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 04 Jan 2016 17:23:36 +0100] rev 11050
merge
Wed, 09 Dec 2015 08:44:45 +0100 [formwidgets] a bit of pep8
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 09 Dec 2015 08:44:45 +0100] rev 11049
[formwidgets] a bit of pep8
Thu, 26 Mar 2015 11:13:12 +0100 [views] improve JQueryDatePicker so that a date field can be defined as the min/max of an other one
Erica Marco <erica.marco@logilab.fr> [Thu, 26 Mar 2015 11:13:12 +0100] rev 11048
[views] improve JQueryDatePicker so that a date field can be defined as the min/max of an other one closes #5169039
Fri, 18 Dec 2015 17:49:45 +0100 [entity] don't look at fetch order recursively
Julien Cristau <julien.cristau@logilab.fr> [Fri, 18 Dec 2015 17:49:45 +0100] rev 11047
[entity] don't look at fetch order recursively If fetch_attrs includes relations, stop including the entities on the other side in our sorting. Fixes regression from 73ea636a5562 where we would sort on the target entity before the attribute we wanted if the relation's name sorted before the attribute's. This showed up in the forge/tracker cubes with Version entities being sorted by their State's name in preference to their version number.
Mon, 21 Dec 2015 10:36:08 +0100 [pkg] fix paths in debian doc-base control file
Julien Cristau <julien.cristau@logilab.fr> [Mon, 21 Dec 2015 10:36:08 +0100] rev 11046
[pkg] fix paths in debian doc-base control file
Mon, 04 Jan 2016 10:36:57 +0100 [ldapfeed] extid and cwuri aren't the same thing
Julien Cristau <julien.cristau@logilab.fr> [Mon, 04 Jan 2016 10:36:57 +0100] rev 11045
[ldapfeed] extid and cwuri aren't the same thing Historically, we used a ldap://... URI as cwuri attribute, not just the dn. The extid field, OTOH, was always the dn. So when initializing our dict of known entities from an ldap source, look at existing extids, not cwuris, to avoid importing already-existing users (and violated unicity constraints).
Wed, 23 Dec 2015 15:44:28 +0100 [entities] add eid to ISerializableAdapter
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Dec 2015 15:44:28 +0100] rev 11044
[entities] add eid to ISerializableAdapter Life without an eid is made of sadness.
Wed, 23 Dec 2015 10:52:55 +0100 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr> [Wed, 23 Dec 2015 10:52:55 +0100] rev 11043
[doc] 3.22 release notes update
Tue, 22 Dec 2015 18:25:37 +0100 [datafeed] use tz-aware datetime objects
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 18:25:37 +0100] rev 11042
[datafeed] use tz-aware datetime objects Avoid TypeError when comparing tz-naive and tz-aware objects in fresh() method.
Tue, 22 Dec 2015 17:36:50 +0100 [pkg] fix syntax error in debian/control
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 17:36:50 +0100] rev 11041
[pkg] fix syntax error in debian/control
Tue, 22 Dec 2015 17:35:39 +0100 [pkg] remove no-longer-used addresses from debian control file
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 17:35:39 +0100] rev 11040
[pkg] remove no-longer-used addresses from debian control file
Tue, 22 Dec 2015 11:35:43 +0100 [schema] rebuild computed attributes on schema reload
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 11:35:43 +0100] rev 11039
[schema] rebuild computed attributes on schema reload If we have new computed attributes we need to set their formula_select attribute or things get sad.
Tue, 22 Dec 2015 10:39:05 +0100 [hooks] fix extra_props handling on python3
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 10:39:05 +0100] rev 11038
[hooks] fix extra_props handling on python3 The json module expects str, not bytes, so we need to do the decoding.
Tue, 22 Dec 2015 16:16:07 +0100 [py3k/ldapparser] avoid confusion between unicode and bytes
Julien Cristau <julien.cristau@logilab.fr> [Tue, 22 Dec 2015 16:16:07 +0100] rev 11037
[py3k/ldapparser] avoid confusion between unicode and bytes - ldap3 dicts contain unicode strings - extid must be bytes
Tue, 22 Dec 2015 17:00:03 +0100 [pkg] use correct lgdb version for tz rework
Rémi Cardona <remi.cardona@logilab.fr> [Tue, 22 Dec 2015 17:00:03 +0100] rev 11036
[pkg] use correct lgdb version for tz rework Related to #4848923.
Fri, 18 Dec 2015 09:36:58 +0100 pep8 bits
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Dec 2015 09:36:58 +0100] rev 11035
pep8 bits
Tue, 22 Dec 2015 15:35:10 +0100 [server] improve TZDatetime support
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 22 Dec 2015 15:35:10 +0100] rev 11034
[server] improve TZDatetime support by depending on logilab-database 1.15.0 including https://www.logilab.org/ticket/1485893, we can now keep the tzinfo attribute on datetime objects for TZDatetime attributes, so one knows that this is a tz-aware datetime. To easily make it work with backends that have no tz support, we keep converting tz-aware datetime objects into utc naive datetime objects before sending them to the database.
Fri, 18 Dec 2015 09:23:23 +0100 [schema] Use TZDatetime for creation_date and modification_date
Sylvain Thénault <sylvain.thenault@logilab.fr> [Fri, 18 Dec 2015 09:23:23 +0100] rev 11033
[schema] Use TZDatetime for creation_date and modification_date No work has been done for form fields/widgets since creation_date / modification_date are by default not editable through the default UI. One may want to add such feature at some point. Time will be displayed as UTC, let the end-application decide otherwise by customizing the tzdatetime printer if desired. Closes #4848923
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 tip