--- a/Allura/allura/lib/macro.py
+++ b/Allura/allura/lib/macro.py
@@ -138,6 +138,8 @@
from allura.lib.widgets.project_list import ProjectList
from allura.lib import utils
from allura import model as M
+ # 'trove' is internal substitution for 'category' filter in wiki macro
+ trove = category
limit = int(limit)
q = dict(
neighborhood_id=c.project.neighborhood_id,
@@ -146,8 +148,8 @@
if labels:
or_labels = labels.split('|')
q['$or'] = [{'labels': {'$all': l.split(',')}} for l in or_labels]
- if category is not None:
- category = M.ProjectCategory.query.get(name=category)
+ if trove is not None:
+ trove = M.TroveCategory.query.get(fullpath=trove)
if award:
aw = M.Award.query.find(dict(
created_by_neighborhood_id=c.project.neighborhood_id,
@@ -157,8 +159,8 @@
M.AwardGrant.query.find(dict(
granted_by_neighborhood_id=c.project.neighborhood_id,
award_id=aw._id))]}
- if category is not None:
- q['category_id'] = category._id
+ if trove is not None:
+ q['trove_' + trove.type] = trove._id
sort_key, sort_dir = 'last_updated', pymongo.DESCENDING
if sort == 'alpha':
sort_key, sort_dir = 'name', pymongo.ASCENDING