summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/permissions
diff options
context:
space:
mode:
authorJonathan Bauer2015-08-07 17:29:16 +0200
committerJonathan Bauer2015-08-07 17:29:16 +0200
commit61e12701afeb2766fcea6d6ccf6dbeabddaf78d8 (patch)
tree17a39bfaad7729226b30eab5529be7e0139effa9 /dozentenmodul/src/main/java/org/openslx/dozmod/permissions
parent[client] better add user popup for lecture permisssion page of wizard (diff)
downloadtutor-module-61e12701afeb2766fcea6d6ccf6dbeabddaf78d8.tar.gz
tutor-module-61e12701afeb2766fcea6d6ccf6dbeabddaf78d8.tar.xz
tutor-module-61e12701afeb2766fcea6d6ccf6dbeabddaf78d8.zip
[client] make image details editable also if user has admin rights or if he does not have any custom permissions, the default permissions allows it
and some code cleanup
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/permissions')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/permissions/ImagePerms.java22
1 files changed, 17 insertions, 5 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/ImagePerms.java b/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/ImagePerms.java
index 9633e13b..0f93ca9a 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/ImagePerms.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/permissions/ImagePerms.java
@@ -1,6 +1,8 @@
package org.openslx.dozmod.permissions;
+import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
+import org.openslx.bwlp.thrift.iface.ImagePermissions;
import org.openslx.dozmod.thrift.Session;
/**
@@ -8,13 +10,23 @@ import org.openslx.dozmod.thrift.Session;
*/
public class ImagePerms {
- public static boolean canEdit(ImageDetailsRead image){
+ private final static Logger LOGGER = Logger.getLogger(ImagePerms.class);
+
+ public static boolean canEdit(final ImageDetailsRead image){
+ // check if we are the owner of the image
if(image.getOwnerId().equals(Session.getUserId()))
return true;
- if(image.userPermissions !=null) {
- return image.userPermissions.edit;
+ // we are not, lets see which permissions we have
+ ImagePermissions perms = image.getUserPermissions();
+ if(perms != null) {
+ LOGGER.debug("You can: " + perms);
+ } else {
+ // no user specific permissions, check defaults
+ perms = image.getDefaultPermissions();
+ if (perms != null) {
+ LOGGER.debug("Everybody can: " + perms);
+ }
}
- return image.defaultPermissions.edit;
+ return perms != null && (perms.isSetAdmin() || perms.isSetEdit());
}
-
}