backport oldstable stable
authorSylvain Thénault <sylvain.thenault@logilab.fr>
Thu, 28 Apr 2011 15:25:46 +0200
branchstable
changeset 7268 cd14e03124be
parent 7264 9ed9e1d77ef3 (current diff)
parent 7267 2fe2ed459e4d (diff)
child 7270 5a1e9b90b5c4
backport oldstable
utils.py
web/request.py
--- a/utils.py	Wed Apr 27 15:42:07 2011 +0200
+++ b/utils.py	Thu Apr 28 15:25:46 2011 +0200
@@ -230,7 +230,10 @@
     Request objects use a HTMLHead instance to ease adding of
     javascripts and stylesheets
     """
-    js_unload_code = u'jQuery(window).unload(unloadPageData);'
+    js_unload_code = u'''if (typeof(pageDataUnloaded) == 'undefined') {
+    jQuery(window).unload(unloadPageData);
+    pageDataUnloaded = true;
+}'''
     # Making <script> tag content work properly with all possible
     # content-types (xml/html) and all possible browsers is very
     # tricky, see http://www.hixie.ch/advocacy/xhtml for an in-depth discussion
--- a/web/request.py	Wed Apr 27 15:42:07 2011 +0200
+++ b/web/request.py	Thu Apr 28 15:25:46 2011 +0200
@@ -135,12 +135,12 @@
         """
         return self.set_varmaker()
 
-    def _get_tabindex_func(self):
+    def next_tabindex(self):
         nextfunc = self.get_page_data('nexttabfunc')
         if nextfunc is None:
             nextfunc = count(1).next
             self.set_page_data('nexttabfunc', nextfunc)
-        return nextfunc
+        return nextfunc()
 
     def set_varmaker(self):
         varmaker = self.get_page_data('rql_varmaker')
@@ -154,8 +154,6 @@
         or an anonymous connection is open
         """
         super(CubicWebRequestBase, self).set_session(session, user)
-        # tabindex generator
-        self.next_tabindex = self._get_tabindex_func()
         # set request language
         vreg = self.vreg
         if self.user:
--- a/web/views/startup.py	Wed Apr 27 15:42:07 2011 +0200
+++ b/web/views/startup.py	Thu Apr 28 15:25:46 2011 +0200
@@ -125,7 +125,7 @@
     def create_links(self):
         self.w(u'<ul class="createLink">')
         for etype in self.add_etype_links:
-            eschema = self.schema.eschema(etype)
+            eschema = self._cw.vreg.schema.eschema(etype)
             if eschema.has_perm(self._cw, 'add'):
                 self.w(u'<li><a href="%s">%s</a></li>' % (
                         self._cw.build_url('add/%s' % eschema),