Switch to unified view

a/Allura/allura/lib/macro.py b/Allura/allura/lib/macro.py
...
...
136
    category=None,
136
    category=None,
137
    display_mode='grid',
137
    display_mode='grid',
138
    sort='last_updated',
138
    sort='last_updated',
139
    show_total=False,
139
    show_total=False,
140
    limit=100,
140
    limit=100,
141
    labels=''):
141
    labels='',
142
    award=''):
142
    from allura.lib.widgets.project_list import ProjectList
143
    from allura.lib.widgets.project_list import ProjectList
143
    from allura import model as M
144
    from allura import model as M
144
    q = dict(
145
    q = dict(
145
        neighborhood_id=c.project.neighborhood_id,
146
        neighborhood_id=c.project.neighborhood_id,
146
        deleted=False,
147
        deleted=False,
...
...
148
    if labels:
149
    if labels:
149
        or_labels = labels.split('|')
150
        or_labels = labels.split('|')
150
        q['$or'] = [{'labels': {'$all': l.split(',')}} for l in or_labels]
151
        q['$or'] = [{'labels': {'$all': l.split(',')}} for l in or_labels]
151
    if category is not None:
152
    if category is not None:
152
        category = M.ProjectCategory.query.get(name=category)
153
        category = M.ProjectCategory.query.get(name=category)
154
    if award:
155
        aw = M.Award.query.find(dict(created_by_neighborhood_id=c.project.neighborhood_id, short=award)).first()
156
        if aw:
157
            q['_id'] = {'$in': [grant.granted_to_project_id for grant in M.AwardGrant.query.find(dict(
158
                                   granted_by_neighborhood_id=c.project.neighborhood_id,
159
                                   award_id=aw._id))]}
153
    if category is not None:
160
    if category is not None:
154
        q['category_id'] = category._id
161
        q['category_id'] = category._id
155
    pq = M.Project.query.find(q).limit(int(limit))
162
    pq = M.Project.query.find(q).limit(int(limit))
156
    if sort == 'alpha':
163
    if sort == 'alpha':
157
        pq.sort('name')
164
        pq.sort('name')