diff options
author | Simon Rettberg | 2015-09-30 18:27:39 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-09-30 18:27:39 +0200 |
commit | 4547c2515a0a5fcd5700277d3a57e790ec5fba94 (patch) | |
tree | f971333fe2441e8146e7ec7279f2e77d9a3e3aa4 | |
parent | Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1 (diff) | |
download | tutor-module-4547c2515a0a5fcd5700277d3a57e790ec5fba94.tar.gz tutor-module-4547c2515a0a5fcd5700277d3a57e790ec5fba94.tar.xz tutor-module-4547c2515a0a5fcd5700277d3a57e790ec5fba94.zip |
[server] Fix detection of old imported users in DB
-rw-r--r-- | dozentenmodulserver/setup/sat-01-schema.sql | 3 | ||||
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbUser.java | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/dozentenmodulserver/setup/sat-01-schema.sql b/dozentenmodulserver/setup/sat-01-schema.sql index 6a4e6800..f1d693fe 100644 --- a/dozentenmodulserver/setup/sat-01-schema.sql +++ b/dozentenmodulserver/setup/sat-01-schema.sql @@ -182,7 +182,8 @@ CREATE TABLE IF NOT EXISTS `user` ( `issuperuser` tinyint(1) NOT NULL DEFAULT '0', `emailnotifications` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`userid`), - KEY `fk_user_1_idx` (`organizationid`) + KEY `fk_user_1_idx` (`organizationid`), + KEY `mail_idx` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS `virtualizer` ( 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 bc63894c..32e04d44 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 @@ -171,8 +171,8 @@ public class DbUser { // We actually found an old imported entry - just update String oldId = rs.getString("userid"); MysqlStatement insUpStmt = connection.prepareStatement("UPDATE IGNORE user" - + " SET lastlogin = UNIX_TIMESTAMP(), email = :email, userid = :newuserid, organizationid = :organizationid" - + " WHERE userid = :olduserid"); + + " SET lastlogin = UNIX_TIMESTAMP(), email = :email, userid = :newuserid, organizationid = :organizationid," + + " emailnotifications = 1 WHERE userid = :olduserid"); insUpStmt.setString("newuserid", ui.userId); insUpStmt.setString("email", ui.eMail); insUpStmt.setString("organizationid", ui.organizationId); @@ -192,7 +192,7 @@ public class DbUser { public void fire() { try (MysqlConnection connection = Database.getConnection()) { MysqlStatement stmt = connection.prepareStatement("SELECT userid FROM user" - + " WHERE email = '@%@' LIMIT 1"); + + " WHERE email LIKE '@%@' LIMIT 1"); ResultSet rs = stmt.executeQuery(); legacyUsersExist = rs.next(); } catch (SQLException e) { |