From 9bc44161b6985c2f39cc86bf989351cb4281919f Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 03 Jul 2014 16:59:08 -0400 Subject: [PATCH] Removed beans.xml --- src/main/java/com/gitblit/tickets/TicketNotifier.java | 28 +++++++++++++++++++++++++--- 1 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gitblit/tickets/TicketNotifier.java b/src/main/java/com/gitblit/tickets/TicketNotifier.java index 313f1a7..07371b1 100644 --- a/src/main/java/com/gitblit/tickets/TicketNotifier.java +++ b/src/main/java/com/gitblit/tickets/TicketNotifier.java @@ -204,7 +204,9 @@ } catch (Exception e) { Logger.getLogger(getClass()).error("failed to get changed paths", e); } finally { - repo.close(); + if (repo != null) { + repo.close(); + } } String compareUrl = ticketService.getCompareUrl(ticket, base, patchset.tip); @@ -489,6 +491,7 @@ instructions = instructions.replace("${ticketRef}", ticketBranch); instructions = instructions.replace("${patchsetRef}", patchsetBranch); instructions = instructions.replace("${reviewBranch}", reviewBranch); + instructions = instructions.replace("${ticketBranch}", ticketBranch); return instructions; } @@ -519,9 +522,16 @@ // // Direct TO recipients + // reporter & responsible // + Set<String> tos = new TreeSet<String>(); + tos.add(ticket.createdBy); + if (!StringUtils.isEmpty(ticket.responsible)) { + tos.add(ticket.responsible); + } + Set<String> toAddresses = new TreeSet<String>(); - for (String name : ticket.getParticipants()) { + for (String name : tos) { UserModel user = userManager.getUserModel(name); if (user != null && !user.disabled) { if (!StringUtils.isEmpty(user.emailAddress)) { @@ -535,12 +545,16 @@ } } } - mailing.setRecipients(toAddresses); // // CC recipients // Set<String> ccs = new TreeSet<String>(); + + // repository owners + if (!ArrayUtils.isEmpty(repository.owners)) { + ccs.addAll(repository.owners); + } // cc users mentioned in last comment Change lastChange = ticket.changes.get(ticket.changes.size() - 1); @@ -580,6 +594,14 @@ } ccAddresses.addAll(settings.getStrings(Keys.mail.mailingLists)); + // respect the author's email preference + UserModel lastAuthor = userManager.getUserModel(lastChange.author); + if (!lastAuthor.getPreferences().isEmailMeOnMyTicketChanges()) { + toAddresses.remove(lastAuthor.emailAddress); + ccAddresses.remove(lastAuthor.emailAddress); + } + + mailing.setRecipients(toAddresses); mailing.setCCs(ccAddresses); } -- Gitblit v1.9.1