James Moger
2012-10-22 87f6c3e6510986a6676872aa64aed66fe7f24b01
src/com/gitblit/GitBlit.java
@@ -640,8 +640,10 @@
   public List<RegistrantAccessPermission> getUserAccessPermissions(RepositoryModel repository) {
      List<RegistrantAccessPermission> permissions = new ArrayList<RegistrantAccessPermission>();
      for (String user : userService.getUsernamesForRepositoryRole(repository.name)) {
         AccessPermission ap = userService.getUserModel(user).getRepositoryPermission(repository);
         permissions.add(new RegistrantAccessPermission(user, ap, RegistrantType.USER));
         UserModel model = userService.getUserModel(user);
         AccessPermission ap = model.getRepositoryPermission(repository);
         boolean isExplicit = model.hasExplicitRepositoryPermission(repository.name);
         permissions.add(new RegistrantAccessPermission(user, ap, isExplicit, RegistrantType.USER));
      }
      return permissions;
   }
@@ -656,9 +658,12 @@
   public boolean setUserAccessPermissions(RepositoryModel repository, Collection<RegistrantAccessPermission> permissions) {
      List<UserModel> users = new ArrayList<UserModel>();
      for (RegistrantAccessPermission up : permissions) {
         if (up.isExplicit) {
            // only set explicitly defined permissions
         UserModel user = userService.getUserModel(up.registrant);
         user.setRepositoryPermission(repository.name, up.permission);
         users.add(user);
         }
      }
      return userService.updateUserModels(users);
   }
@@ -772,8 +777,10 @@
   public List<RegistrantAccessPermission> getTeamAccessPermissions(RepositoryModel repository) {
      List<RegistrantAccessPermission> permissions = new ArrayList<RegistrantAccessPermission>();
      for (String team : userService.getTeamnamesForRepositoryRole(repository.name)) {
         AccessPermission ap = userService.getTeamModel(team).getRepositoryPermission(repository);
         permissions.add(new RegistrantAccessPermission(team, ap, RegistrantType.TEAM));
         TeamModel model = userService.getTeamModel(team);
         AccessPermission ap = model.getRepositoryPermission(repository);
         boolean isExplicit = model.hasExplicitRepositoryPermission(repository.name);
         permissions.add(new RegistrantAccessPermission(team, ap, isExplicit, RegistrantType.TEAM));
      }
      return permissions;
   }
@@ -788,10 +795,13 @@
   public boolean setTeamAccessPermissions(RepositoryModel repository, Collection<RegistrantAccessPermission> permissions) {
      List<TeamModel> teams = new ArrayList<TeamModel>();
      for (RegistrantAccessPermission tp : permissions) {
         if (tp.isExplicit) {
            // only set explicitly defined access permissions
         TeamModel team = userService.getTeamModel(tp.registrant);
         team.setRepositoryPermission(repository.name, tp.permission);
         teams.add(team);
      }
      }
      return userService.updateTeamModels(teams);
   }