Switch to unified view

a/Allura/allura/controllers/project.py b/Allura/allura/controllers/project.py
...
...
338
338
339
    @expose('json:')
339
    @expose('json:')
340
    def user_search(self, term=''):
340
    def user_search(self, term=''):
341
        if len(term) < 3:
341
        if len(term) < 3:
342
            raise exc.HTTPBadRequest('"term" param must be at least length 3')
342
            raise exc.HTTPBadRequest('"term" param must be at least length 3')
343
        users = M.User.by_display_name(term)
344
        named_roles = RoleCache(
343
        named_roles = RoleCache(
345
            g.credentials,
344
            g.credentials,
346
            g.credentials.project_roles(project_id=c.project.root_project._id).named)
345
            g.credentials.project_roles(project_id=c.project.root_project._id).named)
347
        result = [ [], [] ]
346
        users = M.User.query.find({
348
        for u in users:
349
            if u._id in named_roles.userids_that_reach:
347
                '_id': {'$in': named_roles.userids_that_reach},
350
                result[0].append(u)
348
                'display_name': re.compile(r'(?i)%s' % re.escape(term)),
351
            else:
349
            }).sort('username').limit(10).all()
352
                pass
353
                # comment this back in if you want non-project-member users
354
                # in the search results
355
                #result[1].append(u)
356
        result = list(islice(chain(*result), 10))
357
        return dict(
350
        return dict(
358
            users=[
351
            users=[
359
                dict(
352
                dict(
360
                    label='%s (%s)' % (u.get_pref('display_name'), u.username),
353
                    label='%s (%s)' % (u.get_pref('display_name'), u.username),
361
                    value=u.username,
354
                    value=u.username,
362
                    id=u.username)
355
                    id=u.username)
363
                for u in result])
356
                for u in users])
364
357
365
class ScreenshotsController(object):
358
class ScreenshotsController(object):
366
359
367
    @expose()
360
    @expose()
368
    def _lookup(self, filename, *args):
361
    def _lookup(self, filename, *args):