web/formfields.py
branchstable
changeset 4581 c92ded4dee20
parent 4546 f8ac61376b2b
child 4583 356f08325072
equal deleted inserted replaced
4580:9fce32b5d219 4581:c92ded4dee20
   813                     form.root_form.remove_field(field)
   813                     form.root_form.remove_field(field)
   814             form.formvalues[self] = value
   814             form.formvalues[self] = value
   815 
   815 
   816     def format_single_value(self, req, value):
   816     def format_single_value(self, req, value):
   817         return value
   817         return value
       
   818 
       
   819     def process_form_value(self, form):
       
   820         """process posted form and return correctly typed value"""
       
   821         try:
       
   822             return form.formvalues[self]
       
   823         except KeyError:
       
   824             value = self._process_form_value(form)
       
   825             # if value is None, there are some remaining pending fields, we'll
       
   826             # have to recompute this later -> don't cache in formvalues
       
   827             if value is not None:
       
   828                 form.formvalues[self] = value
       
   829             return value
   818 
   830 
   819     def _process_form_value(self, form):
   831     def _process_form_value(self, form):
   820         """process posted form and return correctly typed value"""
   832         """process posted form and return correctly typed value"""
   821         widget = self.get_widget(form)
   833         widget = self.get_widget(form)
   822         values = widget.process_field_data(form, self)
   834         values = widget.process_field_data(form, self)