@Override public boolean userCanViewAvatar(final ApplicationUser user, final Avatar avatar) { return type == avatar.getAvatarType(); }
@Override public boolean userCanViewAvatar(final ApplicationUser user, final Avatar avatar) { return Avatar.Type.ISSUETYPE == avatar.getAvatarType(); }
private boolean hasCorrectType(final Avatar avatar) { return Avatar.Type.PROJECT == avatar.getAvatarType(); }
private Map<String, Object> getNonPkFields(Avatar avatar) { final Map<String, Object> fields = new HashMap<>(); fields.put(FILE_NAME, avatar.getFileName()); fields.put(CONTENT_TYPE, avatar.getContentType()); fields.put(AVATAR_TYPE, avatar.getAvatarType().getName()); fields.put(OWNER, avatar.getOwner()); fields.put(SYSTEM_AVATAR, avatar.isSystemAvatar() ? IS_SYSTEM : NOT_SYSTEM); return fields; }
public boolean isAvatarOwner(final Avatar avatar, final String ownerId) { Assertions.notNull("avatar", avatar); Assertions.notNull("owner", ownerId); return getCustomAvatarsForOwner(avatar.getAvatarType(), ownerId).contains(avatar); }
/** * Returns true if the passed in user has permission to view the passed in avatar. By definition, any user can view * the system avatars (e.g. avatars with no owner). * * @param user a User * @param avatar an Avatar * @return a boolean indicating whether the passed in user has permission to view the passed in avatar */ protected boolean canViewAvatar(ApplicationUser user, Avatar avatar) { boolean hasPermission = avatarManager.hasPermissionToView(user, avatar.getAvatarType(), avatar.getOwner()); if (!hasPermission) { LOGGER.debug("User '{}' is not allowed to view avatar {}", user, avatar.getId()); } return hasPermission; }
/** * Builds a URI for a JIRA avatar with the requested size. * * @param avatarUser the ApplicationUser whose avatar we'd like to display * @param avatar the Avatar whose URI we want * @param size the size in which the avatar should be displayed * @return a URI that can be used to display the avatar */ public URI getAvatarUrlNoPermCheck(final ApplicationUser avatarUser, final Avatar avatar, @Nonnull Size size) { final Long id = avatar.getId(); final String sizeName = size.getParam(); if (avatar.getAvatarType() == Avatar.Type.USER) { return URI.create(jiraAvatarSupport.get().getAvatarById(id, sizeName).getUrl()); } else { return getProjectAvatarUrl(avatar, size); } }
if (!avatarManager.hasPermissionToEdit(authContext.getUser(), avatar.getAvatarType(), avatar.getOwner()))
RemoteAvatar createRemoteAvatar(final Avatar a, final boolean large, final Base64InputStreamConsumer data) { final long id = a.getId(); final String contentType = a.getContentType(); final String type = a.getAvatarType().getName(); try { if (large) { avatarManager.readAvatarData(a, AvatarManager.ImageSize.LARGE, data); } else { avatarManager.readAvatarData(a, AvatarManager.ImageSize.SMALL, data); } } catch (IOException e) { log.error("Exception trying to get Avatar image data, continuing without it", e); } return new RemoteAvatar(id, contentType, a.getOwner(), a.isSystemAvatar(), type, data.getEncoded()); }
public Avatar create(final Avatar avatar) { Assertions.notNull("avatar", avatar); Assertions.stateTrue("avatar.id must be null", avatar.getId() == null); Assertions.notNull("avatar.fileName", avatar.getFileName()); Assertions.notNull("avatar.contentType", avatar.getContentType()); Assertions.notNull("avatar.avatarType", avatar.getAvatarType()); return gvToAvatar(ofBizDelegator.createValue(AVATAR_ENTITY, getNonPkFields(avatar))); }
public void update(final Avatar avatar) { Assertions.notNull("avatar", avatar); Long avatarId = Assertions.notNull("avatar.id", avatar.getId()); Assertions.notNull("avatar.fileName", avatar.getFileName()); Assertions.notNull("avatar.contentType", avatar.getContentType()); Assertions.notNull("avatar.avatarType", avatar.getAvatarType()); Assertions.notNull("avatar.owner", avatar.getOwner()); final GenericValue gv = ofBizDelegator.findById(AVATAR_ENTITY, avatarId); gv.setNonPKFields(getNonPkFields(avatar)); try { gv.store(); } catch (GenericEntityException e) { throw new DataAccessException(e); } finally { taggedAvatars.remove(avatarId); avatars.remove(avatarId); } }