@Override public boolean canWrite(String securityToken, Wikitty wikitty) { boolean result = true; String userId = getUserId(securityToken); for (String extName : wikitty.getExtensionNames()) { result = result && isWriter(securityToken, userId, wikitty, extName); if (!result) { break; } } return result; }
protected boolean canWrite(String securityToken, String userId, String extensionName, Wikitty wikitty) { boolean canWrite = false; // first, check per-extension rights if (wikitty.hasMetaExtension(WikittyAuthorisation.EXT_WIKITTYAUTHORISATION, extensionName)) { // there is a policy on the extension of fqFieldDirtyName canWrite = isWriter(securityToken, userId, wikitty, extensionName) || canAdmin(securityToken, userId, extensionName, wikitty); } if ( ! canWrite && wikitty.hasExtension(WikittyAuthorisation.EXT_WIKITTYAUTHORISATION) ) { // there is no policy for this extension // but there is a policy for all extension of wikitty canWrite = isWriter(securityToken, userId, wikitty, null) || canAdmin(securityToken, userId, extensionName, wikitty); } else { // no security policy, everything is allowed canWrite = true; } return canWrite; }
@Override public boolean canDelete(String securityToken, String wikittyId) { boolean result = true; Wikitty wikitty = WikittyServiceEnhanced.restore( getDelegate(), securityToken, wikittyId); if (wikitty != null) { String userId = getUserId(securityToken); for (String extName : wikitty.getExtensionNames()) { result = result && isWriter(securityToken, userId, wikitty, extName); if (!result) { break; } } } return result; }