diff --git a/src/wuttaweb/grids/base.py b/src/wuttaweb/grids/base.py index ba402ce..e01c5e1 100644 --- a/src/wuttaweb/grids/base.py +++ b/src/wuttaweb/grids/base.py @@ -1976,7 +1976,6 @@ class Grid: for filtr in self.filters.values(): filters.append({ 'key': filtr.key, - 'data_type': filtr.data_type, 'active': filtr.active, 'visible': filtr.active, 'verbs': filtr.get_verbs(), diff --git a/src/wuttaweb/grids/filters.py b/src/wuttaweb/grids/filters.py index 6be29c7..1cbdb89 100644 --- a/src/wuttaweb/grids/filters.py +++ b/src/wuttaweb/grids/filters.py @@ -24,7 +24,6 @@ Grid Filters """ -import datetime import logging import sqlalchemy as sa @@ -70,18 +69,6 @@ class GridFilter: Display label for the filter field. - .. attribute:: data_type - - Simplistic "data type" which the filter supports. So far this - will be one of: - - * ``'string'`` - * ``'date'`` - - Note that this mainly applies to the "value input" used by the - filter. There is no data type for boolean since it does not - need a value input; the verb is enough. - .. attribute:: active Boolean indicating whether the filter is currently active. @@ -123,18 +110,12 @@ class GridFilter: See also :attr:`default_verb`. """ - data_type = 'string' default_verbs = ['equal', 'not_equal'] default_verb_labels = { 'is_any': "is any", 'equal': "equal to", 'not_equal': "not equal to", - 'greater_than': "greater than", - 'greater_equal': "greater than or equal to", - 'less_than': "less than", - 'less_equal': "less than or equal to", - # 'between': "between", 'is_true': "is true", 'is_false': "is false", 'is_false_null': "is false or null", @@ -362,42 +343,6 @@ class AlchemyFilter(GridFilter): self.model_property != value, )) - def filter_greater_than(self, query, value): - """ - Filter data with a greater than (``>``) condition. - """ - value = self.coerce_value(value) - if value is None: - return query - return query.filter(self.model_property > value) - - def filter_greater_equal(self, query, value): - """ - Filter data with a greater than or equal (``>=``) condition. - """ - value = self.coerce_value(value) - if value is None: - return query - return query.filter(self.model_property >= value) - - def filter_less_than(self, query, value): - """ - Filter data with a less than (``<``) condition. - """ - value = self.coerce_value(value) - if value is None: - return query - return query.filter(self.model_property < value) - - def filter_less_equal(self, query, value): - """ - Filter data with a less than or equal (``<=``) condition. - """ - value = self.coerce_value(value) - if value is None: - return query - return query.filter(self.model_property <= value) - def filter_is_null(self, query, value): """ Filter data with an ``IS NULL`` query. The value is ignored. @@ -522,52 +467,9 @@ class BooleanAlchemyFilter(AlchemyFilter): self.model_property == None)) -class DateAlchemyFilter(AlchemyFilter): - """ - SQLAlchemy filter option for a - :class:`sqlalchemy:sqlalchemy.types.Date` column. - - Subclass of :class:`AlchemyFilter`. - """ - data_type = 'date' - default_verbs = [ - 'equal', - 'not_equal', - 'greater_than', - 'greater_equal', - 'less_than', - 'less_equal', - # 'between', - ] - - default_verb_labels = { - 'equal': "on", - 'not_equal': "not on", - 'greater_than': "after", - 'greater_equal': "on or after", - 'less_than': "before", - 'less_equal': "on or before", - # 'between': "between", - } - - def coerce_value(self, value): - """ """ - if value: - if isinstance(value, datetime.date): - return value - - try: - dt = datetime.datetime.strptime(value, '%Y-%m-%d') - except ValueError: - log.warning("invalid date value: %s", value) - else: - return dt.date() - - default_sqlalchemy_filters = { None: AlchemyFilter, sa.String: StringAlchemyFilter, sa.Text: StringAlchemyFilter, sa.Boolean: BooleanAlchemyFilter, - sa.Date: DateAlchemyFilter, } diff --git a/src/wuttaweb/templates/grids/vue_template.mako b/src/wuttaweb/templates/grids/vue_template.mako index e876eca..e3a7a23 100644 --- a/src/wuttaweb/templates/grids/vue_template.mako +++ b/src/wuttaweb/templates/grids/vue_template.mako @@ -14,7 +14,7 @@ :is-small="smallFilters" ref="gridFilters" /> -