|
a/Allura/allura/controllers/auth.py |
|
b/Allura/allura/controllers/auth.py |
|
... |
|
... |
13 |
from allura.lib.oid_helper import verify_oid, process_oid
|
13 |
from allura.lib.oid_helper import verify_oid, process_oid
|
14 |
from allura.lib.security import require_authenticated, has_access
|
14 |
from allura.lib.security import require_authenticated, has_access
|
15 |
from allura.lib import helpers as h
|
15 |
from allura.lib import helpers as h
|
16 |
from allura.lib import plugin
|
16 |
from allura.lib import plugin
|
17 |
from allura.lib.decorators import require_post
|
17 |
from allura.lib.decorators import require_post
|
|
|
18 |
from allura.lib.repository import RepositoryApp
|
18 |
from allura.lib.widgets import SubscriptionForm, OAuthApplicationForm, OAuthRevocationForm, LoginForm
|
19 |
from allura.lib.widgets import SubscriptionForm, OAuthApplicationForm, OAuthRevocationForm, LoginForm
|
19 |
from allura.lib.widgets import forms
|
20 |
from allura.lib.widgets import forms
|
20 |
from allura.lib import exceptions as exc
|
21 |
from allura.lib import exceptions as exc
|
21 |
from allura.controllers import BaseController
|
22 |
from allura.controllers import BaseController
|
22 |
|
23 |
|
|
... |
|
... |
219 |
|
220 |
|
220 |
repos = []
|
221 |
repos = []
|
221 |
for p in user.my_projects():
|
222 |
for p in user.my_projects():
|
222 |
for p in [p] + p.direct_subprojects.all():
|
223 |
for p in [p] + p.direct_subprojects.all():
|
223 |
for app in p.app_configs:
|
224 |
for app in p.app_configs:
|
224 |
if not app.tool_name.lower() in ('git', 'hg', 'svn'):
|
225 |
if not isinstance(app, RepositoryApp):
|
225 |
continue
|
226 |
continue
|
226 |
if not has_access(app, 'write', user, p):
|
227 |
if not has_access(app, 'write', user, p):
|
227 |
continue
|
228 |
continue
|
228 |
repos.append('/%s/%s/%s' % (
|
229 |
repos.append('/%s/%s/%s' % (
|
229 |
app.tool_name.lower(),
|
230 |
app.tool_name.lower(),
|