From 120d30049aef068aa5ee9e64bb1eb85352897f15 Mon Sep 17 00:00:00 2001 From: Sheldan <5037282+Sheldan@users.noreply.github.com> Date: Sat, 25 Dec 2021 16:30:25 +0100 Subject: [PATCH] [AB-347] adding multiple and generic attachment support to modmail templates fixing modmail notification template --- ...dmail_notification_message_embed_en_US.ftl | 2 +- .../modmail_user_message_embed_en_US.ftl | 25 ++++++++++++++++-- ...dmail_close_logged_message_embed_en_US.ftl | 26 +++++++++++++++++-- .../modmail_staff_message_embed_en_US.ftl | 25 ++++++++++++++++-- ...ail_attachment_embed_description_en_US.ftl | 1 + 5 files changed, 72 insertions(+), 7 deletions(-) create mode 100644 translations/modmail/src/main/resources/en_US/threadContent/modmail_attachment_embed_description_en_US.ftl diff --git a/abstracto-modules/modmail/src/main/resources/en_US/listener/messageReceived/modmail_notification_message_embed_en_US.ftl b/abstracto-modules/modmail/src/main/resources/en_US/listener/messageReceived/modmail_notification_message_embed_en_US.ftl index 6609415e..60082bad 100644 --- a/abstracto-modules/modmail/src/main/resources/en_US/listener/messageReceived/modmail_notification_message_embed_en_US.ftl +++ b/abstracto-modules/modmail/src/main/resources/en_US/listener/messageReceived/modmail_notification_message_embed_en_US.ftl @@ -19,7 +19,7 @@ ], "messageConfig": { "allowsRoleMention": true - }, + } <#if roles?size gt 0> ,"additionalMessage": "<#list roles as role>${role.role.asMention?json_string}<#sep>," diff --git a/abstracto-modules/modmail/src/main/resources/en_US/listener/messageReceived/modmail_user_message_embed_en_US.ftl b/abstracto-modules/modmail/src/main/resources/en_US/listener/messageReceived/modmail_user_message_embed_en_US.ftl index 87784d31..4133dfe1 100644 --- a/abstracto-modules/modmail/src/main/resources/en_US/listener/messageReceived/modmail_user_message_embed_en_US.ftl +++ b/abstracto-modules/modmail/src/main/resources/en_US/listener/messageReceived/modmail_user_message_embed_en_US.ftl @@ -12,10 +12,31 @@ <#else> "description": "<@safe_include "modmail_no_message_provided"/>" - <#if postedMessage.attachments?size gt 0> - ,"imageUrl": "${postedMessage.attachments[0].proxyUrl}" + <#if attachedImageUrls?size gt 0> + ,"imageUrl": "${attachedImageUrls[0]}" + + <#if remainingAttachments?size gt 0> + ,"fields": [ + <#list remainingAttachments?keys as attachment><#assign attachment=attachment/> + { + "name": "${attachment?json_string}", + "value": "[${attachment?json_string}](${remainingAttachments[attachment]?json_string})" + } + <#sep>, + ] } + <#if attachedImageUrls?size gt 1> + <#assign attachmentCount>${attachedImageUrls?size} + ,<#list attachedImageUrls[1..] as attachment><#assign attachment=attachment/> + { + <#include "modmail_color">, + <#assign currentIndex>${attachment?counter + 1} + "description": "<@safe_include "modmail_attachment_embed_description"/>", + "imageUrl": "${attachment}" + } + <#sep>, + ] <#if subscribers?size gt 0> ,"additionalMessage": "<#list subscribers as subscriber>${subscriber.asMention?json_string}<#sep>, " diff --git a/abstracto-modules/modmail/src/main/resources/en_US/modmail/closing/logging/modmail_close_logged_message_embed_en_US.ftl b/abstracto-modules/modmail/src/main/resources/en_US/modmail/closing/logging/modmail_close_logged_message_embed_en_US.ftl index 35189adf..4060cb51 100644 --- a/abstracto-modules/modmail/src/main/resources/en_US/modmail/closing/logging/modmail_close_logged_message_embed_en_US.ftl +++ b/abstracto-modules/modmail/src/main/resources/en_US/modmail/closing/logging/modmail_close_logged_message_embed_en_US.ftl @@ -7,11 +7,33 @@ <#if message.embeds[0].description?has_content> ,"description": "${message.embeds[0].description?json_string}" - <#if message.embeds[0].image?has_content> - ,"imageUrl": "${message.embeds[0].image.proxyUrl}" + <#if message.embeds?size gt 0 && message.embeds[0].image??> + ,"imageUrl": "${message.embeds[0].image.proxyUrl}" + + <#if message.embeds?size gt 0 && message.embeds[0].fields?size gt 0> + ,"fields": [ + <#list message.embeds[0].fields as field><#assign field=field/> + { + "name": "${field.name?json_string}", + "value": "${field.value?json_string}" + } + <#sep>, + ] ,"timeStamp": "${message.timeCreated}" } + <#if message.embeds?size gt 1> + <#assign attachmentCount>${message.embeds?size} + <#list message.embeds[1..] as embed><#assign embed=embed/> + <#if embed.image?? && embed.image.proxyUrl??> + ,{ + <#include "modmail_color">, + <#assign currentIndex>${embed?counter + 1} + "description": "<@safe_include "modmail_attachment_embed_description"/>", + "imageUrl": "${embed.image.proxyUrl}" + } + + ] <#if modMailMessage.anonymous> ,"additionalMessage": "<@safe_include "modmail_anonymous_message_note"/>" diff --git a/abstracto-modules/modmail/src/main/resources/en_US/modmail/modmail_staff_message_embed_en_US.ftl b/abstracto-modules/modmail/src/main/resources/en_US/modmail/modmail_staff_message_embed_en_US.ftl index dcdea307..3331991d 100644 --- a/abstracto-modules/modmail/src/main/resources/en_US/modmail/modmail_staff_message_embed_en_US.ftl +++ b/abstracto-modules/modmail/src/main/resources/en_US/modmail/modmail_staff_message_embed_en_US.ftl @@ -10,9 +10,30 @@ <#if text?has_content> ,"description": "${text?json_string}" - <#if postedMessage.attachments?size gt 0> - ,"imageUrl": "${postedMessage.attachments[0].proxyUrl}" + <#if attachedImageUrls?size gt 0> + ,"imageUrl": "${attachedImageUrls[0]}" + + <#if remainingAttachments?size gt 0> + ,"fields": [ + <#list remainingAttachments?keys as attachment><#assign attachment=attachment/> + { + "name": "${attachment?json_string}", + "value": "[${attachment?json_string}](${remainingAttachments[attachment]?json_string})" + } + <#sep>, + ] } + <#if attachedImageUrls?size gt 1> + <#assign attachmentCount>${attachedImageUrls?size} + ,<#list attachedImageUrls[1..] as attachment><#assign attachment=attachment/> + { + <#include "modmail_color">, + <#assign currentIndex>${attachment?counter + 1} + "description": "<@safe_include "modmail_attachment_embed_description"/>", + "imageUrl": "${attachment}" + } + <#sep>, + ] } \ No newline at end of file diff --git a/translations/modmail/src/main/resources/en_US/threadContent/modmail_attachment_embed_description_en_US.ftl b/translations/modmail/src/main/resources/en_US/threadContent/modmail_attachment_embed_description_en_US.ftl new file mode 100644 index 00000000..c693c033 --- /dev/null +++ b/translations/modmail/src/main/resources/en_US/threadContent/modmail_attachment_embed_description_en_US.ftl @@ -0,0 +1 @@ +Attachment ${currentIndex}/${attachmentCount} \ No newline at end of file