diff options
author | Simon Rettberg | 2015-09-30 18:35:11 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-09-30 18:35:11 +0200 |
commit | 8c82c502ff6a946eb59bda5cd9992c43b70490f8 (patch) | |
tree | 9a86499f0bfd45ba456c9cd08dfb9a371085607f | |
parent | Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff) | |
download | tutor-module-8c82c502ff6a946eb59bda5cd9992c43b70490f8.tar.gz tutor-module-8c82c502ff6a946eb59bda5cd9992c43b70490f8.tar.xz tutor-module-8c82c502ff6a946eb59bda5cd9992c43b70490f8.zip |
[server] Don't accidentally overwrite email address of imported account if userid didn't change
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbUser.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbUser.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbUser.java index 32e04d44..87a05d63 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbUser.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbUser.java @@ -178,11 +178,13 @@ public class DbUser { insUpStmt.setString("organizationid", ui.organizationId); insUpStmt.setString("olduserid", oldId); insUpStmt.executeUpdate(); - // Be extra safe: in case the update failed (dup key?) we patch the old entry so it doesn't look like an old one anymore - MysqlStatement fixStmt = connection.prepareStatement("UPDATE user SET" - + " email = 'void', emailnotifications = 0 WHERE userid = :olduserid"); - fixStmt.setString("olduserid", oldId); - fixStmt.executeUpdate(); + if (!ui.userId.equals(oldId)) { + // Be extra safe: in case the update failed (dup key?) we patch the old entry so it doesn't look like an old one anymore + MysqlStatement fixStmt = connection.prepareStatement("UPDATE user SET" + + " email = 'void', emailnotifications = 0 WHERE userid = :olduserid AND email LIKE '@%'"); + fixStmt.setString("olduserid", oldId); + fixStmt.executeUpdate(); + } return true; } |