diff --git a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/MeetupServiceBean.java b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/MeetupServiceBean.java index ea45d429..0e82a3b1 100644 --- a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/MeetupServiceBean.java +++ b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/MeetupServiceBean.java @@ -147,12 +147,18 @@ public class MeetupServiceBean { Meetup meetup = meetupManagementServiceBean.getMeetup(meetupId, serverId); MeetupMessageModel model = getMeetupMessageModel(meetup); MessageToSend messageToSend = templateService.renderEmbedTemplate(MEETUP_CANCELLATION_TEMPLATE, model); - meetup.getParticipants().forEach(meetupParticipator -> { - Long userId = meetupParticipator.getParticipator().getUserReference().getId(); - userService.retrieveUserForId(userId) - .thenCompose(user -> messageService.sendMessageToSendToUser(user, messageToSend)) - .thenAccept(message -> log.info("Notified user {} about cancellation of meetup {} in server {}.", userId, meetupId, serverId)); - }); + meetup + .getParticipants() + .stream() + .filter(meetupParticipator -> + meetupParticipator.getDecision().equals(MeetupDecision.MAYBE) || + meetupParticipator.getDecision().equals(MeetupDecision.YES)) + .forEach(meetupParticipator -> { + Long userId = meetupParticipator.getParticipator().getUserReference().getId(); + userService.retrieveUserForId(userId) + .thenCompose(user -> messageService.sendMessageToSendToUser(user, messageToSend)) + .thenAccept(message -> log.info("Notified user {} about cancellation of meetup {} in server {}.", userId, meetupId, serverId)); + }); } @Transactional @@ -209,11 +215,11 @@ public class MeetupServiceBean { meetupParticipator.getDecision().equals(MeetupDecision.MAYBE) || meetupParticipator.getDecision().equals(MeetupDecision.YES)) .forEach(meetupParticipator -> { - Long userId = meetupParticipator.getParticipator().getUserReference().getId(); - userService.retrieveUserForId(userId) - .thenCompose(user -> messageService.sendMessageToSendToUser(user, messageToSend)) - .thenAccept(message -> log.info("Notified user {} about incoming meetup {} in server {}.", userId, meetupId, serverId)); - }); + Long userId = meetupParticipator.getParticipator().getUserReference().getId(); + userService.retrieveUserForId(userId) + .thenCompose(user -> messageService.sendMessageToSendToUser(user, messageToSend)) + .thenAccept(message -> log.info("Notified user {} about incoming meetup {} in server {}.", userId, meetupId, serverId)); + }); } @Transactional diff --git a/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/en_US/general/meetup_display_embed_en_US.ftl b/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/en_US/general/meetup_display_embed_en_US.ftl index bf583e82..04c8ac9c 100644 --- a/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/en_US/general/meetup_display_embed_en_US.ftl +++ b/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/en_US/general/meetup_display_embed_en_US.ftl @@ -11,9 +11,9 @@ <#assign time><@format_instant_date_time instant=meetupTime/> <#assign timeRelative><@format_instant_relative instant=meetupTime/> <#assign descriptionText>${description?json_string} - <#assign participantsText><#list participants as member>${member.memberMention}<#else><#include "meetup_message_no_member"> - <#assign maybeParticipantsText><#list maybeParticipants as member>${member.memberMention}<#else><#include "meetup_message_no_member"> - <#assign declinedParticipantsText><#list declinedParticipants as member>${member.memberMention}<#else><#include "meetup_message_no_member"> + <#assign participantsText> (${participants?size}) <#list participants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> + <#assign maybeParticipantsText> (${maybeParticipants?size}) <#list maybeParticipants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> + <#assign declinedParticipantsText> (${declinedParticipants?size}) <#list declinedParticipants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> "description": "<#if cancelled>~~<#include "meetup_display_description"><#if cancelled>~~" } ],