diff --git a/rhodecode/apps/_base/__init__.py b/rhodecode/apps/_base/__init__.py --- a/rhodecode/apps/_base/__init__.py +++ b/rhodecode/apps/_base/__init__.py @@ -251,6 +251,13 @@ class RepoAppView(BaseAppView): return default +class RepoGroupAppView(BaseAppView): + def __init__(self, context, request): + super(RepoGroupAppView, self).__init__(context, request) + self.db_repo_group = request.db_repo_group + self.db_repo_group_name = self.db_repo_group.group_name + + class DataGridAppView(object): """ Common class to have re-usable grid rendering components diff --git a/rhodecode/config/middleware.py b/rhodecode/config/middleware.py --- a/rhodecode/config/middleware.py +++ b/rhodecode/config/middleware.py @@ -273,7 +273,7 @@ def includeme(config): if asbool(settings.get('appenlight', 'false')): config.include('appenlight_client.ext.pyramid_tween') - if not 'mako.default_filters' in settings: + if 'mako.default_filters' not in settings: # set custom default filters if we don't have it defined settings['mako.imports'] = 'from rhodecode.lib.base import h_filter' settings['mako.default_filters'] = 'h_filter' diff --git a/rhodecode/integrations/__init__.py b/rhodecode/integrations/__init__.py --- a/rhodecode/integrations/__init__.py +++ b/rhodecode/integrations/__init__.py @@ -54,7 +54,7 @@ def integrations_event_handler(event): integration_model.send_event(integration, event) except Exception: log.exception( - 'failure occured when sending event %s to integration %s' % ( + 'failure occurred when sending event %s to integration %s' % ( event, integration)) diff --git a/rhodecode/lib/auth.py b/rhodecode/lib/auth.py --- a/rhodecode/lib/auth.py +++ b/rhodecode/lib/auth.py @@ -1463,8 +1463,9 @@ class HasRepoPermissionAnyDecorator(Perm try: user_perms = set([perms['repositories'][repo_name]]) except KeyError: - log.debug('cannot locate repo with name: `%s` in permissions defs', - repo_name) + log.debug( + 'cannot locate repo with name: `%s` in permissions defs', + repo_name) return False log.debug('checking `%s` permissions for repo `%s`', @@ -1490,8 +1491,9 @@ class HasRepoGroupPermissionAllDecorator try: user_perms = set([perms['repositories_groups'][group_name]]) except KeyError: - log.debug('cannot locate repo group with name: `%s` in permissions defs', - group_name) + log.debug( + 'cannot locate repo group with name: `%s` in permissions defs', + group_name) return False log.debug('checking `%s` permissions for repo group `%s`', @@ -1518,8 +1520,9 @@ class HasRepoGroupPermissionAnyDecorator try: user_perms = set([perms['repositories_groups'][group_name]]) except KeyError: - log.debug('cannot locate repo group with name: `%s` in permissions defs', - group_name) + log.debug( + 'cannot locate repo group with name: `%s` in permissions defs', + group_name) return False log.debug('checking `%s` permissions for repo group `%s`', diff --git a/rhodecode/lib/utils.py b/rhodecode/lib/utils.py --- a/rhodecode/lib/utils.py +++ b/rhodecode/lib/utils.py @@ -96,11 +96,18 @@ def repo_name_slug(value): # PERM DECORATOR HELPERS FOR EXTRACTING NAMES FOR PERM CHECKS #============================================================================== def get_repo_slug(request): - if isinstance(request, Request) and getattr(request, 'db_repo', None): - # pyramid - _repo = request.db_repo.repo_name - else: - # TODO(marcink): remove after pylons migration... + _repo = '' + if isinstance(request, Request): + if hasattr(request, 'db_repo'): + # if our requests has set db reference use it for name, this + # translates the example.com/_ into proper repo names + _repo = request.db_repo.repo_name + elif getattr(request, 'matchdict', None): + # pyramid + _repo = request.matchdict.get('repo_name') + + # TODO(marcink): remove after pylons migration... + if not _repo: _repo = request.environ['pylons.routes_dict'].get('repo_name') if _repo: @@ -109,10 +116,18 @@ def get_repo_slug(request): def get_repo_group_slug(request): - if isinstance(request, Request) and getattr(request, 'matchdict', None): - # pyramid - _group = request.matchdict.get('repo_group_name') - else: + _group = '' + if isinstance(request, Request): + if hasattr(request, 'db_repo_group'): + # if our requests has set db reference use it for name, this + # translates the example.com/_ into proper repo group names + _group = request.db_repo_group.group_name + elif getattr(request, 'matchdict', None): + # pyramid + _group = request.matchdict.get('repo_group_name') + + # TODO(marcink): remove after pylons migration... + if not _group: _group = request.environ['pylons.routes_dict'].get('group_name') if _group: