From cb285cbfddfc0b633d6b8cdb4dc0d2bd2b8b51ef Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 05 Jan 2012 17:34:05 -0500 Subject: [PATCH] Fixed bug in receive hook for repositories in subfolders --- src/com/gitblit/client/RepositoriesPanel.java | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/com/gitblit/client/RepositoriesPanel.java b/src/com/gitblit/client/RepositoriesPanel.java index 70ff6cf..104010d 100644 --- a/src/com/gitblit/client/RepositoriesPanel.java +++ b/src/com/gitblit/client/RepositoriesPanel.java @@ -278,6 +278,8 @@ protected abstract void updateUsersTable(); + protected abstract void updateTeamsTable(); + protected void disableManagement() { createRepository.setVisible(false); editRepository.setVisible(false); @@ -349,14 +351,20 @@ * */ protected void createRepository() { - EditRepositoryDialog dialog = new EditRepositoryDialog(); + EditRepositoryDialog dialog = new EditRepositoryDialog(gitblit.getProtocolVersion()); dialog.setLocationRelativeTo(RepositoriesPanel.this); dialog.setUsers(null, gitblit.getUsernames(), null); + dialog.setTeams(gitblit.getTeamnames(), null); dialog.setRepositories(gitblit.getRepositories()); dialog.setFederationSets(gitblit.getFederationSets(), null); + dialog.setPreReceiveScripts(gitblit.getPreReceiveScriptsUnused(null), + gitblit.getPreReceiveScriptsInherited(null), null); + dialog.setPostReceiveScripts(gitblit.getPostReceiveScriptsUnused(null), + gitblit.getPostReceiveScriptsInherited(null), null); dialog.setVisible(true); final RepositoryModel newRepository = dialog.getRepository(); final List<String> permittedUsers = dialog.getPermittedUsers(); + final List<String> permittedTeams = dialog.getPermittedTeams(); if (newRepository == null) { return; } @@ -365,11 +373,15 @@ @Override protected Boolean doRequest() throws IOException { - boolean success = gitblit.createRepository(newRepository, permittedUsers); + boolean success = gitblit.createRepository(newRepository, permittedUsers, + permittedTeams); if (success) { gitblit.refreshRepositories(); if (permittedUsers.size() > 0) { gitblit.refreshUsers(); + } + if (permittedTeams.size() > 0) { + gitblit.refreshTeams(); } } return success; @@ -379,6 +391,7 @@ protected void onSuccess() { updateTable(false); updateUsersTable(); + updateTeamsTable(); } @Override @@ -397,16 +410,23 @@ * @param repository */ protected void editRepository(final RepositoryModel repository) { - EditRepositoryDialog dialog = new EditRepositoryDialog(repository); + EditRepositoryDialog dialog = new EditRepositoryDialog(gitblit.getProtocolVersion(), + repository); dialog.setLocationRelativeTo(RepositoriesPanel.this); List<String> usernames = gitblit.getUsernames(); List<String> members = gitblit.getPermittedUsernames(repository); dialog.setUsers(repository.owner, usernames, members); + dialog.setTeams(gitblit.getTeamnames(), gitblit.getPermittedTeamnames(repository)); dialog.setRepositories(gitblit.getRepositories()); dialog.setFederationSets(gitblit.getFederationSets(), repository.federationSets); + dialog.setPreReceiveScripts(gitblit.getPreReceiveScriptsUnused(repository), + gitblit.getPreReceiveScriptsInherited(repository), repository.preReceiveScripts); + dialog.setPostReceiveScripts(gitblit.getPostReceiveScriptsUnused(repository), + gitblit.getPostReceiveScriptsInherited(repository), repository.postReceiveScripts); dialog.setVisible(true); final RepositoryModel revisedRepository = dialog.getRepository(); final List<String> permittedUsers = dialog.getPermittedUsers(); + final List<String> permittedTeams = dialog.getPermittedTeams(); if (revisedRepository == null) { return; } @@ -416,10 +436,11 @@ @Override protected Boolean doRequest() throws IOException { boolean success = gitblit.updateRepository(repository.name, revisedRepository, - permittedUsers); + permittedUsers, permittedTeams); if (success) { gitblit.refreshRepositories(); gitblit.refreshUsers(); + gitblit.refreshTeams(); } return success; } @@ -428,6 +449,7 @@ protected void onSuccess() { updateTable(false); updateUsersTable(); + updateTeamsTable(); } @Override @@ -460,6 +482,7 @@ if (success) { gitblit.refreshRepositories(); gitblit.refreshUsers(); + gitblit.refreshTeams(); } return success; } @@ -468,6 +491,7 @@ protected void onSuccess() { updateTable(false); updateUsersTable(); + updateTeamsTable(); } @Override -- Gitblit v1.9.1