From 23e08d0bb05bdd900209c9ee59fd5f94f087a959 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 20 Sep 2013 15:49:48 -0700 Subject: [PATCH] Fixed grid join map bug. --- tailbone/grids/search.py | 6 +++--- tailbone/views/products.py | 7 +------ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/tailbone/grids/search.py b/tailbone/grids/search.py index a2dda061..797c58bb 100644 --- a/tailbone/grids/search.py +++ b/tailbone/grids/search.py @@ -274,11 +274,11 @@ def filter_query(query, config, filter_map, join_map): for key in config: if key.startswith('include_filter_') and config[key]: field = key[15:] - if field in join_map and field not in joins: - query = join_map[field](query) - joins.append(field) value = config.get(field) if value: + if field in join_map and field not in joins: + query = join_map[field](query) + joins.append(field) fmap = filter_map[field] filt = fmap[config['filter_type_'+field]] query = filt(query, value) diff --git a/tailbone/views/products.py b/tailbone/views/products.py index c9fb6663..a1ef98bb 100644 --- a/tailbone/views/products.py +++ b/tailbone/views/products.py @@ -73,11 +73,6 @@ class ProductsGrid(SearchableAlchemyGridView): # q = q.outerjoin(Vendor) # return q - def join_vendor_any(q): - return q.outerjoin(ProductCost, - ProductCost.product_uuid == Product.uuid)\ - .outerjoin(Vendor) - return { 'brand': lambda q: q.outerjoin(Brand), @@ -96,7 +91,7 @@ class ProductsGrid(SearchableAlchemyGridView): # 'vendor': # join_vendor, 'vendor_any': - join_vendor_any, + lambda q: q.outerjoin(ProductCost, ProductCost.product_uuid == Product.uuid).outerjoin(Vendor), 'code': lambda q: q.outerjoin(ProductCode), }