# HG changeset patch # User Aurelien Campeas # Date 1247145318 -7200 # Node ID ef9e30485ee7e6d72387481dbdfed61b5ebc3e5b # Parent 359903ef980ae1449a9427a0f6dd2192add1fad1 [formfields,formwidgets] move default size and maxlength from field to widget init (that is quite still unsatisfactorily) diff -r 359903ef980a -r ef9e30485ee7 web/formfields.py --- a/web/formfields.py Thu Jul 09 14:39:56 2009 +0200 +++ b/web/formfields.py Thu Jul 09 15:15:18 2009 +0200 @@ -203,8 +203,6 @@ widget = Select() elif self.max_length and self.max_length < 257: widget = TextInput() - widget.attrs.setdefault('size', min(45, self.max_length)) - widget.attrs.setdefault('maxlength', self.max_length) super(StringField, self).init_widget(widget) if isinstance(self.widget, TextArea): diff -r 359903ef980a -r ef9e30485ee7 web/formwidgets.py --- a/web/formwidgets.py Thu Jul 09 14:39:56 2009 +0200 +++ b/web/formwidgets.py Thu Jul 09 15:15:18 2009 +0200 @@ -89,6 +89,13 @@ """""" type = 'text' + def render(self, form, field): + if hasattr(field, 'max_length') and field.max_length: + self.attrs.setdefault('size', min(45, field.max_length)) + self.attrs.setdefault('maxlength', field.max_length) + return super(TextInput, self).render(form, field) + + class PasswordInput(Input): """ and its confirmation field (using