diff options
author | James Moger <james.moger@gitblit.com> | 2012-10-19 21:53:13 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2012-10-19 22:47:34 -0400 |
commit | 5e88265c36b93f63a68bcafb373434a9fbbaa42e (patch) | |
tree | f4ac2563c12194e6eb03461cab8df1ea9e56a9fc | |
parent | 54f2c813608a01955858ab1d48de7ce33b5dfff4 (diff) | |
download | gitblit-5e88265c36b93f63a68bcafb373434a9fbbaa42e.tar.gz gitblit-5e88265c36b93f63a68bcafb373434a9fbbaa42e.zip |
Construct access permissions from already retrieved data
-rw-r--r-- | src/com/gitblit/client/GitblitClient.java | 21 | ||||
-rw-r--r-- | src/com/gitblit/client/RepositoriesPanel.java | 12 |
2 files changed, 21 insertions, 12 deletions
diff --git a/src/com/gitblit/client/GitblitClient.java b/src/com/gitblit/client/GitblitClient.java index 9815cbe8..9e31c794 100644 --- a/src/com/gitblit/client/GitblitClient.java +++ b/src/com/gitblit/client/GitblitClient.java @@ -30,6 +30,7 @@ import java.util.TreeSet; import com.gitblit.Constants;
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.Constants.AuthorizationControl;
+import com.gitblit.Constants.RegistrantType;
import com.gitblit.GitBlitException.ForbiddenException;
import com.gitblit.GitBlitException.NotAllowedException;
import com.gitblit.GitBlitException.UnauthorizedException;
@@ -493,8 +494,14 @@ public class GitblitClient implements Serializable { return usernames;
}
- public List<RegistrantAccessPermission> getUserAccessPermissions(RepositoryModel repository) throws IOException {
- return RpcUtils.getRepositoryMemberPermissions(repository, url, account, password);
+ public List<RegistrantAccessPermission> getUserAccessPermissions(RepositoryModel repository) {
+ List<RegistrantAccessPermission> list = new ArrayList<RegistrantAccessPermission>();
+ for (UserModel user : allUsers) {
+ if (user.hasRepositoryPermission(repository.name)) {
+ list.add(new RegistrantAccessPermission(user.username, user.permissions.get(repository.name), RegistrantType.USER));
+ }
+ }
+ return list;
}
public boolean setUserAccessPermissions(RepositoryModel repository, List<RegistrantAccessPermission> permissions) throws IOException {
@@ -524,8 +531,14 @@ public class GitblitClient implements Serializable { return teamnames;
}
- public List<RegistrantAccessPermission> getTeamAccessPermissions(RepositoryModel repository) throws IOException {
- return RpcUtils.getRepositoryTeamPermissions(repository, url, account, password);
+ public List<RegistrantAccessPermission> getTeamAccessPermissions(RepositoryModel repository) {
+ List<RegistrantAccessPermission> list = new ArrayList<RegistrantAccessPermission>();
+ for (TeamModel team : allTeams) {
+ if (team.hasRepositoryPermission(repository.name)) {
+ list.add(new RegistrantAccessPermission(team.name, team.permissions.get(repository.name), RegistrantType.TEAM));
+ }
+ }
+ return list;
}
public boolean setTeamAccessPermissions(RepositoryModel repository, List<RegistrantAccessPermission> permissions) throws IOException {
diff --git a/src/com/gitblit/client/RepositoriesPanel.java b/src/com/gitblit/client/RepositoriesPanel.java index 972dda19..28b3959c 100644 --- a/src/com/gitblit/client/RepositoriesPanel.java +++ b/src/com/gitblit/client/RepositoriesPanel.java @@ -453,14 +453,10 @@ public abstract class RepositoriesPanel extends JPanel { repository);
dialog.setLocationRelativeTo(RepositoriesPanel.this);
List<String> usernames = gitblit.getUsernames();
- try {
- List<RegistrantAccessPermission> members = gitblit.getUserAccessPermissions(repository);
- dialog.setUsers(repository.owner, usernames, members);
- dialog.setTeams(gitblit.getTeamnames(), gitblit.getTeamAccessPermissions(repository));
- dialog.setRepositories(gitblit.getRepositories());
- } catch (IOException e) {
- // TODO
- }
+ List<RegistrantAccessPermission> members = gitblit.getUserAccessPermissions(repository);
+ dialog.setUsers(repository.owner, usernames, members);
+ dialog.setTeams(gitblit.getTeamnames(), gitblit.getTeamAccessPermissions(repository));
+ dialog.setRepositories(gitblit.getRepositories());
dialog.setFederationSets(gitblit.getFederationSets(), repository.federationSets);
List<String> allLocalBranches = new ArrayList<String>();
allLocalBranches.add(Constants.DEFAULT_BRANCH);
|