changeset 6329:16b685da1117

repo_group: more flexible handling of trailing '/' in repository group names Don't fail on /_admin/repo_groups/REPO_GROUP_NAME/ .
author Mads Kiilerich <madski@unity3d.com>
date Tue, 15 Nov 2016 22:53:41 +0100
parents acdd8d23e362
children 7ce3897bacd0
files kallithea/model/db.py kallithea/tests/functional/test_repo_groups.py
diffstat 2 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/model/db.py	Tue Nov 15 22:53:41 2016 +0100
+++ b/kallithea/model/db.py	Tue Nov 15 22:53:41 2016 +0100
@@ -1563,6 +1563,7 @@
 
     @classmethod
     def get_by_group_name(cls, group_name, cache=False, case_insensitive=False):
+        group_name = group_name.rstrip('/')
         if case_insensitive:
             gr = cls.query() \
                 .filter(func.lower(cls.group_name) == func.lower(group_name))
--- a/kallithea/tests/functional/test_repo_groups.py	Tue Nov 15 22:53:41 2016 +0100
+++ b/kallithea/tests/functional/test_repo_groups.py	Tue Nov 15 22:53:41 2016 +0100
@@ -64,6 +64,10 @@
         response = self.app.get(url('repos_group', group_name=group_name))
         response.mustcontain('href="/_admin/repo_groups/%s/edit"' % group_name)
 
+        # show ignores extra trailing slashes in the URL
+        response = self.app.get(url('repos_group', group_name='%s//' % group_name))
+        response.mustcontain('href="/_admin/repo_groups/%s/edit"' % group_name)
+
         # delete
         response = self.app.post(url('delete_repo_group', group_name=group_name),
                                  {'_authentication_token': self.authentication_token()})