web/views/basecontrollers.py
branchstable
changeset 6238 2f5ebeb7665d
parent 6237 0c886f667b1f
child 6239 7832e47d98bc
equal deleted inserted replaced
6237:0c886f667b1f 6238:2f5ebeb7665d
   386             view = self._cw.vreg['views'].select(vid, req, rset=rset)
   386             view = self._cw.vreg['views'].select(vid, req, rset=rset)
   387         except NoSelectableObject:
   387         except NoSelectableObject:
   388             vid = req.form.get('fallbackvid', 'noresult')
   388             vid = req.form.get('fallbackvid', 'noresult')
   389             view = self._cw.vreg['views'].select(vid, req, rset=rset)
   389             view = self._cw.vreg['views'].select(vid, req, rset=rset)
   390         self.validate_cache(view)
   390         self.validate_cache(view)
   391         return self._call_view(view, paginate=req.form.get('paginate'))
   391         return self._call_view(view, paginate=req.form.pop('paginate', True))
   392 
   392 
   393     @xhtmlize
   393     @xhtmlize
   394     def js_prop_widget(self, propkey, varname, tabindex=None):
   394     def js_prop_widget(self, propkey, varname, tabindex=None):
   395         """specific method for CWProperty handling"""
   395         """specific method for CWProperty handling"""
   396         entity = self._cw.vreg['etypes'].etype_class('CWProperty')(self._cw)
   396         entity = self._cw.vreg['etypes'].etype_class('CWProperty')(self._cw)
   407     def js_component(self, compid, rql, registry='components', extraargs=None):
   407     def js_component(self, compid, rql, registry='components', extraargs=None):
   408         if rql:
   408         if rql:
   409             rset = self._exec(rql)
   409             rset = self._exec(rql)
   410         else:
   410         else:
   411             rset = None
   411             rset = None
   412         if extraargs is None:
   412         extraargs = optional_kwargs(extraargs)
   413             extraargs = {}
   413         extraargs.setdefault('paginate', False)
   414         else: # we receive unicode keys which is not supported by the **syntax
       
   415             extraargs = dict((str(key), value)
       
   416                              for key, value in extraargs.items())
       
   417         # XXX while it sounds good, addition of the try/except below cause pb:
   414         # XXX while it sounds good, addition of the try/except below cause pb:
   418         # when filtering using facets return an empty rset, the edition box
   415         # when filtering using facets return an empty rset, the edition box
   419         # isn't anymore selectable, as expected. The pb is that with the
   416         # isn't anymore selectable, as expected. The pb is that with the
   420         # try/except below, we see a "an error occurred" message in the ui, while
   417         # try/except below, we see a "an error occurred" message in the ui, while
   421         # we don't see it without it. Proper fix would probably be to deal with
   418         # we don't see it without it. Proper fix would probably be to deal with