Make config
param more explicit, for GridFilter constructor
i.e. the rattail config object
This commit is contained in:
parent
539f4a5c31
commit
ad4ec41e15
2 changed files with 18 additions and 20 deletions
|
@ -24,12 +24,9 @@
|
|||
Core Grid Classes
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
import warnings
|
||||
import logging
|
||||
|
||||
import six
|
||||
from six.moves import urllib
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy import orm
|
||||
|
@ -493,8 +490,8 @@ class Grid(object):
|
|||
return ""
|
||||
enum = self.enums.get(column_name)
|
||||
if enum and value in enum:
|
||||
return six.text_type(enum[value])
|
||||
return six.text_type(value)
|
||||
return str(enum[value])
|
||||
return str(value)
|
||||
|
||||
def render_gpc(self, obj, column_name):
|
||||
value = self.obtain_value(obj, column_name)
|
||||
|
@ -687,14 +684,16 @@ class Grid(object):
|
|||
factory = gridfilters.AlchemyDateTimeFilter
|
||||
elif isinstance(column.type, GPCType):
|
||||
factory = gridfilters.AlchemyGPCFilter
|
||||
kwargs['column'] = column
|
||||
kwargs.setdefault('config', self.request.rattail_config)
|
||||
kwargs.setdefault('encode_values', self.use_byte_string_filters)
|
||||
return factory(key, column=column, config=self.request.rattail_config, **kwargs)
|
||||
return factory(key, **kwargs)
|
||||
|
||||
def iter_filters(self):
|
||||
"""
|
||||
Iterate over all filters available to the grid.
|
||||
"""
|
||||
return six.itervalues(self.filters)
|
||||
return self.filters.values()
|
||||
|
||||
def iter_active_filters(self):
|
||||
"""
|
||||
|
@ -1002,7 +1001,7 @@ class Grid(object):
|
|||
else: # source = session
|
||||
settings['{}.active'.format(prefix)] = self.get_setting(
|
||||
source, settings, '{}.active'.format(prefix),
|
||||
normalize=lambda v: six.text_type(v).lower() == 'true', default=False)
|
||||
normalize=lambda v: str(v).lower() == 'true', default=False)
|
||||
settings['{}.verb'.format(prefix)] = self.get_setting(
|
||||
source, settings, '{}.verb'.format(prefix), default='')
|
||||
settings['{}.value'.format(prefix)] = self.get_setting(
|
||||
|
@ -1071,7 +1070,7 @@ class Grid(object):
|
|||
|
||||
if self.filterable:
|
||||
for filtr in self.iter_filters():
|
||||
persist('filter.{}.active'.format(filtr.key), value=lambda k: six.text_type(settings[k]).lower())
|
||||
persist('filter.{}.active'.format(filtr.key), value=lambda k: str(settings[k]).lower())
|
||||
persist('filter.{}.verb'.format(filtr.key))
|
||||
persist('filter.{}.value'.format(filtr.key))
|
||||
|
||||
|
@ -1305,7 +1304,7 @@ class Grid(object):
|
|||
'multiple_value_verbs': multiple_values,
|
||||
'verb_labels': filtr.verb_labels,
|
||||
'verb': filtr.verb or filtr.default_verb or filtr.verbs[0],
|
||||
'value': six.text_type(filtr.value) if filtr.value is not None else "",
|
||||
'value': str(filtr.value) if filtr.value is not None else "",
|
||||
'data_type': filtr.data_type,
|
||||
'choices': choices,
|
||||
'choice_labels': choice_labels,
|
||||
|
@ -1478,7 +1477,7 @@ class Grid(object):
|
|||
value = self.obtain_value(rowobj, name)
|
||||
if value is None:
|
||||
value = ""
|
||||
row[name] = six.text_type(value)
|
||||
row[name] = str(value)
|
||||
|
||||
# maybe add UUID for convenience
|
||||
if 'uuid' not in self.columns:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue