equal
deleted
inserted
replaced
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) |