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; /** * Class for checking, whether user can edit given image */ public class ImagePerms { 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; // 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 perms != null && (perms.admin || perms.edit); } }