Show 'From' / 'Reply To' if set for notification

Previously when a service had multiple "reply to" entries setup for
email or SMS, we would show the one that was selected on all screens
[1][2] except the final one, where the notification is actually sent.
This fixes that, with the caveat that it will also show for services
with only one "reply to" entry (see notes below) - we will look at
making this consistent on the previous screens in the next commit.

Here's a bit more detail on how this works:

- If a service has multiple "reply to" entries, the journey to send a
  one-off message starts with a screen to select the "sender_id", which
  is otherwise "None" [3].

- The "sender_id" is subsequently resolved to an actual email / phone
  number by calling an API [4] and plucking it out of the response JSON.

- The email / phone number then get rendered as part of the preview
  template [5][6].

- Unfortunately the "sender_id" is removed from the session by the time
  we get to the "view_notification" view [7].

- However, we can get back the equivalent text from the notification
  JSON, which is set by the API when the notification is created [8],
  give or take a bit of validation code [9][10].

- But the "reply_to_text" field is also set by the API when the service
  only has one "reply to" entry, so it will show then as well.

We could add look at the number of "reply to" entries for the service,
in order to consistently only show it when there is more the one. But
it seems more useful to show it on previous screens, since it provides
more information than is currently show (esp. for emails).

[1]: 93226ec5d6/app/main/views/send.py (L441-L442)
[2]: 93226ec5d6/app/main/views/send.py (L966-L967)
[3]: 93226ec5d6/app/main/views/send.py (L247)
[4]: 93226ec5d6/app/main/views/send.py (L1071-L1082)
[5]: 93226ec5d6/app/templates/views/notifications/notification.html (L80)
[6]: https://github.com/alphagov/notifications-utils/blob/master/notifications_utils/jinja_templates/sms_preview_template.jinja2
[7]: 93226ec5d6/app/main/views/send.py (L1059)
[8]: f8b4c9151c/app/service/send_notification.py (L87-L93)
[9]: f8b4c9151c/app/models.py (L653)
[10]: https://github.com/alphagov/notifications-utils/blob/master/notifications_utils/recipients.py#L482
This commit is contained in:
Ben Thorner
2021-02-08 16:38:50 +00:00
parent 2bedcd79cc
commit 933d5bf68e
3 changed files with 24 additions and 1 deletions

View File

@@ -95,6 +95,8 @@ def view_notification(service_id, notification_id):
page_count=page_count,
show_recipient=True,
redact_missing_personalisation=True,
sms_sender=notification['reply_to_text'],
email_reply_to=notification['reply_to_text'],
)
template.values = personalisation
if notification['job']: