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,) |