# HG changeset patch # User Sandu Turcan # Date 2018-02-19 14:48:47 # Node ID 807566df3af0eb5c317c9835df84d73e8b32d7c1 # Parent 133ba4b8705b10c0cc67f9a97cd6e5b35a11273b path-permissions: Introduced a _get_f_path_unchecked method, which can be used by redirects, which don't have to create a template context 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 @@ -229,13 +229,19 @@ class RepoAppView(BaseAppView): return c - def _get_f_path(self, matchdict, default=None): + def _get_f_path_unchecked(self, matchdict, default=None): + """ + Should only be used by redirects, everything else should call _get_f_path + """ f_path = matchdict.get('f_path') if f_path: # fix for multiple initial slashes that causes errors for GIT - return self.path_filter.assert_path_permissions(f_path.lstrip('/')) + return f_path.lstrip('/') - return self.path_filter.assert_path_permissions(default) + return default + + def _get_f_path(self, matchdict, default=None): + return self.path_filter.assert_path_permissions(self._get_f_path_unchecked(matchdict, default)) class PathFilter(object): diff --git a/rhodecode/apps/repository/views/repo_files.py b/rhodecode/apps/repository/views/repo_files.py --- a/rhodecode/apps/repository/views/repo_files.py +++ b/rhodecode/apps/repository/views/repo_files.py @@ -462,7 +462,7 @@ class RepoFilesView(RepoAppView): """ Kept only to make OLD links work """ - f_path = self._get_f_path(self.request.matchdict) + f_path = self._get_f_path_unchecked(self.request.matchdict) diff1 = self.request.GET.get('diff1', '') diff2 = self.request.GET.get('diff2', '')