diff options
-rw-r--r-- | releases.moxie | 1 | ||||
-rw-r--r-- | src/main/java/com/gitblit/models/TeamModel.java | 11 | ||||
-rw-r--r-- | src/main/java/com/gitblit/models/UserModel.java | 8 |
3 files changed, 17 insertions, 3 deletions
diff --git a/releases.moxie b/releases.moxie index 811cd85c..85419d67 100644 --- a/releases.moxie +++ b/releases.moxie @@ -49,6 +49,7 @@ r17: { - Improve NPE handling for hook script enumeration (issue-253)
- Workaround missing commit information in blame page (JGit bug 374382, issue-254)
- Ignore orphan ".git" folder in the repositories root folder (issue-256)
+ - Fixed bug where a null permission was added to a user model on a repository rename when the permission had really been inherited from a team membership (issue-259)
- Fixed committer verification with merge commits (issue-264)
- Could not reset settings with $ or { characters through Gitblit Manager because they are not properly escaped
- Added more error checking to blob page and blame page
diff --git a/src/main/java/com/gitblit/models/TeamModel.java b/src/main/java/com/gitblit/models/TeamModel.java index e0499f7c..dfbd45d4 100644 --- a/src/main/java/com/gitblit/models/TeamModel.java +++ b/src/main/java/com/gitblit/models/TeamModel.java @@ -186,8 +186,15 @@ public class TeamModel implements Serializable, Comparable<TeamModel> { }
public void setRepositoryPermission(String repository, AccessPermission permission) {
- permissions.put(repository.toLowerCase(), permission);
- repositories.add(repository.toLowerCase());
+ if (permission == null) {
+ // remove the permission
+ permissions.remove(repository.toLowerCase());
+ repositories.remove(repository.toLowerCase());
+ } else {
+ // set the new permission
+ permissions.put(repository.toLowerCase(), permission);
+ repositories.add(repository.toLowerCase());
+ }
}
public RegistrantAccessPermission getRepositoryPermission(RepositoryModel repository) {
diff --git a/src/main/java/com/gitblit/models/UserModel.java b/src/main/java/com/gitblit/models/UserModel.java index b480b885..6d585127 100644 --- a/src/main/java/com/gitblit/models/UserModel.java +++ b/src/main/java/com/gitblit/models/UserModel.java @@ -273,7 +273,13 @@ public class UserModel implements Principal, Serializable, Comparable<UserModel> }
public void setRepositoryPermission(String repository, AccessPermission permission) {
- permissions.put(repository.toLowerCase(), permission);
+ if (permission == null) {
+ // remove the permission
+ permissions.remove(repository.toLowerCase());
+ } else {
+ // set the new permission
+ permissions.put(repository.toLowerCase(), permission);
+ }
}
public RegistrantAccessPermission getRepositoryPermission(RepositoryModel repository) {
|