|
a/Allura/allura/controllers/project.py |
|
b/Allura/allura/controllers/project.py |
1 |
import os, re
|
1 |
import os, re
|
2 |
import logging
|
2 |
import logging
|
3 |
from urllib import unquote, quote
|
3 |
from urllib import unquote, quote
|
4 |
from itertools import chain
|
4 |
from itertools import chain, islice
|
5 |
|
5 |
|
6 |
import pkg_resources
|
6 |
import pkg_resources
|
7 |
import Image
|
7 |
import Image
|
8 |
from tg import expose, flash, redirect, validate, request, response
|
8 |
from tg import expose, flash, redirect, validate, request, response
|
9 |
from tg.decorators import with_trailing_slash, without_trailing_slash
|
9 |
from tg.decorators import with_trailing_slash, without_trailing_slash
|
|
... |
|
... |
304 |
users = M.User.query.find(dict(
|
304 |
users = M.User.query.find(dict(
|
305 |
display_name=name_regex)).sort('username').all()
|
305 |
display_name=name_regex)).sort('username').all()
|
306 |
named_roles = RoleCache(
|
306 |
named_roles = RoleCache(
|
307 |
g.credentials,
|
307 |
g.credentials,
|
308 |
g.credentials.project_roles(project_id=c.project.root_project._id).named)
|
308 |
g.credentials.project_roles(project_id=c.project.root_project._id).named)
|
309 |
result = [ [], [], [] ]
|
309 |
result = [ [], [] ]
|
310 |
for u in users:
|
310 |
for u in users:
|
311 |
if u._id in named_roles.userids_that_reach: result[0].append(u)
|
311 |
if u._id in named_roles.userids_that_reach:
|
|
|
312 |
result[0].append(u)
|
|
|
313 |
else:
|
312 |
else: result[1].append(u)
|
314 |
result[1].append(u)
|
|
|
315 |
result = list(islice(chain(*result), 10))
|
313 |
return dict(users=[
|
316 |
return dict(
|
|
|
317 |
users=[
|
|
|
318 |
dict(
|
314 |
dict(label='%s (%s)' % (u.display_name, u.username),
|
319 |
label='%s (%s)' % (u.display_name, u.username),
|
315 |
value=u.username,
|
320 |
value=u.username,
|
316 |
id=u.username)
|
321 |
id=u.username)
|
317 |
for u in chain(*result)])
|
322 |
for u in result])
|
318 |
|
323 |
|
319 |
class ScreenshotsController(object):
|
324 |
class ScreenshotsController(object):
|
320 |
|
325 |
|
321 |
@expose()
|
326 |
@expose()
|
322 |
def _lookup(self, filename, *args):
|
327 |
def _lookup(self, filename, *args):
|