equal
deleted
inserted
replaced
194 ctrl = vreg.select(vreg.registry_objects('controllers', 'edit'), |
194 ctrl = vreg.select(vreg.registry_objects('controllers', 'edit'), |
195 req=req) |
195 req=req) |
196 except NoSelectableObject: |
196 except NoSelectableObject: |
197 return (False, {None: req._('not authorized')}) |
197 return (False, {None: req._('not authorized')}) |
198 try: |
198 try: |
199 ctrl.publish(None, fromjson=True) |
199 ctrl.publish(None) |
200 except ValidationError, ex: |
200 except ValidationError, ex: |
201 req.cnx.rollback() |
201 req.cnx.rollback() |
202 return (False, _validation_error(req, ex)) |
202 return (False, _validation_error(req, ex)) |
203 except Redirect, ex: |
203 except Redirect, ex: |
204 try: |
204 try: |
217 |
217 |
218 class FormValidatorController(Controller): |
218 class FormValidatorController(Controller): |
219 id = 'validateform' |
219 id = 'validateform' |
220 |
220 |
221 def publish(self, rset=None): |
221 def publish(self, rset=None): |
|
222 self.req.json_request = True |
222 # XXX unclear why we have a separated controller here vs |
223 # XXX unclear why we have a separated controller here vs |
223 # js_validate_form on the json controller |
224 # js_validate_form on the json controller |
224 status, args = _validate_form(self.req, self.vreg) |
225 status, args = _validate_form(self.req, self.vreg) |
225 self.req.set_content_type('text/html') |
226 self.req.set_content_type('text/html') |
226 jsarg = simplejson.dumps( (status, args) ) |
227 jsarg = simplejson.dumps( (status, args) ) |
241 :args: arguments list (json) |
242 :args: arguments list (json) |
242 |
243 |
243 note: it's the responsability of js_* methods to set the correct |
244 note: it's the responsability of js_* methods to set the correct |
244 response content type |
245 response content type |
245 """ |
246 """ |
|
247 self.req.json_request = True |
246 self.req.pageid = self.req.form.get('pageid') |
248 self.req.pageid = self.req.form.get('pageid') |
247 try: |
249 try: |
248 fname = self.req.form['fname'] |
250 fname = self.req.form['fname'] |
249 func = getattr(self, 'js_%s' % fname) |
251 func = getattr(self, 'js_%s' % fname) |
250 except KeyError: |
252 except KeyError: |