diff --git a/gluon/sqlhtml.py b/gluon/sqlhtml.py index 0a7b3cdb..87e5858e 100644 --- a/gluon/sqlhtml.py +++ b/gluon/sqlhtml.py @@ -1838,13 +1838,16 @@ class SQLFORM(FORM): operators = SELECT(*[OPTION(T(option), _value=option) for option in options], _class='form-control') _id = "%s_%s" % (value_id, name) if field_type in ['boolean', 'double', 'time', 'integer']: - value_input = SQLFORM.widgets[field_type].widget(field, field.default, _id=_id, _class='form-control') + widget_ = SQLFORM.widgets[field_type] + value_input = widget_.widget(field, field.default, _id=_id, _class=widget_._class + ' form-control') elif field_type == 'date': iso_format = {'_data-w2p_date_format' : '%Y-%m-%d'} - value_input = SQLFORM.widgets.date.widget(field, field.default, _id=_id, _class='form-control', **iso_format) + widget_ = SQLFORM.widgets.date + value_input = widget_.widget(field, field.default, _id=_id, _class=widget_._class + ' form-control', **iso_format) elif field_type == 'datetime': iso_format = {'_data-w2p_datetime_format' : '%Y-%m-%d %H:%M:%S'} - value_input = SQLFORM.widgets.datetime.widget(field, field.default, _id=_id, _class='form-control', **iso_format) + widget_ = SQLFORM.widgets.datetime + value_input = widget_.widget(field, field.default, _id=_id, _class=widget_._class + ' form-control', **iso_format) elif (field_type.startswith('reference ') or field_type.startswith('list:reference ')) and \ hasattr(field.requires, 'options'): @@ -1856,7 +1859,8 @@ class SQLFORM(FORM): elif field_type.startswith('reference ') or \ field_type.startswith('list:integer') or \ field_type.startswith('list:reference '): - value_input = SQLFORM.widgets.integer.widget(field, field.default, _id=_id, _class='form-control') + widget_ = SQLFORM.widgets.integer + value_input = widget_.widget(field, field.default, _id=_id, _class=widget_._class + ' form-control') else: value_input = INPUT( _type='text', _id=_id,