diff --git a/docs/changelog.rst b/docs/changelog.rst --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -19,6 +19,7 @@ fixes - fixed git protocol issues with repos-groups - fixed git remote repos validator that prevented from cloning remote git repos +- fixes #370 ending slashes fixes for repo and groups 1.3.1 (**2012-02-27**) ---------------------- diff --git a/rhodecode/controllers/admin/repos_groups.py b/rhodecode/controllers/admin/repos_groups.py --- a/rhodecode/controllers/admin/repos_groups.py +++ b/rhodecode/controllers/admin/repos_groups.py @@ -263,6 +263,11 @@ class ReposGroupsController(BaseControll raise HTTPInternalServerError() def show_by_name(self, group_name): + """ + This is a proxy that does a lookup group_name -> id, and shows + the group by id view instead + """ + group_name = group_name.rstrip('/') id_ = RepoGroup.get_by_group_name(group_name).group_id return self.show(id_) diff --git a/rhodecode/lib/utils.py b/rhodecode/lib/utils.py --- a/rhodecode/lib/utils.py +++ b/rhodecode/lib/utils.py @@ -92,11 +92,17 @@ def repo_name_slug(value): def get_repo_slug(request): - return request.environ['pylons.routes_dict'].get('repo_name') + _repo = request.environ['pylons.routes_dict'].get('repo_name') + if _repo: + _repo = _repo.rstrip('/') + return _repo def get_repos_group_slug(request): - return request.environ['pylons.routes_dict'].get('group_name') + _group = request.environ['pylons.routes_dict'].get('group_name') + if _group: + _group = _group.rstrip('/') + return _group def action_logger(user, action, repo, ipaddr='', sa=None, commit=False):