web/request.py
changeset 10094 954765f57fb6
parent 10090 0aebb1c0f849
child 10215 96085e379066
equal deleted inserted replaced
10093:516a44ae2cc9 10094:954765f57fb6
   401         breadcrumbs = self.session.data.get('breadcrumbs')
   401         breadcrumbs = self.session.data.get('breadcrumbs')
   402         if breadcrumbs:
   402         if breadcrumbs:
   403             return breadcrumbs.pop()
   403             return breadcrumbs.pop()
   404         return self.base_url()
   404         return self.base_url()
   405 
   405 
       
   406     @deprecated('[3.19] use a traditional ajaxfunc / controller')
   406     def user_rql_callback(self, rqlargs, *args, **kwargs):
   407     def user_rql_callback(self, rqlargs, *args, **kwargs):
   407         """register a user callback to execute some rql query, and return a URL
   408         """register a user callback to execute some rql query, and return a URL
   408         to call that callback which can be inserted in an HTML view.
   409         to call that callback which can be inserted in an HTML view.
   409 
   410 
   410         `rqlargs` should be a tuple containing argument to give to the execute function.
   411         `rqlargs` should be a tuple containing argument to give to the execute function.
   436         jsfunc = kwargs.pop('jsfunc', 'userCallbackThenReloadPage')
   437         jsfunc = kwargs.pop('jsfunc', 'userCallbackThenReloadPage')
   437         assert not kwargs, 'dunno what to do with remaining kwargs: %s' % kwargs
   438         assert not kwargs, 'dunno what to do with remaining kwargs: %s' % kwargs
   438         cbname = self.register_onetime_callback(cb, *cbargs)
   439         cbname = self.register_onetime_callback(cb, *cbargs)
   439         return "javascript: %s" % getattr(js, jsfunc)(cbname, *args)
   440         return "javascript: %s" % getattr(js, jsfunc)(cbname, *args)
   440 
   441 
       
   442     @deprecated('[3.19] use a traditional ajaxfunc / controller')
   441     def register_onetime_callback(self, func, *args):
   443     def register_onetime_callback(self, func, *args):
   442         cbname = build_cb_uid(func.__name__)
   444         cbname = build_cb_uid(func.__name__)
   443         def _cb(req):
   445         def _cb(req):
   444             try:
   446             try:
   445                 return func(req, *args)
   447                 return func(req, *args)
   446             finally:
   448             finally:
   447                 self.unregister_callback(self.pageid, cbname)
   449                 self.unregister_callback(self.pageid, cbname)
   448         self.set_page_data(cbname, _cb)
   450         self.set_page_data(cbname, _cb)
   449         return cbname
   451         return cbname
   450 
   452 
       
   453     @deprecated('[3.19] use a traditional ajaxfunc / controller')
   451     def unregister_callback(self, pageid, cbname):
   454     def unregister_callback(self, pageid, cbname):
   452         assert pageid is not None
   455         assert pageid is not None
   453         assert cbname.startswith('cb_')
   456         assert cbname.startswith('cb_')
   454         self.info('unregistering callback %s for pageid %s', cbname, pageid)
   457         self.info('unregistering callback %s for pageid %s', cbname, pageid)
   455         self.del_page_data(cbname)
   458         self.del_page_data(cbname)
   456 
   459 
       
   460     @deprecated('[3.19] use a traditional ajaxfunc / controller')
   457     def clear_user_callbacks(self):
   461     def clear_user_callbacks(self):
   458         if self.session is not None: # XXX
   462         if self.session is not None: # XXX
   459             for key in list(self.session.data):
   463             for key in list(self.session.data):
   460                 if key.startswith('cb_'):
   464                 if key.startswith('cb_'):
   461                     del self.session.data[key]
   465                     del self.session.data[key]