web/views/basecontrollers.py
changeset 6225 a176e68b7d0d
parent 6140 65a619eb31c4
parent 6207 c3f11fadf9ed
child 6279 42079f752a9c
equal deleted inserted replaced
6182:30de0be8f895 6225:a176e68b7d0d
   289         if not isinstance(args, (list, tuple)):
   289         if not isinstance(args, (list, tuple)):
   290             args = (args,)
   290             args = (args,)
   291         try:
   291         try:
   292             args = [json.loads(arg) for arg in args]
   292             args = [json.loads(arg) for arg in args]
   293         except ValueError, exc:
   293         except ValueError, exc:
   294             self.exception('error while decoding json arguments for js_%s: %s', fname, args, exc)
   294             self.exception('error while decoding json arguments for js_%s: %s',
       
   295                            fname, args, exc)
   295             raise RemoteCallFailed(repr(exc))
   296             raise RemoteCallFailed(repr(exc))
   296         try:
   297         try:
   297             result = func(*args)
   298             result = func(*args)
   298         except (RemoteCallFailed, DirectResponse):
   299         except (RemoteCallFailed, DirectResponse):
   299             raise
   300             raise
   431 
   432 
   432     @xhtmlize
   433     @xhtmlize
   433     def js_render(self, registry, oid, eid=None, selectargs=None, renderargs=None):
   434     def js_render(self, registry, oid, eid=None, selectargs=None, renderargs=None):
   434         if eid is not None:
   435         if eid is not None:
   435             rset = self._cw.eid_rset(eid)
   436             rset = self._cw.eid_rset(eid)
   436         elif 'rql' in self._cw.form:
   437         elif self._cw.form.get('rql'):
   437             rset = self._cw.execute(self._cw.form['rql'])
   438             rset = self._cw.execute(self._cw.form['rql'])
   438         else:
   439         else:
   439             rset = None
   440             rset = None
   440         selectargs = optional_kwargs(selectargs)
   441         selectargs = optional_kwargs(selectargs)
   441         view = self._cw.vreg[registry].select(oid, self._cw, rset=rset, **selectargs)
   442         view = self._cw.vreg[registry].select(oid, self._cw, rset=rset, **selectargs)