From 46ffaa6aea32364e85b1a884977051eb3dc9c5cf Mon Sep 17 00:00:00 2001 From: mdipierro Date: Sat, 2 Apr 2016 14:48:03 -0500 Subject: [PATCH] improved search form --- gluon/sqlhtml.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/gluon/sqlhtml.py b/gluon/sqlhtml.py index 3efc0ea3..ba2590fd 100644 --- a/gluon/sqlhtml.py +++ b/gluon/sqlhtml.py @@ -1897,33 +1897,39 @@ class SQLFORM(FORM): else: field_type = field.type - operators = SELECT(*[OPTION(T(option), _value=option) for option in options], _class='form-control') + 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']: widget_ = SQLFORM.widgets[field_type] - value_input = widget_.widget(field, field.default, _id=_id, _class=widget_._class + ' form-control') + 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'} widget_ = SQLFORM.widgets.date - value_input = widget_.widget(field, field.default, _id=_id, _class=widget_._class + ' form-control', **iso_format) + 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'} 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') or \ - hasattr(field.requires, 'options'): + value_input = widget_.widget(field, field.default, _id=_id, + _class=widget_._class + ' form-control', + **iso_format) + elif hasattr(field.requires, 'options'): value_input = SELECT( *[OPTION(v, _value=k) for k, v in field.requires.options()], _class='form-control', **dict(_id=_id)) - elif field_type.startswith('reference ') or \ - field_type.startswith('list:integer') or \ - field_type.startswith('list:reference '): + elif (field_type.startswith('integer') or + field_type.startswith('reference ') or + field_type.startswith('list:integer') or + field_type.startswith('list:reference ')): widget_ = SQLFORM.widgets.integer - value_input = widget_.widget(field, field.default, _id=_id, _class=widget_._class + ' form-control') + value_input = widget_.widget( + field, field.default, _id=_id, + _class=widget_._class + ' form-control') else: value_input = INPUT( _type='text', _id=_id,