changeset 5307:ab5c4d84f99c

repos: fix abuse of dead 'repo' routing The repo "show" controller didn't do anything and was unused. There was a routing GET entry for it but it was only used for generating URLs for DELETE and PUT operations that have separate controllers that happen to have the same URL. Use the right routing entries when generating URLs and drop the dead code.
author Mads Kiilerich <madski@unity3d.com>
date Fri, 24 Jul 2015 16:37:40 +0200
parents 63bed817308c
children b8d716694dc8
files kallithea/config/routing.py kallithea/controllers/admin/repos.py kallithea/templates/admin/repos/repo_edit_advanced.html kallithea/templates/admin/repos/repo_edit_settings.html kallithea/templates/data_table/_dt_elements.html kallithea/tests/functional/test_admin_repos.py kallithea/tests/functional/test_admin_users.py kallithea/tests/functional/test_forks.py
diffstat 8 files changed, 16 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/config/routing.py	Fri Jul 24 16:37:40 2015 +0200
+++ b/kallithea/config/routing.py	Fri Jul 24 16:37:40 2015 +0200
@@ -120,15 +120,12 @@
                   action="index", conditions=dict(method=["GET"]))
         m.connect("new_repo", "/create_repository",
                   action="create_repository", conditions=dict(method=["GET"]))
-        m.connect("/repos/{repo_name:.*?}",
+        m.connect("put_repo", "/repos/{repo_name:.*?}",
                   action="update", conditions=dict(method=["PUT"],
                   function=check_repo))
         m.connect("delete_repo", "/repos/{repo_name:.*?}",
                   action="delete", conditions=dict(method=["DELETE"],
                   ))
-        m.connect("repo", "/repos/{repo_name:.*?}",
-                  action="show", conditions=dict(method=["GET"],
-                  function=check_repo))
 
     #ADMIN REPOSITORY GROUPS ROUTES
     with rmap.submapper(path_prefix=ADMIN_PREFIX,
--- a/kallithea/controllers/admin/repos.py	Fri Jul 24 16:37:40 2015 +0200
+++ b/kallithea/controllers/admin/repos.py	Fri Jul 24 16:37:40 2015 +0200
@@ -234,9 +234,9 @@
         # Forms posted to this method should contain a hidden field:
         #    <input type="hidden" name="_method" value="PUT" />
         # Or using helpers:
-        #    h.form(url('repo', repo_name=ID),
+        #    h.form(url('put_repo', repo_name=ID),
         #           method='put')
-        # url('repo', repo_name=ID)
+        # url('put_repo', repo_name=ID)
         c.repo_info = self._load_repo(repo_name)
         self.__load_defaults(c.repo_info)
         c.active = 'settings'
@@ -291,9 +291,9 @@
         # Forms posted to this method should contain a hidden field:
         #    <input type="hidden" name="_method" value="DELETE" />
         # Or using helpers:
-        #    h.form(url('repo', repo_name=ID),
+        #    h.form(url('delete_repo', repo_name=ID),
         #           method='delete')
-        # url('repo', repo_name=ID)
+        # url('delete_repo', repo_name=ID)
 
         repo_model = RepoModel()
         repo = repo_model.get_by_repo_name(repo_name)
@@ -330,11 +330,6 @@
             return redirect(url('repos_group_home', group_name=repo.group.group_name))
         return redirect(url('repos'))
 
-    @HasPermissionAllDecorator('hg.admin')
-    def show(self, repo_name, format='html'):
-        """GET /repos/repo_name: Show a specific item"""
-        # url('repo', repo_name=ID)
-
     @HasRepoPermissionAllDecorator('repository.admin')
     def edit(self, repo_name):
         """GET /repo_name/settings: Form to edit an existing item"""
--- a/kallithea/templates/admin/repos/repo_edit_advanced.html	Fri Jul 24 16:37:40 2015 +0200
+++ b/kallithea/templates/admin/repos/repo_edit_advanced.html	Fri Jul 24 16:37:40 2015 +0200
@@ -73,7 +73,7 @@
 ${h.end_form()}
 
 <h3>${_('Delete')}</h3>
-${h.form(url('repo', repo_name=c.repo_name),method='delete')}
+${h.form(url('delete_repo', repo_name=c.repo_name), method='delete')}
 <div class="form">
     <button class="btn btn-small btn-danger" type="submit"
             onclick="return confirm('${_('Confirm to delete this repository: %s') % c.repo_name}');">
--- a/kallithea/templates/admin/repos/repo_edit_settings.html	Fri Jul 24 16:37:40 2015 +0200
+++ b/kallithea/templates/admin/repos/repo_edit_settings.html	Fri Jul 24 16:37:40 2015 +0200
@@ -1,4 +1,4 @@
-${h.form(url('repo', repo_name=c.repo_info.repo_name),method='put')}
+${h.form(url('put_repo', repo_name=c.repo_info.repo_name), method='put')}
     <div class="form">
         <!-- fields -->
         <div class="fields">
--- a/kallithea/templates/data_table/_dt_elements.html	Fri Jul 24 16:37:40 2015 +0200
+++ b/kallithea/templates/data_table/_dt_elements.html	Fri Jul 24 16:37:40 2015 +0200
@@ -124,7 +124,7 @@
       </a>
     </div>
     <div style="float:left" class="grid_delete">
-      ${h.form(h.url('repo', repo_name=repo_name),method='delete')}
+      ${h.form(h.url('delete_repo', repo_name=repo_name), method='delete')}
         <i class="icon-minus-circled" style="color:#FF4444"></i>
         ${h.submit('remove_%s' % repo_name,_('Delete'),class_="action_button",
         onclick="return confirm('"+_('Confirm to delete this repository: %s') % repo_name+"');")}
--- a/kallithea/tests/functional/test_admin_repos.py	Fri Jul 24 16:37:40 2015 +0200
+++ b/kallithea/tests/functional/test_admin_repos.py	Fri Jul 24 16:37:40 2015 +0200
@@ -398,7 +398,7 @@
         except vcs.exceptions.VCSError:
             self.fail('no repo %s in filesystem' % repo_name)
 
-        response = self.app.delete(url('repo', repo_name=repo_name))
+        response = self.app.delete(url('delete_repo', repo_name=repo_name))
 
         self.checkSessionFlash(response, 'Deleted repository %s' % (repo_name))
 
@@ -450,7 +450,7 @@
         except vcs.exceptions.VCSError:
             self.fail('no repo %s in filesystem' % repo_name)
 
-        response = self.app.delete(url('repo', repo_name=repo_name))
+        response = self.app.delete(url('delete_repo', repo_name=repo_name))
         self.checkSessionFlash(response, 'Deleted repository %s' % (repo_name_unicode))
         response.follow()
 
@@ -468,12 +468,12 @@
         pass
 
     def test_delete_browser_fakeout(self):
-        response = self.app.post(url('repo', repo_name=self.REPO),
+        response = self.app.post(url('delete_repo', repo_name=self.REPO),
                                  params=dict(_method='delete', _authentication_token=self.authentication_token()))
 
     def test_show(self):
         self.log_user()
-        response = self.app.get(url('repo', repo_name=self.REPO))
+        response = self.app.get(url('summary_home', repo_name=self.REPO))
 
     def test_edit(self):
         response = self.app.get(url('edit_repo', repo_name=self.REPO))
@@ -486,7 +486,7 @@
         self.assertEqual(perm[0].permission.permission_name, 'repository.read')
         self.assertEqual(Repository.get_by_repo_name(self.REPO).private, False)
 
-        response = self.app.put(url('repo', repo_name=self.REPO),
+        response = self.app.put(url('put_repo', repo_name=self.REPO),
                         fixture._get_repo_create_params(repo_private=1,
                                                 repo_name=self.REPO,
                                                 repo_type=self.REPO_TYPE,
@@ -501,7 +501,7 @@
         self.assertTrue(len(perm), 1)
         self.assertEqual(perm[0].permission.permission_name, 'repository.none')
 
-        response = self.app.put(url('repo', repo_name=self.REPO),
+        response = self.app.put(url('put_repo', repo_name=self.REPO),
                         fixture._get_repo_create_params(repo_private=False,
                                                 repo_name=self.REPO,
                                                 repo_type=self.REPO_TYPE,
--- a/kallithea/tests/functional/test_admin_users.py	Fri Jul 24 16:37:40 2015 +0200
+++ b/kallithea/tests/functional/test_admin_users.py	Fri Jul 24 16:37:40 2015 +0200
@@ -188,7 +188,7 @@
                                'Switch owners or remove those repositories: '
                                '%s' % (username, reponame))
 
-        response = self.app.delete(url('repo', repo_name=reponame))
+        response = self.app.delete(url('delete_repo', repo_name=reponame))
         self.checkSessionFlash(response, 'Deleted repository %s' % reponame)
 
         response = self.app.delete(url('user', id=new_user.user_id))
--- a/kallithea/tests/functional/test_forks.py	Fri Jul 24 16:37:40 2015 +0200
+++ b/kallithea/tests/functional/test_forks.py	Fri Jul 24 16:37:40 2015 +0200
@@ -96,7 +96,7 @@
         )
 
         # remove this fork
-        response = self.app.delete(url('repo', repo_name=fork_name))
+        response = self.app.delete(url('delete_repo', repo_name=fork_name))
 
     def test_fork_create_into_group(self):
         self.log_user()