Skip to content

Commit 320a4aa

Browse files
authored
Add proposal scheduled email template (#4352)
1 parent db46901 commit 320a4aa

File tree

5 files changed

+34
-7
lines changed

5 files changed

+34
-7
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by Django 5.1.4 on 2025-02-08 21:28
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('notifications', '0020_alter_emailtemplate_identifier'),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name='emailtemplate',
15+
name='identifier',
16+
field=models.CharField(choices=[('proposal_accepted', 'Proposal accepted'), ('proposal_scheduled', 'Proposal scheduled'), ('proposal_rejected', 'Proposal rejected'), ('proposal_in_waiting_list', 'Proposal in waiting list'), ('proposal_scheduled_time_changed', 'Proposal scheduled time changed'), ('proposal_received_confirmation', 'Proposal received confirmation'), ('speaker_communication', 'Speaker communication'), ('voucher_code', 'Voucher code'), ('reset_password', '[System] Reset password'), ('grant_application_confirmation', 'Grant application confirmation'), ('grant_approved', 'Grant approved'), ('grant_rejected', 'Grant rejected'), ('grant_waiting_list', 'Grant waiting list'), ('grant_waiting_list_update', 'Grant waiting list update'), ('grant_voucher_code', 'Grant voucher code'), ('sponsorship_brochure', 'Sponsorship brochure'), ('visa_invitation_letter_download', 'Visa invitation letter download'), ('custom', 'Custom')], max_length=200, verbose_name='identifier'),
17+
),
18+
]

backend/notifications/models.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
class EmailTemplateIdentifier(models.TextChoices):
1616
proposal_accepted = "proposal_accepted", _("Proposal accepted")
17+
proposal_scheduled = "proposal_scheduled", _("Proposal scheduled")
1718
proposal_rejected = "proposal_rejected", _("Proposal rejected")
1819
proposal_in_waiting_list = (
1920
"proposal_in_waiting_list",
@@ -66,6 +67,14 @@ class EmailTemplate(TimeStampedModel):
6667
"speaker_name",
6768
"is_reminder",
6869
],
70+
EmailTemplateIdentifier.proposal_scheduled: [
71+
*BASE_PLACEHOLDERS,
72+
"conference_name",
73+
"proposal_title",
74+
"invitation_url",
75+
"speaker_name",
76+
"is_reminder",
77+
],
6978
EmailTemplateIdentifier.voucher_code: [
7079
*BASE_PLACEHOLDERS,
7180
"voucher_code",

backend/schedule/tasks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def send_schedule_invitation_email(*, schedule_item_id, is_reminder):
4747
conference_name = conference.name.localize("en")
4848

4949
email_template = EmailTemplate.objects.for_conference(conference).get_by_identifier(
50-
EmailTemplateIdentifier.proposal_accepted
50+
EmailTemplateIdentifier.proposal_scheduled
5151
)
5252

5353
email_template.send_email(

backend/schedule/tests/test_tasks.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ def test_send_schedule_invitation_email():
5757

5858
EmailTemplateFactory(
5959
conference=schedule_item.conference,
60-
identifier=EmailTemplateIdentifier.proposal_accepted,
60+
identifier=EmailTemplateIdentifier.proposal_scheduled,
6161
)
62-
EmailTemplateFactory(identifier=EmailTemplateIdentifier.proposal_accepted)
62+
EmailTemplateFactory(identifier=EmailTemplateIdentifier.proposal_scheduled)
6363

6464
with patch("schedule.tasks.EmailTemplate") as mock_email_template:
6565
send_schedule_invitation_email(
@@ -71,7 +71,7 @@ def test_send_schedule_invitation_email():
7171
schedule_item.conference
7272
)
7373
mock_email_template.objects.for_conference().get_by_identifier.assert_called_once_with(
74-
EmailTemplateIdentifier.proposal_accepted
74+
EmailTemplateIdentifier.proposal_scheduled
7575
)
7676

7777
mock_email_template.objects.for_conference().get_by_identifier().send_email.assert_called_once_with(
@@ -107,9 +107,9 @@ def test_send_schedule_invitation_email_reminder():
107107

108108
EmailTemplateFactory(
109109
conference=schedule_item.conference,
110-
identifier=EmailTemplateIdentifier.proposal_accepted,
110+
identifier=EmailTemplateIdentifier.proposal_scheduled,
111111
)
112-
EmailTemplateFactory(identifier=EmailTemplateIdentifier.proposal_accepted)
112+
EmailTemplateFactory(identifier=EmailTemplateIdentifier.proposal_scheduled)
113113

114114
with patch("schedule.tasks.EmailTemplate.send_email") as email_mock:
115115
send_schedule_invitation_email(

backend/submissions/tests/test_tasks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def test_send_proposal_rejected_email():
5555

5656
EmailTemplateFactory(
5757
conference=submission.conference,
58-
identifier=EmailTemplateIdentifier.proposal_accepted,
58+
identifier=EmailTemplateIdentifier.proposal_scheduled,
5959
)
6060

6161
with patch("submissions.tasks.EmailTemplate") as mock_email_template:

0 commit comments

Comments
 (0)