--- a/.hgtags Wed Mar 24 08:40:21 2010 +0100
+++ b/.hgtags Wed Mar 24 08:42:49 2010 +0100
@@ -111,3 +111,5 @@
0c9ff7e496ce344b7e6bf5c9dd2847daf9034e5e cubicweb-debian-version-3.7.0-1
6b0832bbd1daf27c2ce445af5b5222e1e522fb90 cubicweb-version-3.7.1
9194740f070e64da5a89f6a9a31050a8401ebf0c cubicweb-debian-version-3.7.1-1
+9c342fa4f1b73e06917d7dc675949baff442108b cubicweb-version-3.6.3
+f9fce56d6a0c2bc6c4b497b66039a8bbbbdc8074 cubicweb-debian-version-3.6.3-1
--- a/debian/changelog Wed Mar 24 08:40:21 2010 +0100
+++ b/debian/changelog Wed Mar 24 08:42:49 2010 +0100
@@ -8,11 +8,22 @@
* remove postgresql-contrib from cubicweb dependency (using tsearch
which is included with postgres >= 8.3)
- * add postgresql-client | mysql-client to cubicweb-server dependencies, necessary
- for dump/restore of database
+ * add postgresql-client | mysql-client to cubicweb-server dependencies using two
+ new cubicweb-[postgresql|mysql]-support virtual packages (necessary for
+ dump/restore of database)
-- Sylvain Thénault <sylvain.thenault@logilab.fr> Tue, 16 Mar 2010 17:55:37 +0100
+ cubicweb (3.6.3-1) unstable; urgency=low
+
+ * remove postgresql-contrib from cubicweb dependency (using tsearch
+ which is included with postgres >= 8.3)
+ * add postgresql-client | mysql-client to cubicweb-server dependencies using two
+ new cubicweb-[postgresql|mysql]-support virtual packages (necessary for
+ dump/restore of database)
+
+ -- Sylvain Thénault <sylvain.thenault@logilab.fr> Wed, 24 Mar 2010 07:50:47 +0100
+
cubicweb (3.6.2-1) unstable; urgency=low
* new upstream release
--- a/debian/control Wed Mar 24 08:40:21 2010 +0100
+++ b/debian/control Wed Mar 24 08:42:49 2010 +0100
@@ -33,7 +33,6 @@
Conflicts: cubicweb-multisources
Replaces: cubicweb-multisources
Provides: cubicweb-multisources
-# postgresql/mysql -client packages for backup/restore of non local database
Depends: ${python:Depends}, cubicweb-common (= ${source:Version}), cubicweb-ctl (= ${source:Version}), python-logilab-database, cubicweb-postgresql-support | cubicweb-mysql-support | python-pysqlite2
Recommends: pyro, cubicweb-documentation (= ${source:Version})
Description: server part of the CubicWeb framework
@@ -46,7 +45,7 @@
Package: cubicweb-postgresql-support
Architecture: all
-# postgresql/mysql -client packages for backup/restore of non local database
+# postgresql-client packages for backup/restore of non local database
Depends: python-psycopg2, postgresql-client
Description: postgres support for the CubicWeb framework
CubicWeb is a semantic web application framework.
@@ -56,7 +55,7 @@
Package: cubicweb-mysql-support
Architecture: all
-# postgresql/mysql -client packages for backup/restore of non local database
+# mysql-client packages for backup/restore of non local database
Depends: python-mysqldb, mysql-client
Description: mysql support for the CubicWeb framework
CubicWeb is a semantic web application framework.
--- a/hooks/test/unittest_syncschema.py Wed Mar 24 08:40:21 2010 +0100
+++ b/hooks/test/unittest_syncschema.py Wed Mar 24 08:42:49 2010 +0100
@@ -307,3 +307,6 @@
cstr = rdef.constraint_by_type('StaticVocabularyConstraint')
self.assertEquals(cstr.values, (u'normal', u'auto', u'new'))
self.execute('INSERT Transition T: T name "hop", T type "new"')
+
+if __name__ == '__main__':
+ unittest_main()
--- a/server/repository.py Wed Mar 24 08:40:21 2010 +0100
+++ b/server/repository.py Wed Mar 24 08:42:49 2010 +0100
@@ -1003,7 +1003,11 @@
# init edited_attributes before calling before_add_entity hooks
entity._is_saved = False # entity has an eid but is not yet saved
entity.edited_attributes = set(entity)
- entity = entity.pre_add_hook()
+ entity_ = entity.pre_add_hook()
+ # XXX kill that transmutation feature !
+ if not entity_ is entity:
+ entity.__class__ = entity_.__class__
+ entity.__dict__.update(entity_.__dict__)
eschema = entity.e_schema
etype = str(eschema)
source = self.locate_etype_source(etype)
--- a/skeleton/__pkginfo__.py.tmpl Wed Mar 24 08:40:21 2010 +0100
+++ b/skeleton/__pkginfo__.py.tmpl Wed Mar 24 08:42:49 2010 +0100
@@ -44,7 +44,7 @@
# them to be included in the debian package
__depends_cubes__ = {}
-__depends__ = {'cubicweb': '>= 3.5.0'}
+__depends__ = {'cubicweb': '>= 3.6.0'}
__use__ = (%(dependancies)s)
__recommend__ = ()
--- a/web/data/cubicweb.edition.js Wed Mar 24 08:40:21 2010 +0100
+++ b/web/data/cubicweb.edition.js Wed Mar 24 08:42:49 2010 +0100
@@ -35,8 +35,8 @@
* this function is called when an AJAX form was generated to
* make sure tabindex remains consistent
*/
-function reorderTabindex(start) {
- var form = getNode('entityForm');
+function reorderTabindex(start, formid) {
+ var form = getNode(formid || 'entityForm');
var inputTypes = ['INPUT', 'SELECT', 'TEXTAREA'];
var tabindex = (start==null)?15:start;
nodeWalkDepthFirst(form, function(elem) {
@@ -254,7 +254,7 @@
form.css('display', 'none');
form.insertBefore(insertBefore).slideDown('fast');
updateInlinedEntitiesCounters(rtype, role);
- reorderTabindex();
+ reorderTabindex(null, $(insertBefore).closest('form')[0]);
jQuery(CubicWeb).trigger('inlinedform-added', form);
// if the inlined form contains a file input, we must force
// the form enctype to multipart/form-data
--- a/web/formwidgets.py Wed Mar 24 08:40:21 2010 +0100
+++ b/web/formwidgets.py Wed Mar 24 08:42:49 2010 +0100
@@ -263,8 +263,8 @@
"""<select>, for field having a specific vocabulary"""
vocabulary_widget = True
- def __init__(self, attrs=None, multiple=False):
- super(Select, self).__init__(attrs)
+ def __init__(self, attrs=None, multiple=False, **kwargs):
+ super(Select, self).__init__(attrs, **kwargs)
self._multiple = multiple
def render(self, form, field, renderer):
--- a/web/request.py Wed Mar 24 08:40:21 2010 +0100
+++ b/web/request.py Wed Mar 24 08:42:49 2010 +0100
@@ -314,7 +314,7 @@
breadcrumbs.append(self.url())
else:
url = self.url()
- if breadcrumbs[-1] != url:
+ if breadcrumbs and breadcrumbs[-1] != url:
breadcrumbs.append(url)
def last_visited_page(self):
--- a/web/views/basecontrollers.py Wed Mar 24 08:40:21 2010 +0100
+++ b/web/views/basecontrollers.py Wed Mar 24 08:42:49 2010 +0100
@@ -394,7 +394,14 @@
for key, value in extraargs.items())
comp = self._cw.vreg[registry].select(compid, self._cw, rset=rset, **extraargs)
extraargs = extraargs or {}
- return comp.render(**extraargs)
+ stream = comp.set_stream()
+ comp.render(**extraargs)
+ extresources = self._cw.html_headers.getvalue(skiphead=True)
+ if extresources:
+ stream.write(u'<div class="ajaxHtmlHead">\n')
+ stream.write(extresources)
+ stream.write(u'</div>\n')
+ return stream.getvalue()
@check_pageid
@xhtmlize
--- a/web/views/schema.py Wed Mar 24 08:40:21 2010 +0100
+++ b/web/views/schema.py Wed Mar 24 08:42:49 2010 +0100
@@ -247,7 +247,7 @@
self.w(u'<h2>%s</h2>' % _('Relations'))
rset = self._cw.execute(
'Any R,C,TT,K,D,A,RN,TTN ORDERBY RN '
- 'WHERE A is CWRelation, A description D, A composite K?, '
+ 'WHERE A is CWRelation, A description D, A composite K, '
'A relation_type R, R name RN, A to_entity TT, TT name TTN, '
'A cardinality C, A from_entity S, S eid %(x)s',
{'x': entity.eid})
@@ -255,7 +255,7 @@
displaycols=range(6), mainindex=5)
rset = self._cw.execute(
'Any R,C,TT,K,D,A,RN,TTN ORDERBY RN '
- 'WHERE A is CWRelation, A description D, A composite K?, '
+ 'WHERE A is CWRelation, A description D, A composite K, '
'A relation_type R, R name RN, A from_entity TT, TT name TTN, '
'A cardinality C, A to_entity O, O eid %(x)s',
{'x': entity.eid})