From 2711bc82a373a3c2e357b5948e2a6e0c477d8534 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 22 Oct 2012 16:23:53 -0400
Subject: [PATCH] Fixed bug where owner could not edit a repository through web ui
---
src/com/gitblit/client/GitblitClient.java | 28 +++++++++++++++++++++++-----
1 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/src/com/gitblit/client/GitblitClient.java b/src/com/gitblit/client/GitblitClient.java
index 9815cbe..4620fef 100644
--- a/src/com/gitblit/client/GitblitClient.java
+++ b/src/com/gitblit/client/GitblitClient.java
@@ -28,17 +28,19 @@
import java.util.TreeSet;
import com.gitblit.Constants;
+import com.gitblit.Constants.AccessPermission;
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;
import com.gitblit.GitBlitException.UnknownRequestException;
import com.gitblit.Keys;
-import com.gitblit.models.RegistrantAccessPermission;
import com.gitblit.models.FederationModel;
import com.gitblit.models.FeedEntryModel;
import com.gitblit.models.FeedModel;
+import com.gitblit.models.RegistrantAccessPermission;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.ServerSettings;
import com.gitblit.models.ServerStatus;
@@ -493,8 +495,16 @@
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)) {
+ AccessPermission ap = user.getRepositoryPermission(repository);
+ boolean isExplicit = user.hasExplicitRepositoryPermission(repository.name);
+ list.add(new RegistrantAccessPermission(user.username, ap, isExplicit, RegistrantType.USER));
+ }
+ }
+ return list;
}
public boolean setUserAccessPermissions(RepositoryModel repository, List<RegistrantAccessPermission> permissions) throws IOException {
@@ -524,8 +534,16 @@
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)) {
+ AccessPermission ap = team.getRepositoryPermission(repository);
+ boolean isExplicit = team.hasExplicitRepositoryPermission(repository.name);
+ list.add(new RegistrantAccessPermission(team.name, ap, isExplicit, RegistrantType.TEAM));
+ }
+ }
+ return list;
}
public boolean setTeamAccessPermissions(RepositoryModel repository, List<RegistrantAccessPermission> permissions) throws IOException {
--
Gitblit v1.9.1