211 id = 'validateform' |
211 id = 'validateform' |
212 |
212 |
213 def response(self, domid, status, args, entity): |
213 def response(self, domid, status, args, entity): |
214 callback = str(self.req.form.get('__onsuccess', 'null')) |
214 callback = str(self.req.form.get('__onsuccess', 'null')) |
215 errback = str(self.req.form.get('__onfailure', 'null')) |
215 errback = str(self.req.form.get('__onfailure', 'null')) |
|
216 cbargs = str(self.req.form.get('__cbargs', 'null')) |
216 self.req.set_content_type('text/html') |
217 self.req.set_content_type('text/html') |
217 jsargs = simplejson.dumps((status, args, entity), cls=CubicWebJsonEncoder) |
218 jsargs = simplejson.dumps((status, args, entity), cls=CubicWebJsonEncoder) |
218 return """<script type="text/javascript"> |
219 return """<script type="text/javascript"> |
219 wp = window.parent; |
220 wp = window.parent; |
220 window.parent.handleFormValidationResponse('%s', %s, %s, %s); |
221 window.parent.handleFormValidationResponse('%s', %s, %s, %s, %s); |
221 </script>""" % (domid, callback, errback, jsargs) |
222 </script>""" % (domid, callback, errback, jsargs, cbargs) |
222 |
223 |
223 def publish(self, rset=None): |
224 def publish(self, rset=None): |
224 self.req.json_request = True |
225 self.req.json_request = True |
225 # XXX unclear why we have a separated controller here vs |
226 # XXX unclear why we have a separated controller here vs |
226 # js_validate_form on the json controller |
227 # js_validate_form on the json controller |
374 extraargs = extraargs or {} |
375 extraargs = extraargs or {} |
375 return comp.render(**extraargs) |
376 return comp.render(**extraargs) |
376 |
377 |
377 @check_pageid |
378 @check_pageid |
378 @xhtmlize |
379 @xhtmlize |
379 def js_inline_creation_form(self, peid, ttype, rtype, role): |
380 def js_inline_creation_form(self, peid, ttype, rtype, role, i18nctx): |
380 view = self.vreg['views'].select('inline-creation', self.req, |
381 view = self.vreg['views'].select('inline-creation', self.req, |
381 etype=ttype, peid=peid, rtype=rtype, |
382 etype=ttype, peid=peid, rtype=rtype, |
382 role=role) |
383 role=role) |
383 return self._call_view(view, etype=ttype, peid=peid, |
384 return self._call_view(view, etype=ttype, peid=peid, |
384 rtype=rtype, role=role) |
385 rtype=rtype, role=role, i18nctx=i18nctx) |
385 |
386 |
386 @jsonize |
387 @jsonize |
387 def js_validate_form(self, action, names, values): |
388 def js_validate_form(self, action, names, values): |
388 return self.validate_form(action, names, values) |
389 return self.validate_form(action, names, values) |
389 |
390 |