From 46979fb6f3b1752e47c0c0bf6984e34939265051 Mon Sep 17 00:00:00 2001 From: Tan Yi Guan Date: Sat, 23 Jul 2022 17:13:02 +0800 Subject: [PATCH] [#11755] 'Session closing soon' email: highlight 'No action is required if you have already submitted' (#11897) --- .../java/teammates/common/util/Templates.java | 2 + .../teammates/logic/api/EmailGenerator.java | 28 +++---- .../userEmailTemplate-feedbackSession.html | 2 +- ...rEmailTemplate-feedbackSessionOpening.html | 73 +++++++++++++++++++ .../logic/api/EmailGeneratorTest.java | 1 - .../sessionClosingEmailCopyToInstructor.html | 3 +- .../sessionClosingEmailForInstructor.html | 3 +- ...losingEmailForInstructorWithExtension.html | 3 +- .../emails/sessionClosingEmailForStudent.html | 3 +- ...onClosingEmailForStudentWithExtension.html | 3 +- ...ilTestingSanitizationCopyToInstructor.html | 3 +- ...ingEmailTestingSanitizationForStudent.html | 3 +- .../sessionReminderEmailCopyToInstructor.html | 3 +- .../sessionReminderEmailForInstructor.html | 3 +- .../sessionReminderEmailForStudent.html | 3 +- 15 files changed, 101 insertions(+), 35 deletions(-) create mode 100644 src/main/resources/userEmailTemplate-feedbackSessionOpening.html diff --git a/src/main/java/teammates/common/util/Templates.java b/src/main/java/teammates/common/util/Templates.java index 6f7ba60fad1..7f7defd68c1 100644 --- a/src/main/java/teammates/common/util/Templates.java +++ b/src/main/java/teammates/common/util/Templates.java @@ -52,6 +52,8 @@ public static class EmailTemplates { FileHelper.readResourceFile("instructorEmailFragment-registrationKeyReset.html"); public static final String USER_FEEDBACK_SESSION = FileHelper.readResourceFile("userEmailTemplate-feedbackSession.html"); + public static final String USER_FEEDBACK_SESSION_OPENING = + FileHelper.readResourceFile("userEmailTemplate-feedbackSessionOpening.html"); public static final String USER_FEEDBACK_SESSION_PUBLISHED = FileHelper.readResourceFile("userEmailTemplate-feedbackSessionPublished.html"); public static final String FRAGMENT_SESSION_LINKS_RECOVERY_ACCESS_LINKS_BY_SESSION = diff --git a/src/main/java/teammates/logic/api/EmailGenerator.java b/src/main/java/teammates/logic/api/EmailGenerator.java index 28c5fc01e92..f7ff2a7b3a5 100644 --- a/src/main/java/teammates/logic/api/EmailGenerator.java +++ b/src/main/java/teammates/logic/api/EmailGenerator.java @@ -37,19 +37,22 @@ * @see EmailWrapper */ public final class EmailGenerator { + // feedback action strings + private static final String FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW = "submit, edit or view"; + private static final String FEEDBACK_ACTION_VIEW = "view"; + private static final String FEEDBACK_ACTION_SUBMIT_OR_UPDATE = + ", in case you have not submitted yet or wish to update your submission. "; + private static final String HTML_NO_ACTION_REQUIRED = "No action is required if you have already submitted"; + // status-related strings - private static final String FEEDBACK_STATUS_SESSION_OPEN = "is still open for submissions"; + private static final String FEEDBACK_STATUS_SESSION_OPEN = "is still open for submissions" + + FEEDBACK_ACTION_SUBMIT_OR_UPDATE + HTML_NO_ACTION_REQUIRED; private static final String FEEDBACK_STATUS_SESSION_OPENING = "is now open"; - private static final String FEEDBACK_STATUS_SESSION_CLOSING = "is closing soon"; + private static final String FEEDBACK_STATUS_SESSION_CLOSING = "is closing soon" + + FEEDBACK_ACTION_SUBMIT_OR_UPDATE + HTML_NO_ACTION_REQUIRED; private static final String FEEDBACK_STATUS_SESSION_CLOSED = "is now closed for submission"; private static final String FEEDBACK_STATUS_SESSION_OPENING_SOON = "is due to open soon"; - // feedback action strings - private static final String FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW = "submit, edit or view"; - private static final String FEEDBACK_ACTION_VIEW = "view"; - private static final String HTML_NO_ACTION_REQUIRED = - "

No action is required if you have already submitted.

" + System.lineSeparator(); - private static final String DATETIME_DISPLAY_FORMAT = "EEE, dd MMM yyyy, hh:mm a z"; private static final long SESSION_LINK_RECOVERY_DURATION_IN_DAYS = 90; @@ -107,7 +110,10 @@ private List generateFeedbackSessionOpeningOrClosingEmails( ? FEEDBACK_STATUS_SESSION_OPENING : FEEDBACK_STATUS_SESSION_CLOSING; - String template = EmailTemplates.USER_FEEDBACK_SESSION.replace("${status}", status); + String template = emailType == EmailType.FEEDBACK_OPENING + ? EmailTemplates.USER_FEEDBACK_SESSION_OPENING.replace("${status}", status) + : EmailTemplates.USER_FEEDBACK_SESSION.replace("${status}", status); + return generateFeedbackSessionEmailBases(course, session, students, instructors, instructorsToNotify, template, emailType, FEEDBACK_ACTION_SUBMIT_EDIT_OR_VIEW); } @@ -695,10 +701,6 @@ private List generateFeedbackSessionEmailBases( EmailType type, String feedbackAction) { StringBuilder studentAdditionalContactBuilder = new StringBuilder(); StringBuilder instructorAdditionalContactBuilder = new StringBuilder(); - if (type == EmailType.FEEDBACK_CLOSING || type == EmailType.FEEDBACK_SESSION_REMINDER) { - studentAdditionalContactBuilder.append(HTML_NO_ACTION_REQUIRED); - instructorAdditionalContactBuilder.append(HTML_NO_ACTION_REQUIRED); - } studentAdditionalContactBuilder.append(getAdditionalContactInformationFragment(course, false)); instructorAdditionalContactBuilder.append(getAdditionalContactInformationFragment(course, true)); diff --git a/src/main/resources/userEmailTemplate-feedbackSession.html b/src/main/resources/userEmailTemplate-feedbackSession.html index b1d01c7a1d9..b4383a3c4f0 100644 --- a/src/main/resources/userEmailTemplate-feedbackSession.html +++ b/src/main/resources/userEmailTemplate-feedbackSession.html @@ -3,7 +3,7 @@ ${instructorPreamble}

- The following feedback session ${status}. + Just a gentle reminder that the following feedback session ${status}.

diff --git a/src/main/resources/userEmailTemplate-feedbackSessionOpening.html b/src/main/resources/userEmailTemplate-feedbackSessionOpening.html new file mode 100644 index 00000000000..b1d01c7a1d9 --- /dev/null +++ b/src/main/resources/userEmailTemplate-feedbackSessionOpening.html @@ -0,0 +1,73 @@ +

Hello ${userName},

+ +${instructorPreamble} + +

+ The following feedback session ${status}. +

+
+ + + + + + + + + + + + + + + + + + + +
+ + Course: + + + [${courseId}] ${courseName} +
+ + Feedback Session Name: + + + ${feedbackSessionName} +
+ + Deadline: + + + ${deadline} +
+ + Session Instructions: + + + ${sessionInstructions} +
+
+
    +
  • + To ${feedbackAction} your feedback for the above session, please go to this Web address: + ${submitUrl} +
  • +
  • + The above link is unique to you. Please do not share it with others. +
  • +
  • + After submitting, you are encouraged to download the proof of submission, which will contain your latest responses. +
  • +
+

+ +${additionalContactInformation} + +

+ Regards, +
TEAMMATES Team. +

diff --git a/src/test/java/teammates/logic/api/EmailGeneratorTest.java b/src/test/java/teammates/logic/api/EmailGeneratorTest.java index 496b1b9fe94..971f59c6b01 100644 --- a/src/test/java/teammates/logic/api/EmailGeneratorTest.java +++ b/src/test/java/teammates/logic/api/EmailGeneratorTest.java @@ -767,5 +767,4 @@ private void verifyEmailReceivedCorrectly( } assertTrue(hasReceivedEmailCorrectly); } - } diff --git a/src/test/resources/emails/sessionClosingEmailCopyToInstructor.html b/src/test/resources/emails/sessionClosingEmailCopyToInstructor.html index 0ec60f2e281..28e230525fe 100644 --- a/src/test/resources/emails/sessionClosingEmailCopyToInstructor.html +++ b/src/test/resources/emails/sessionClosingEmailCopyToInstructor.html @@ -7,7 +7,7 @@

- The following feedback session is closing soon. + Just a gentle reminder that the following feedback session is closing soon, in case you have not submitted yet or wish to update your submission. No action is required if you have already submitted.

@@ -69,7 +69,6 @@

-

No action is required if you have already submitted.

  • diff --git a/src/test/resources/emails/sessionClosingEmailForInstructor.html b/src/test/resources/emails/sessionClosingEmailForInstructor.html index f41fd87eb39..435d5489116 100644 --- a/src/test/resources/emails/sessionClosingEmailForInstructor.html +++ b/src/test/resources/emails/sessionClosingEmailForInstructor.html @@ -3,7 +3,7 @@

    - The following feedback session is closing soon. + Just a gentle reminder that the following feedback session is closing soon, in case you have not submitted yet or wish to update your submission. No action is required if you have already submitted.

@@ -65,7 +65,6 @@

-

No action is required if you have already submitted.

  • diff --git a/src/test/resources/emails/sessionClosingEmailForInstructorWithExtension.html b/src/test/resources/emails/sessionClosingEmailForInstructorWithExtension.html index 9d2c7ba140c..d570a669306 100644 --- a/src/test/resources/emails/sessionClosingEmailForInstructorWithExtension.html +++ b/src/test/resources/emails/sessionClosingEmailForInstructorWithExtension.html @@ -3,7 +3,7 @@

    - The following feedback session is closing soon. + Just a gentle reminder that the following feedback session is closing soon, in case you have not submitted yet or wish to update your submission. No action is required if you have already submitted.

@@ -65,7 +65,6 @@

-

No action is required if you have already submitted.

  • diff --git a/src/test/resources/emails/sessionClosingEmailForStudent.html b/src/test/resources/emails/sessionClosingEmailForStudent.html index 7ad53fb51bd..72e88042bab 100644 --- a/src/test/resources/emails/sessionClosingEmailForStudent.html +++ b/src/test/resources/emails/sessionClosingEmailForStudent.html @@ -3,7 +3,7 @@

    - The following feedback session is closing soon. + Just a gentle reminder that the following feedback session is closing soon, in case you have not submitted yet or wish to update your submission. No action is required if you have already submitted.

@@ -65,7 +65,6 @@

-

No action is required if you have already submitted.

  • diff --git a/src/test/resources/emails/sessionClosingEmailForStudentWithExtension.html b/src/test/resources/emails/sessionClosingEmailForStudentWithExtension.html index 29384785804..a2109f2af0f 100644 --- a/src/test/resources/emails/sessionClosingEmailForStudentWithExtension.html +++ b/src/test/resources/emails/sessionClosingEmailForStudentWithExtension.html @@ -3,7 +3,7 @@

    - The following feedback session is closing soon. + Just a gentle reminder that the following feedback session is closing soon, in case you have not submitted yet or wish to update your submission. No action is required if you have already submitted.

@@ -65,7 +65,6 @@

-

No action is required if you have already submitted.

  • diff --git a/src/test/resources/emails/sessionClosingEmailTestingSanitizationCopyToInstructor.html b/src/test/resources/emails/sessionClosingEmailTestingSanitizationCopyToInstructor.html index 4b8fbdc935e..93225e513b0 100644 --- a/src/test/resources/emails/sessionClosingEmailTestingSanitizationCopyToInstructor.html +++ b/src/test/resources/emails/sessionClosingEmailTestingSanitizationCopyToInstructor.html @@ -7,7 +7,7 @@

    - The following feedback session is closing soon. + Just a gentle reminder that the following feedback session is closing soon, in case you have not submitted yet or wish to update your submission. No action is required if you have already submitted.

@@ -69,7 +69,6 @@

-

No action is required if you have already submitted.

  • diff --git a/src/test/resources/emails/sessionClosingEmailTestingSanitizationForStudent.html b/src/test/resources/emails/sessionClosingEmailTestingSanitizationForStudent.html index 2d3baa40f43..2b1aad4d7a3 100644 --- a/src/test/resources/emails/sessionClosingEmailTestingSanitizationForStudent.html +++ b/src/test/resources/emails/sessionClosingEmailTestingSanitizationForStudent.html @@ -3,7 +3,7 @@

    - The following feedback session is closing soon. + Just a gentle reminder that the following feedback session is closing soon, in case you have not submitted yet or wish to update your submission. No action is required if you have already submitted.

@@ -65,7 +65,6 @@

-

No action is required if you have already submitted.

  • diff --git a/src/test/resources/emails/sessionReminderEmailCopyToInstructor.html b/src/test/resources/emails/sessionReminderEmailCopyToInstructor.html index 4f0c8fc4f2f..0ebbf71fa27 100644 --- a/src/test/resources/emails/sessionReminderEmailCopyToInstructor.html +++ b/src/test/resources/emails/sessionReminderEmailCopyToInstructor.html @@ -7,7 +7,7 @@

    - The following feedback session is still open for submissions. + Just a gentle reminder that the following feedback session is still open for submissions, in case you have not submitted yet or wish to update your submission. No action is required if you have already submitted.

@@ -69,7 +69,6 @@

-

No action is required if you have already submitted.

  • diff --git a/src/test/resources/emails/sessionReminderEmailForInstructor.html b/src/test/resources/emails/sessionReminderEmailForInstructor.html index 107c4ac280e..0f6621459e2 100644 --- a/src/test/resources/emails/sessionReminderEmailForInstructor.html +++ b/src/test/resources/emails/sessionReminderEmailForInstructor.html @@ -3,7 +3,7 @@

    - The following feedback session is still open for submissions. + Just a gentle reminder that the following feedback session is still open for submissions, in case you have not submitted yet or wish to update your submission. No action is required if you have already submitted.

@@ -65,7 +65,6 @@

-

No action is required if you have already submitted.

  • diff --git a/src/test/resources/emails/sessionReminderEmailForStudent.html b/src/test/resources/emails/sessionReminderEmailForStudent.html index 042746c11ad..ef93ba13779 100644 --- a/src/test/resources/emails/sessionReminderEmailForStudent.html +++ b/src/test/resources/emails/sessionReminderEmailForStudent.html @@ -3,7 +3,7 @@

    - The following feedback session is still open for submissions. + Just a gentle reminder that the following feedback session is still open for submissions, in case you have not submitted yet or wish to update your submission. No action is required if you have already submitted.

@@ -65,7 +65,6 @@

-

No action is required if you have already submitted.