Improve auto-handling of "local" timestamps

for non-Rattail DBs where timestamps are local instead of UTC
This commit is contained in:
Lance Edgar 2020-09-02 11:30:02 -05:00
parent d2d632092b
commit 72177e8ab5
3 changed files with 27 additions and 5 deletions

View file

@ -2,7 +2,7 @@
################################################################################
#
# Rattail -- Retail Software Framework
# Copyright © 2010-2019 Lance Edgar
# Copyright © 2010-2020 Lance Edgar
#
# This file is part of Rattail.
#
@ -69,7 +69,8 @@ class Grid(object):
def __init__(self, key, data, columns=None, width='auto', request=None, mobile=False,
model_class=None, model_title=None, model_title_plural=None,
enums={}, labels={}, renderers={}, extra_row_class=None, linked_columns=[], url='#',
enums={}, labels={}, assume_local_times=False, renderers={},
extra_row_class=None, linked_columns=[], url='#',
joiners={}, filterable=False, filters={}, use_byte_string_filters=False,
sortable=False, sorters={}, default_sortkey=None, default_sortdir='asc',
pageable=False, default_pagesize=20, default_page=1,
@ -102,6 +103,7 @@ class Grid(object):
self.enums = enums or {}
self.labels = labels or {}
self.assume_local_times = assume_local_times
self.renderers = self.make_default_renderers(renderers or {})
self.extra_row_class = extra_row_class
self.linked_columns = linked_columns or []
@ -407,7 +409,10 @@ class Grid(object):
return self.render_boolean
if isinstance(coltype, sa.DateTime):
return self.render_datetime
if self.assume_local_times:
return self.render_datetime_local
else:
return self.render_datetime
if isinstance(coltype, GPCType):
return self.render_gpc