public boolean isSubTask() { return issue.getParentObject() != null; }
public Issue getParent() { return issue.getParentObject(); }
public Issue getParentObject() { return issue.getParentObject(); }
public Issue getParentObject() { return issue.getParentObject(); }
public String getParentKey() { Issue parent = (getIssueObject().getParentObject()); if (parent != null) { return parent.getKey(); } return null; } }
/** * Returns the parent of the current {@link Issue} * * @return the parent issue object */ public Issue getParentIssueObject() { if (isSubTask()) { if (parentIssueObject == null) { final Issue issue = getIssueObject(); if (issue.isSubTask() && issue.getParentObject() != null) { parentIssueObject = issue.getParentObject(); } } } return parentIssueObject; }
/** * Build an IssueLinkJsonBean object representing the parent link for the current Issue object. * * @return an IssueLinkJsonBean object, or null if no parent link exists */ public IssueRefJsonBean buildParentLink() { Issue parent = issue.getParentObject(); if (parent == null) { return null; } IssueLinkBeanBuilder issueLinkBeanBuilder = new IssueLinkBeanBuilder(jiraBaseUrls); return issueLinkBeanBuilder.createIssueRefJsonBean(parent); }
public boolean cameFromParent() { final Issue parent = getIssueObject().getParentObject(); if (parent == null) { return false; } final HttpServletRequest request = ActionContext.getRequest(); if (request != null) { final String header = request.getHeader("referer"); if (StringUtils.isNotBlank(header)) { return header.contains("browse/" + parent.getKey()); } } return false; }
private void linkCloningSubTaskToOriginalSubTaskParent() throws CreateException { // Retrieve the parent of the original subtask Issue subTaskParent = originalIssue.getParentObject(); // Link the clone subtask to the parent of the original subtask (by this stage the getIssue() method returns the newly cloned issue) subTaskManager.createSubTaskIssueLink(subTaskParent, getIssueObject(), getLoggedInUser()); }
if (subTaskManager.isSubTasksEnabled() && ctx.getIssue().getParentObject() != null) PermissionContext parentCtx = permissionContextFactory.getPermissionContext(ctx.getIssue().getParentObject()); workflowPerms.addAll(workflowPermissionFactory.getWorkflowPermissions(parentCtx, permissionKey, true));
protected void populateVelocityParams(FieldLayoutItem fieldLayoutItem, Issue issue, Map<String, Object> params) { super.populateVelocityParams(fieldLayoutItem, issue, params); if (issue.isSubTask()) { params.put("subTask", Boolean.TRUE); Issue parentIssue = issue.getParentObject(); // do they have permission to see the parent issue, if not just show the key and not the summary params.put("parentIssueKey", parentIssue.getKey()); params.put("subTaskParentIssueLinkDisabled", Boolean.TRUE); if (getPermissionManager().hasPermission(Permissions.BROWSE, parentIssue, getAuthenticationContext().getUser())) { params.put("parentIssueSummary", parentIssue.getSummary()); params.put("subTaskParentIssueLinkDisabled", Boolean.FALSE); } } }
/** * Adds parent's workflow permissions if sub-tasks are enabled and the given issue is a sub-task * * @param workflowPerms list of workflow permissions to add parent's into * @param issue issue to check for being a sub-task * @param permissionId permission id */ private void addParentPermissionsIfSubTask(final List<WorkflowPermission> workflowPerms, final Issue issue, final ProjectPermissionKey permissionId) { final SubTaskManager subTaskManager = ComponentAccessor.getSubTaskManager(); final Issue parent = issue.getParentObject(); if (subTaskManager.isSubTasksEnabled() && (parent != null)) { final PermissionContext parentPermissionContext = permissionContextFactory.getPermissionContext(parent); workflowPerms.addAll(workflowPermissionFactory.getWorkflowPermissions(parentPermissionContext, permissionId, true)); } }
if (currentIssue != null && currentIssue.getParentObject() != null && !issuePickerParams.showSubTaskParent()) newFilterQuery.add(new TermQuery(new Term(DocumentConstants.ISSUE_KEY, currentIssue.getParentObject().getKey())), BooleanClause.Occur.MUST_NOT);
if ((currentIssue != null) && (currentIssue.getParentObject() != null) && !issuePickerParams.showSubTaskParent()) newFilterQuery.add(new TermQuery(new Term(DocumentConstants.ISSUE_KEY, currentIssue.getParentObject().getKey())), BooleanClause.Occur.MUST_NOT);
/** * Removes the parent link and adds change item. * * @param context jira service context */ public void preStoreUpdates(JiraServiceContext context, IssueChangeHolder changeHolder, Issue currentIssue, MutableIssue targetIssue) { Collection<IssueLink> inwardLinks = issueLinkManager.getInwardLinks(currentIssue.getId()); for (final IssueLink issueLink : inwardLinks) { if (issueLink.getIssueLinkType().isSubTaskLinkType()) { issueLinkManager.removeIssueLink(issueLink, context.getLoggedInUser()); } } // need to reorder sequence. subTaskManager.resetSequences(currentIssue.getParentObject()); final Issue parentIssue = currentIssue.getParentObject(); changeHolder.addChangeItem(new ChangeItemBean(ChangeItemBean.STATIC_FIELD, "Parent", parentIssue.getId().toString(), parentIssue.getKey(), null, null)); }
boolean issueToSubtask = originalIssue.getParentObject() == null && targetIssue.getParentObject() != null; boolean subtaskCopySecurityLevelFromParent = false; if (issueToSubtask) boolean securityLevelChanged = (originalIssue.getSecurityLevelId() == null && targetIssue.getParentObject().getSecurityLevelId() != null) || (originalIssue.getSecurityLevelId() != null && !originalIssue.getSecurityLevelId().equals(targetIssue.getParentObject().getSecurityLevelId())); subtaskCopySecurityLevelFromParent = securityLevelChanged;
private void removeIssueLinks(ApplicationUser user, Issue issue) { // test if the issue is a sub-task // NOTE: This has to be done BEFORE removing the issue link as the sub-task issue link is // used to determine if the issue is a sub-task if (issue.isSubTask()) { // Get the parent issue before removing the links, as we need the link to determine the parent issue Issue parentIssue = issue.getParentObject(); // Remove the links issueLinkManager.removeIssueLinksNoChangeItems(issue); // We need to reorder the parent's links as the its sub-task link for this issue has been removed subTaskManager.resetSequences(parentIssue); } else { // If there are no sub-tasks so all we need to do is delete the issue's links issueLinkManager.removeIssueLinksNoChangeItems(issue); } for (RemoteIssueLink remoteIssueLink : remoteIssueLinkManager.getRemoteIssueLinksForIssue(issue)) { remoteIssueLinkManager.removeRemoteIssueLink(remoteIssueLink.getId(), user); } }
if (issue.getParentObject() != null) if (!issue.getParentObject().getProjectId().equals(projectId))
else if (issueTypeObject.isSubTask() && issue.getParentObject() != null && issue.getParentObject().isSubTask()) String.format("ID: '%s' / Key: '%s'", issue.getParentObject().getId(), issue.getParentObject().getKey())));
throws RemoveException, CreateException final Issue oldParentIssue = subTask.getParentObject(); Collection<IssueLink> inwardLinks = issueLinkManager.getInwardLinks(subTask.getId()); for (final IssueLink issueLink : inwardLinks)