]> source.dussan.org Git - gitblit.git/commitdiff
Setting a null permission now removes the permission from the user or team (issue...
authorJames Moger <james.moger@gitblit.com>
Sat, 13 Jul 2013 16:19:02 +0000 (12:19 -0400)
committerJames Moger <james.moger@gitblit.com>
Sat, 13 Jul 2013 16:19:02 +0000 (12:19 -0400)
releases.moxie
src/main/java/com/gitblit/models/TeamModel.java
src/main/java/com/gitblit/models/UserModel.java

index 811cd85c463633e8e3bcb98b85c157c871ccd70f..85419d678c75534842b9562adae7a67ea1418737 100644 (file)
@@ -49,6 +49,7 @@ r17: {
         - Improve NPE handling for hook script enumeration (issue-253)\r
         - Workaround missing commit information in blame page (JGit bug 374382, issue-254) \r
         - Ignore orphan ".git" folder in the repositories root folder (issue-256)\r
+        - 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)\r
         - Fixed committer verification with merge commits (issue-264)\r
      - Could not reset settings with $ or { characters through Gitblit Manager because they are not properly escaped\r
         - Added more error checking to blob page and blame page\r
index e0499f7cc272888d5d08ebc2834ea4a92b1eba5e..dfbd45d4c3f333e76ef6851d88f7f126b66ccc54 100644 (file)
@@ -186,8 +186,15 @@ public class TeamModel implements Serializable, Comparable<TeamModel> {
        }\r
        \r
        public void setRepositoryPermission(String repository, AccessPermission permission) {\r
-               permissions.put(repository.toLowerCase(), permission);\r
-               repositories.add(repository.toLowerCase());\r
+               if (permission == null) {\r
+                       // remove the permission\r
+                       permissions.remove(repository.toLowerCase());\r
+                       repositories.remove(repository.toLowerCase());\r
+               } else {\r
+                       // set the new permission\r
+                       permissions.put(repository.toLowerCase(), permission);\r
+                       repositories.add(repository.toLowerCase());\r
+               }\r
        }\r
        \r
        public RegistrantAccessPermission getRepositoryPermission(RepositoryModel repository) {\r
index b480b88525ce42ce684bee9c7ee36ef5fdfa7680..6d58512750ccc8456eb124ed24806e31e6daf6a0 100644 (file)
@@ -273,7 +273,13 @@ public class UserModel implements Principal, Serializable, Comparable<UserModel>
        }\r
                \r
        public void setRepositoryPermission(String repository, AccessPermission permission) {\r
-               permissions.put(repository.toLowerCase(), permission);\r
+               if (permission == null) {\r
+                       // remove the permission\r
+                       permissions.remove(repository.toLowerCase());\r
+               } else {\r
+                       // set the new permission\r
+                       permissions.put(repository.toLowerCase(), permission);\r
+               }\r
        }\r
 \r
        public RegistrantAccessPermission getRepositoryPermission(RepositoryModel repository) {\r