diff options
author | James Moger <james.moger@gitblit.com> | 2014-01-10 04:58:58 -0800 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-01-10 04:58:58 -0800 |
commit | 1dda945c4e8f882c953ac09c70bc6af8232a62e1 (patch) | |
tree | 0be31a3020884bf98378e31bd74746f1da21cd05 /src/main/java/com/gitblit/ConfigUserService.java | |
parent | 814e248354ed9b234c59e3470ef363f705bf711a (diff) | |
parent | 627c466f7cc31582a2b9aa54f7ef91a8287fdd89 (diff) | |
download | gitblit-1dda945c4e8f882c953ac09c70bc6af8232a62e1.tar.gz gitblit-1dda945c4e8f882c953ac09c70bc6af8232a62e1.zip |
Merge pull request #131 from alfsch/master
Fix for Issue 356 - LDAP Groupmembers are not displayed until they are signed in once
Diffstat (limited to 'src/main/java/com/gitblit/ConfigUserService.java')
-rw-r--r-- | src/main/java/com/gitblit/ConfigUserService.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/main/java/com/gitblit/ConfigUserService.java b/src/main/java/com/gitblit/ConfigUserService.java index c1f0506d..19e4736a 100644 --- a/src/main/java/com/gitblit/ConfigUserService.java +++ b/src/main/java/com/gitblit/ConfigUserService.java @@ -216,18 +216,22 @@ public class ConfigUserService implements IUserService { // null check on "final" teams because JSON-sourced UserModel
// can have a null teams object
if (model.teams != null) {
+ Set<TeamModel> userTeams = new HashSet<TeamModel>();
for (TeamModel team : model.teams) {
TeamModel t = teams.get(team.name.toLowerCase());
if (t == null) {
// new team
- team.addUser(model.username);
- teams.put(team.name.toLowerCase(), team);
- } else {
- // do not clobber existing team definition
- // maybe because this is a federated user
- t.addUser(model.username);
+ t = team;
+ teams.put(team.name.toLowerCase(), t);
}
+ // do not clobber existing team definition
+ // maybe because this is a federated user
+ t.addUser(model.username);
+ userTeams.add(t);
}
+ // replace Team-Models in users by new ones.
+ model.teams.clear();
+ model.teams.addAll(userTeams);
// check for implicit team removal
if (originalUser != null) {
|