diff options
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbUser.java')
-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; } |