From bcc616b8e425f73e7abc6799f23445c1e411463d Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 14 Oct 2011 17:05:23 -0400 Subject: [PATCH] Rpc Client create/edit user and repository now fully functional. --- src/com/gitblit/client/GitblitPanel.java | 40 +++++++++++++++++++++++++++++++++++----- 1 files changed, 35 insertions(+), 5 deletions(-) diff --git a/src/com/gitblit/client/GitblitPanel.java b/src/com/gitblit/client/GitblitPanel.java index ec7385e..a6be156 100644 --- a/src/com/gitblit/client/GitblitPanel.java +++ b/src/com/gitblit/client/GitblitPanel.java @@ -517,9 +517,17 @@ * */ protected void createRepository() { - EditRepositoryDialog dialog = new EditRepositoryDialog(allUsers); + List<String> usernames = new ArrayList<String>(); + for (UserModel user : this.allUsers) { + usernames.add(user.username); + } + Collections.sort(usernames); + EditRepositoryDialog dialog = new EditRepositoryDialog(); + dialog.setUsers(null, usernames, null); + dialog.setRepositories(allRepositories); dialog.setVisible(true); final RepositoryModel newRepository = dialog.getRepository(); + final List<String> permittedUsers = dialog.getPermittedUsers(); if (newRepository == null) { return; } @@ -529,7 +537,14 @@ @Override protected Boolean doInBackground() throws IOException { - return RpcUtils.createRepository(newRepository, url, account, password); + boolean success = true; + success &= RpcUtils.createRepository(newRepository, url, account, password); + if (permittedUsers.size() > 0) { + // if new repository has named members, set them + success &= RpcUtils.setRepositoryMembers(newRepository, permittedUsers, url, + account, password); + } + return success; } @Override @@ -538,6 +553,9 @@ boolean success = get(); if (success) { refreshRepositoriesTable(); + if (permittedUsers.size() > 0) { + refreshUsersTable(); + } } else { String msg = MessageFormat.format( "Failed to execute request \"{0}\" for repository \"{1}\".", @@ -564,17 +582,22 @@ * @param repository */ protected void editRepository(final RepositoryModel repository) { - EditRepositoryDialog dialog = new EditRepositoryDialog(repository, allUsers); + EditRepositoryDialog dialog = new EditRepositoryDialog(repository); + List<String> members = new ArrayList<String>(); List<String> usernames = new ArrayList<String>(); for (UserModel user : this.allUsers) { usernames.add(user.username); + if (user.repositories.contains(repository.name)) { + members.add(user.username); + } } Collections.sort(usernames); - dialog.setUsers(usernames, null); + dialog.setUsers(repository.owner, usernames, members); dialog.setFederationSets(settings.getStrings(Keys.federation.sets), repository.federationSets); dialog.setVisible(true); final RepositoryModel revisedRepository = dialog.getRepository(); + final List<String> permittedUsers = dialog.getPermittedUsers(); if (revisedRepository == null) { return; } @@ -584,8 +607,13 @@ @Override protected Boolean doInBackground() throws IOException { - return RpcUtils.updateRepository(repository.name, revisedRepository, url, account, + boolean success = true; + success &= RpcUtils.updateRepository(repository.name, revisedRepository, url, + account, password); + // always set the repository members + success &= RpcUtils.setRepositoryMembers(repository, permittedUsers, url, account, password); + return success; } @Override @@ -594,6 +622,7 @@ boolean success = get(); if (success) { refreshRepositoriesTable(); + refreshUsersTable(); } else { String msg = MessageFormat.format( "Failed to execute request \"{0}\" for repository \"{1}\".", @@ -666,6 +695,7 @@ */ protected void createUser() { EditUserDialog dialog = new EditUserDialog(settings); + dialog.setUsers(allUsers); dialog.setRepositories(allRepositories, null); dialog.setVisible(true); final UserModel newUser = dialog.getUser(); -- Gitblit v1.9.1