web/formwidgets.py
branchstable
changeset 4658 25de2eb0432b
parent 4627 54de0ddd0bf3
child 4660 21ed77792c33
equal deleted inserted replaced
4656:027bbff3659f 4658:25de2eb0432b
    95         if self.settabindex and not 'tabindex' in attrs:
    95         if self.settabindex and not 'tabindex' in attrs:
    96             attrs['tabindex'] = form._cw.next_tabindex()
    96             attrs['tabindex'] = form._cw.next_tabindex()
    97         return self.values(form, field), attrs
    97         return self.values(form, field), attrs
    98 
    98 
    99     def values(self, form, field):
    99     def values(self, form, field):
   100         qname = field.input_name(form, self.suffix)
   100         values = None
   101         if qname in form.form_previous_values:
   101         if not field.ignore_req_params:
   102             values = form.form_previous_values[qname]
   102             qname = field.input_name(form, self.suffix)
   103         elif qname in form._cw.form:
   103             # value from a previous post that has raised a validation error
   104             values = form._cw.form[qname]
   104             if qname in form.form_previous_values:
   105         elif field.name != qname and field.name in form._cw.form:
   105                 values = form.form_previous_values[qname]
   106             # compat: accept attr=value in req.form to specify value of attr-subject
   106             # value specified using form parameters
   107             values = form._cw.form[field.name]
   107             elif qname in form._cw.form:
   108         else:
   108                 values = form._cw.form[qname]
       
   109             elif field.name != qname and field.name in form._cw.form:
       
   110                 # XXX compat: accept attr=value in req.form to specify value of
       
   111                 # attr-subject
       
   112                 values = form._cw.form[field.name]
       
   113         if values is None:
   109             values = self.typed_value(form, field)
   114             values = self.typed_value(form, field)
   110             if values != INTERNAL_FIELD_VALUE:
   115             if values != INTERNAL_FIELD_VALUE:
   111                 values = self.format_value(form, field, values)
   116                 values = self.format_value(form, field, values)
   112         if not isinstance(values, (tuple, list)):
   117         if not isinstance(values, (tuple, list)):
   113             values = (values,)
   118             values = (values,)