src/pyams_form/form.py
changeset 195 e4b68da720e2
parent 191 35d8152e2490
child 204 c435de184bda
equal deleted inserted replaced
194:d3ac1e9ec1c2 195:e4b68da720e2
   194         result = []
   194         result = []
   195         for form in self.forms:
   195         for form in self.forms:
   196             result.extend(form.widgets.errors)
   196             result.extend(form.widgets.errors)
   197         return result
   197         return result
   198 
   198 
   199     def add_error(self, error, widget):
   199     def add_error(self, error, widget, status=None):
   200         if isinstance(error, str):
   200         if isinstance(error, str):
   201             error = Invalid(error)
   201             error = Invalid(error)
   202         if isinstance(widget, str):
   202         if isinstance(widget, str):
   203             widget = self.widgets[widget]
   203             widget = self.widgets[widget]
   204         snippet = self.request.registry.getMultiAdapter((error, self.request, widget,
   204         snippet = self.request.registry.getMultiAdapter((error, self.request, widget,
   207         snippet.update()
   207         snippet.update()
   208         widget.error = snippet
   208         widget.error = snippet
   209         self.widgets.errors += (snippet,)
   209         self.widgets.errors += (snippet,)
   210         translate = self.request.localizer.translate
   210         translate = self.request.localizer.translate
   211         if not self.status:
   211         if not self.status:
   212             self.status = translate(self.formErrorsMessage)
   212             self.status = translate(status or self.formErrorsMessage)
   213         self.status += '\n{0}'.format(translate(error.args[0]))
   213         self.status += '\n{0}'.format(translate(error.args[0]))
   214 
   214 
   215     def update_content(self, content, data):
   215     def update_content(self, content, data):
   216         changes = applyChanges(self, content, data.get(self, data))
   216         changes = applyChanges(self, content, data.get(self, data))
   217         for subform in self.get_forms(include_self=False):
   217         for subform in self.get_forms(include_self=False):