diff options
author | Jonathan Bauer | 2015-08-07 17:29:16 +0200 |
---|---|---|
committer | Jonathan Bauer | 2015-08-07 17:29:16 +0200 |
commit | 61e12701afeb2766fcea6d6ccf6dbeabddaf78d8 (patch) | |
tree | 17a39bfaad7729226b30eab5529be7e0139effa9 /dozentenmodul/src/main/java/org/openslx/dozmod/permissions | |
parent | [client] better add user popup for lecture permisssion page of wizard (diff) | |
download | tutor-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.java | 22 |
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()); } - } |