summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver
diff options
context:
space:
mode:
authorSimon Rettberg2015-08-13 15:53:24 +0200
committerSimon Rettberg2015-08-13 15:53:24 +0200
commit8874c2e551e8001d8ef3b17e7c33b25b3ce337b2 (patch)
treee543c2132649e3b55689c8816f06ce741721299b /dozentenmodulserver
parent[client] Make sure only applicable fields in image details window are editable (diff)
downloadtutor-module-8874c2e551e8001d8ef3b17e7c33b25b3ce337b2.tar.gz
tutor-module-8874c2e551e8001d8ef3b17e7c33b25b3ce337b2.tar.xz
tutor-module-8874c2e551e8001d8ef3b17e7c33b25b3ce337b2.zip
[server] Set updaterid and updatetime when changing owner of image
Diffstat (limited to 'dozentenmodulserver')
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java21
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java2
2 files changed, 17 insertions, 6 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java
index 2fa830cf..98191bea 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/database/mappers/DbImage.java
@@ -268,12 +268,23 @@ public class DbImage {
}
}
- public static void setImageOwner(String imageBaseId, String newOwnerId) throws SQLException {
+ public static void setImageOwner(String imageBaseId, String newOwnerId, UserInfo changingUser)
+ throws SQLException {
try (MysqlConnection connection = Database.getConnection()) {
- MysqlStatement stmt = connection.prepareStatement("UPDATE imagebase"
- + " SET ownerid = :ownerid WHERE imagebaseid = :baseid");
- stmt.setString("ownerid", newOwnerId);
- stmt.setString("baseid", imageBaseId);
+ MysqlStatement stmt;
+ if (changingUser == null) {
+ stmt = connection.prepareStatement("UPDATE imagebase"
+ + " SET ownerid = :ownerid WHERE imagebaseid = :baseid");
+ stmt.setString("ownerid", newOwnerId);
+ stmt.setString("baseid", imageBaseId);
+ } else {
+ stmt = connection.prepareStatement("UPDATE imagebase"
+ + " SET ownerid = :ownerid, updaterid = :updaterid, updatetime = UNIX_TIMESTAMP()"
+ + " WHERE imagebaseid = :baseid");
+ stmt.setString("ownerid", newOwnerId);
+ stmt.setString("updaterid", changingUser.userId);
+ stmt.setString("baseid", imageBaseId);
+ }
stmt.executeUpdate();
connection.commit();
} catch (SQLException e) {
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
index e853fafa..7ce167e0 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/thrift/ServerHandler.java
@@ -343,7 +343,7 @@ public class ServerHandler implements SatelliteServer.Iface {
throw new TAuthorizationException(AuthorizationError.NO_PERMISSION,
"Cannot change owner of image that gets downloaded from master server");
}
- DbImage.setImageOwner(imageBaseId, newOwnerId);
+ DbImage.setImageOwner(imageBaseId, newOwnerId, user);
} catch (SQLException e) {
throw new TInternalServerError();
}