private boolean hasPermission(ApplicationUser user, Project project) { try { return permissionManager.hasPermission(ADMINISTER_PROJECTS, project, user); } catch (Exception e) { return false; } }
private boolean hasUserPermissionToProject(ApplicationUser remoteUser, Project project) { final boolean isAdmin = permissionManager.hasPermission(Permissions.ADMINISTER, remoteUser); final boolean isProjectAdmin = permissionManager.hasPermission(ADMINISTER_PROJECTS, project, remoteUser); final boolean hasBrowseProject = permissionManager.hasPermission(BROWSE_PROJECTS, project, remoteUser); return hasBrowseProject || isProjectAdmin || isAdmin; } }
@Override public boolean canPerformAjaxSearch(final ApplicationUser user) { return permissionManager.hasPermission(Permissions.USER_PICKER, user); }
@Override public boolean hasPermissionToView(ApplicationUser remoteUser, Project project) { //can't edit non-existent project! if (project == null) { return false; } return globalPermissionManager.hasPermission(ADMINISTER, remoteUser) || permissionManager.hasPermission(ADMINISTER_PROJECTS, project, remoteUser) || permissionManager.hasPermission(BROWSE_PROJECTS, project, remoteUser); }
@Override public boolean isAssignable(@Nonnull Issue issue, @Nonnull ApplicationUser user, @Nullable ActionDescriptor actionDescriptor) { return permissionManager.hasPermission(ASSIGNABLE_USER, issue, user); }
private boolean validateCreateTemporaryAttachmentsInProject(@Nullable final ApplicationUser user, final Project project, final ErrorCollection errorCollection) { return processValidationResult(permissionManager.hasPermission(CREATE_ATTACHMENTS, project, user), "attachment.service.error.create.no.permission.project", user, errorCollection); }
/** * @param issue An issue. * @return whether the current user can manage {@code issue}'s watchers. */ private String canEditWatchers(final Issue issue) { return Boolean.toString(permissionManager.hasPermission( MANAGE_WATCHER_LIST, issue, authenticationContext.getLoggedInUser())); }
/** * Is it possible to share filters * * @return true if it is Enterprise or Professional and the current user has the Share permission */ public boolean canShare() { return permissionManager.hasPermission(Permissions.CREATE_SHARED_OBJECTS, authCtx.getUser()); }
private boolean isProjectBrowser(final ApplicationUser user, final Project project) { return permissionManager.hasPermission(BROWSE_PROJECTS, project, user) || isProjectAdmin(user, project); }
public boolean shouldDisplay(final ApplicationUser user, JiraHelper jiraHelper) { return cacheConditionResultInRequest(getHasPermissionKey(permission, user), () -> permissionManager.hasPermission(permission, user)); }
@Override public boolean hasIssuePermission(String permissionKey, Issue issue) { return permissionManager.hasPermission(new ProjectPermissionKey(permissionKey), issue, jiraAuthenticationContext.getLoggedInUser()); }
@VisibleForTesting boolean userHasMovePermission(@Nonnull Issue issue) { return getPermissionManager().hasPermission(MOVE_ISSUES, issue, getAuthenticationContext().getUser()); }
boolean hasPermissionToView(ApplicationUser user, Issue issue, I18nHelper i18n, ErrorCollection errorCollection) { final boolean hasPermission = permissionManager.hasPermission(BROWSE_PROJECTS, issue, user); if (!hasPermission) { errorCollection.addErrorMessage(i18n.getText("admin.errors.issues.no.permission.to.see"), user == null ? Reason.NOT_LOGGED_IN : Reason.FORBIDDEN); } return hasPermission; }
/** * Checks if the given user had permission to see the attachments for an issue. * * @param issue the issue in play * @return true if user can see the attachments, false otherwise * @throws com.atlassian.jira.exception.DataAccessException because of bad JIRA design */ private boolean hasPermissionToViewAttachment(final Issue issue) throws DataAccessException { return ComponentAccessor.getPermissionManager().hasPermission(Permissions.BROWSE, issue, getLoggedInUser()); }
Set<ProjectIssueTypeContext> getContextsForProject(final ApplicationUser searcher, final Project project) { if (project == null || !permissionManager.hasPermission(BROWSE_PROJECTS, project, searcher)) { return Collections.emptySet(); } else { return Collections.<ProjectIssueTypeContext>singleton(new ProjectIssueTypeContextImpl(new ProjectContextImpl(project.getId()), AllIssueTypesContext.INSTANCE)); } }
private static boolean isLoggedInSysAdmin() { ApplicationUser user = ComponentAccessor.getJiraAuthenticationContext().getUser(); if (user == null) { return false; } PermissionManager permissionManager = ComponentAccessor.getPermissionManager(); return permissionManager.hasPermission(Permissions.SYSTEM_ADMIN, user); }
boolean canCurrentUserSeeIssue(Issue issue) { ApplicationUser loggedInUser = getJiraAuthenticationContext().getUser(); return getPermissionManager().hasPermission(Permissions.BROWSE, issue, loggedInUser); }
private ErrorCollection checkIssuePermission(final ApplicationUser user, final Issue issue, final IssueAction issueAction) { ErrorCollection errorCollection = new SimpleErrorCollection(); if (!permissionManager.hasPermission(issueAction.getPermissionId(), issue, user)) { ErrorCollection.Reason reason = user == null ? ErrorCollection.Reason.NOT_LOGGED_IN : ErrorCollection.Reason.FORBIDDEN; errorCollection.addErrorMessage(i18n.getText(issueAction.getErrorMessage()), reason); } return errorCollection; }
public String getIssueIndexPath(final JiraServiceContext serviceContext) { if (permissionManager.hasPermission(Permissions.SYSTEM_ADMIN, serviceContext.getLoggedInUser())) { return indexPathManager.getIssueIndexPath(); } else { serviceContext.getErrorCollection().addErrorMessage(serviceContext.getI18nBean().getText("admin.errors.indexpath.no.permission")); return null; } }
public void setUseDefaultDirectory(final JiraServiceContext serviceContext) { if (permissionManager.hasPermission(Permissions.SYSTEM_ADMIN, serviceContext.getLoggedInUser())) { indexPathManager.setUseDefaultDirectory(); } else { serviceContext.getErrorCollection().addErrorMessage(serviceContext.getI18nBean().getText("admin.errors.indexpath.no.permission")); } } }