From fdefa2b1fd7e3a4349a4ee72599f5d390166be30 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 25 Apr 2012 17:15:32 -0400
Subject: [PATCH] Displayname and email address persistence for ConfigUserService
---
src/com/gitblit/GitblitUserService.java | 20 +++++++++++++++++---
1 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/com/gitblit/GitblitUserService.java b/src/com/gitblit/GitblitUserService.java
index 1514b6b..7ad3db7 100644
--- a/src/com/gitblit/GitblitUserService.java
+++ b/src/com/gitblit/GitblitUserService.java
@@ -141,6 +141,11 @@
public UserModel authenticate(String username, char[] password) {
return serviceImpl.authenticate(username, password);
}
+
+ @Override
+ public void logout(UserModel user) {
+ serviceImpl.logout(user);
+ }
@Override
public UserModel getUserModel(String username) {
@@ -156,9 +161,12 @@
public boolean updateUserModel(String username, UserModel model) {
if (supportsCredentialChanges()) {
if (!supportsTeamMembershipChanges()) {
- // teams are externally controlled
+ // teams are externally controlled - copy from original model
+ UserModel existingModel = getUserModel(username);
+
model = DeepCopier.copy(model);
model.teams.clear();
+ model.teams.addAll(existingModel.teams);
}
return serviceImpl.updateUserModel(username, model);
}
@@ -166,9 +174,12 @@
// passwords are not persisted by the backing user service
model.password = null;
if (!supportsTeamMembershipChanges()) {
- // teams are externally controlled
+ // teams are externally controlled- copy from original model
+ UserModel existingModel = getUserModel(username);
+
model = DeepCopier.copy(model);
model.teams.clear();
+ model.teams.addAll(existingModel.teams);
}
return serviceImpl.updateUserModel(username, model);
}
@@ -228,9 +239,12 @@
@Override
public boolean updateTeamModel(String teamname, TeamModel model) {
if (!supportsTeamMembershipChanges()) {
- // teams are externally controlled
+ // teams are externally controlled - copy from original model
+ TeamModel existingModel = getTeamModel(teamname);
+
model = DeepCopier.copy(model);
model.users.clear();
+ model.users.addAll(existingModel.users);
}
return serviceImpl.updateTeamModel(teamname, model);
}
--
Gitblit v1.9.1