From 288035b2949875ff91a560a7bf8710d10e4ebc4f Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Mon, 9 Jul 2012 13:55:59 -0500 Subject: [PATCH] add join_map to grid views --- edbob/pyramid/views/grid.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/edbob/pyramid/views/grid.py b/edbob/pyramid/views/grid.py index f9f9811..ecd3871 100644 --- a/edbob/pyramid/views/grid.py +++ b/edbob/pyramid/views/grid.py @@ -53,6 +53,9 @@ class Grid(object): def __init__(self, request): self.request = request + def join_map(self): + return {} + def make_filter_map(self, **kwargs): return filters.get_filter_map(self.mapped_class, **kwargs) @@ -69,8 +72,8 @@ class Grid(object): def search_form(self, config): return filters.get_search_form(config) - def make_sort_map(self, *args): - return grids.get_sort_map(self.mapped_class, names=args or None) + def make_sort_map(self, *args, **kwargs): + return grids.get_sort_map(self.mapped_class, names=args or None, **kwargs) def sort_map(self): return self.make_sort_map() @@ -83,11 +86,13 @@ class Grid(object): def grid_config(self, search, fmap): return self.make_grid_config(search, fmap) - def make_query(self, config): + def make_query(self, config, jmap=None): + if jmap is None: + jmap = self.join_map() smap = self.sort_map() q = Session.query(self.mapped_class) - q = filters.filter_query(q, config) - q = grids.sort_query(q, config, smap) + q = filters.filter_query(q, config, jmap) + q = grids.sort_query(q, config, smap, jmap) return q def query(self, config): @@ -111,6 +116,9 @@ class Grid(object): return g def __call__(self): + """ + View callable method. + """ fmap = self.filter_map() config = self.search_config(fmap)