summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2015-09-30 18:35:11 +0200
committerSimon Rettberg2015-09-30 18:35:11 +0200
commit8c82c502ff6a946eb59bda5cd9992c43b70490f8 (patch)
tree9a86499f0bfd45ba456c9cd08dfb9a371085607f
parentMerge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff)
downloadtutor-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.java12
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;
}