221 def restore_previous_post(self, sessionkey): |
221 def restore_previous_post(self, sessionkey): |
222 # get validation session data which may have been previously set. |
222 # get validation session data which may have been previously set. |
223 # deleting validation errors here breaks form reloading (errors are |
223 # deleting validation errors here breaks form reloading (errors are |
224 # no more available), they have to be deleted by application's publish |
224 # no more available), they have to be deleted by application's publish |
225 # method on successful commit |
225 # method on successful commit |
226 if hasattr(self, '_form_previous_values'): |
|
227 # XXX behaviour changed in 3.6.1, warn |
|
228 warn('[3.6.1] restore_previous_post already called, remove this call', |
|
229 DeprecationWarning, stacklevel=2) |
|
230 return |
|
231 forminfo = self._cw.session.data.pop(sessionkey, None) |
226 forminfo = self._cw.session.data.pop(sessionkey, None) |
232 if forminfo: |
227 if forminfo: |
233 self._form_previous_values = forminfo['values'] |
228 self._form_previous_values = forminfo['values'] |
234 self._form_valerror = forminfo['error'] |
229 self._form_valerror = forminfo['error'] |
235 # if some validation error occurred on entity creation, we have to |
230 # if some validation error occurred on entity creation, we have to |
260 return None |
255 return None |
261 |
256 |
262 def remaining_errors(self): |
257 def remaining_errors(self): |
263 return sorted(self.form_valerror.errors.items()) |
258 return sorted(self.form_valerror.errors.items()) |
264 |
259 |
265 @deprecated('[3.6] use form.field_error and/or new renderer.render_error method') |
|
266 def form_field_error(self, field): |
|
267 """return validation error for widget's field, if any""" |
|
268 err = self.field_error(field) |
|
269 if err: |
|
270 return u'<span class="error">%s</span>' % err |
|
271 return u'' |
|
272 |
|