Changeset - ab5c4d84f99c
[Not reviewed]
default
0 8 0
Mads Kiilerich - 10 years ago 2015-07-24 16:37:40
madski@unity3d.com
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.
8 files changed with 16 insertions and 24 deletions:
0 comments (0 inline, 0 general)
kallithea/config/routing.py
Show inline comments
 
@@ -120,15 +120,12 @@ def make_map(config):
 
                  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,
kallithea/controllers/admin/repos.py
Show inline comments
 
@@ -234,9 +234,9 @@ class ReposController(BaseRepoController
 
        # 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 @@ class ReposController(BaseRepoController
 
        # 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 @@ class ReposController(BaseRepoController
 
            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"""
kallithea/templates/admin/repos/repo_edit_advanced.html
Show inline comments
 
@@ -73,7 +73,7 @@ ${h.form(url('edit_repo_advanced_locking
 
${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}');">
kallithea/templates/admin/repos/repo_edit_settings.html
Show inline comments
 
${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">
kallithea/templates/data_table/_dt_elements.html
Show inline comments
 
@@ -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+"');")}
kallithea/tests/functional/test_admin_repos.py
Show inline comments
 
@@ -398,7 +398,7 @@ class _BaseTest(object):
 
        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 @@ class _BaseTest(object):
 
        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 @@ class _BaseTest(object):
 
        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 @@ class _BaseTest(object):
 
        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 @@ class _BaseTest(object):
 
        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,
kallithea/tests/functional/test_admin_users.py
Show inline comments
 
@@ -188,7 +188,7 @@ class TestAdminUsersController(TestContr
 
                               '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))
kallithea/tests/functional/test_forks.py
Show inline comments
 
@@ -96,7 +96,7 @@ class _BaseTestCase(object):
 
        )
 

	
 
        # 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()
0 comments (0 inline, 0 general)