private void fillIssue(ContextBuilder context, Issue issue) { context.put("id", issue.getId()); context.put("reference", issue.getReference()); context.put("label", issue.getLabel()); context.put("description", wiki2html(issue.getDescription())); context.put("statement", wiki2html(issue.getStatement())); context.put("statusText", issue.getStatusText()); if (issue.isOwnerSet()) context.put("owner", issue.getOwner().getName()); if (issue.isFixed()) context.put("fixed", "true"); fillComments(context, issue); }
private void onIssueChanged(GwtConversation conversation, Issue issue, Map properties) { User currentUser = conversation.getSession().getUser(); if (properties.containsKey("closeDate")) { if (issue.isClosed()) { issue.setCloseDate(Date.today()); postProjectEvent( conversation, currentUser.getName() + " closed " + issue.getReferenceAndLabel(), issue); subscriptionService.notifySubscribers( issue, "Issue closed", conversation.getProject(), null); } else { postProjectEvent( conversation, currentUser.getName() + " reopened " + issue.getReferenceAndLabel(), issue); subscriptionService.notifySubscribers( issue, "Issue reopened", conversation.getProject(), null); } } if (properties.containsKey("ownerId") && issue.isOwnerSet()) { if (!issue.isFixed()) { postProjectEvent( conversation, currentUser.getName() + " claimed " + issue.getReferenceAndLabel(), issue); } Release nextRelease = issue.getProject().getNextRelease(); if (nextRelease != null && issue.isFixReleasesEmpty()) { issue.setFixReleases(Collections.singleton(nextRelease)); } } if (properties.containsKey("fixDate")) { if (issue.isFixed()) { postProjectEvent( conversation, currentUser.getName() + " fixed " + issue.getReferenceAndLabel(), issue); } else { postProjectEvent( conversation, currentUser.getName() + " rejected fix for " + issue.getReferenceAndLabel(), issue); } } if (properties.containsKey("urgent")) { if (issue.isBug()) { Release currentRelease = issue.getProject().getCurrentRelease(); if (issue.isAffectedReleasesEmpty() && currentRelease != null) { issue.setAffectedReleases(Collections.singleton(currentRelease)); } } } if (properties.containsKey("acceptDate")) { if (issue.isIdea() || issue.isBug()) { postProjectEvent( conversation, currentUser.getName() + " accepted " + issue.getReferenceAndLabel(), issue); subscriptionService.notifySubscribers( issue, "Issue accepted", conversation.getProject(), null); } } issue.getProject().updateHomepage(issue, false); }