Commit Graph

9589 Commits

Author SHA1 Message Date
David McDonald
b2a75af8bb Merge pull request #3367 from alphagov/validate-postcodes-for-csvs
Pull in version of utils that validates postcodes for CSVs
2020-03-18 14:10:24 +00:00
David McDonald
39fe27be39 Pull in version of utils that validates postcodes for CSVs
This will mean that a user can not send a CSV for letters with invalid
postcodes and must fix their data.

See https://github.com/alphagov/notifications-utils/pull/704
2020-03-18 12:02:31 +00:00
Chris Hill-Scott
e66f189b88 Merge pull request #3375 from alphagov/ship-contact-lists
Ship the contact lists feature
2020-03-17 12:56:37 +00:00
Chris Hill-Scott
3dfa401de1 Ship the contact lists feature
This reveals the links that we were only showing to platform admin users
so that everyone can discover the new feature.
2020-03-17 10:22:22 +00:00
Chris Hill-Scott
fc58547be3 Tell the API which contact list a job’s come from
So that we can make enhancements to the UI in the future, for example
grouping jobs within their associated contact list.
2020-03-16 17:56:55 +00:00
Chris Hill-Scott
585fdd9076 Use the correct name for the contact list bucket
Everything else is production. The bucket is currently called
production. The fact that the CSV bucket is called `live-` is a legacy
thing that’s hard to change.
2020-03-16 17:56:55 +00:00
Chris Hill-Scott
b5d279e890 Redirect to uploads after save contact list
The saved uploads page just shows you the same thing you’ve seen on the
previous page – a list of email addresses.

It’s more useful to see the uploads page, so you can see where the thing
you’ve saved has gone. You can see it more in context.
2020-03-16 17:56:20 +00:00
Chris Hill-Scott
cb555a4cbe Merge pull request #3366 from alphagov/upload-contact-list
Let teams upload an emergency contact list for later use
2020-03-16 14:49:15 +00:00
Chris Hill-Scott
341b9009f3 Harmonise the typography when listing uploads
24px with 19px is what we use on the uploads page. On notifications page
we use 19px with 16px.

There’s some loose idea that the bigger size is for items that contain
other items.

This also increases the line height for recipients of PDF letters to
make things line up.
2020-03-16 14:14:29 +00:00
Chris Hill-Scott
00f953de6d Give Flask bytes to send, not string
For some reason this passed the tests, but didn’t work running locally.
2020-03-16 13:48:44 +00:00
Chris Hill-Scott
76319d947a Merge pull request #3373 from alphagov/remove-jobs-from-dashboard
Remove jobs from the dashboard
2020-03-16 13:17:06 +00:00
Chris Hill-Scott
f563c4a181 Update content based on KC’s suggestions 2020-03-16 13:09:40 +00:00
Chris Hill-Scott
93f862621c Pass original file name when sending contact list
Otherwise the new file doesn’t get a name, which is very confusing.
2020-03-16 13:09:32 +00:00
Chris Hill-Scott
b99216173e Sort contact lists appropriately
On the uploads page this should be newest first, same as the scheduled
and immediate jobs on this page.

On the _choose_ page this should be alphabetical, same as choosing a
template.
2020-03-16 13:09:23 +00:00
Chris Hill-Scott
050f98fea6 Show contact lists on the uploads page
Uploads page is where all the stuff you’ve uploaded lives. Now you can
upload contact lists they should live here too.

They always come first because they’re the most-removed from stuff
you’ve sent.
2020-03-16 13:09:16 +00:00
Chris Hill-Scott
8ba75cf6ba Warn users trying to use a personalised template
Since contact lists only store the email address or phone number, this
won’t work. So we should warn people, and highlight that the
personalisation in the template is the problem, since this is what they
will need to change.
2020-03-16 13:09:09 +00:00
Chris Hill-Scott
31d2fd9b58 Only show the link to use list if service has lists
Most services won’t be interested in the contact list feature, so we
shouldn’t clutter up the interface with the extra link.
2020-03-16 13:09:01 +00:00
Chris Hill-Scott
6c2021aeb2 Only show contact lists relevant to template
You can’t send an email message template to a list of phone numbers. So
we shouldn’t show you the lists of phone numbers when you’ve chosen an
email template.
2020-03-16 13:08:53 +00:00
Chris Hill-Scott
b598af1eca Add an endpoint to download a contact list
In case you need to download it, modify it, and re-upload it when you
don’t have access to the existing list.
2020-03-16 13:08:46 +00:00
Chris Hill-Scott
ec2f36d054 Let platform admin users use a contact list
Platform admin users now have a link to upload a contact list. This
commit gives them access to the page where they can use this.

Once this commit is merged we have a way of testing the whole flow end
to end, without giving it to all users yet.
2020-03-16 13:08:38 +00:00
Chris Hill-Scott
f76a9e787a Move skip links underneath the text box
If we add another link under it will look weird having two under and
one off to the side. It looked sort of balanced when it was just one
off to the side and one under.

Having all the links under the box makes it less visually noisy.
2020-03-16 13:08:27 +00:00
Chris Hill-Scott
b22ea172b9 Add button to uploads page
We need a place where people can get into the contact list journey. This
is going to be the uploads page, because that’s where stuff you upload
lives.

At the moment this is platform-admin only, until we’re ready to launch
the feature.
2020-03-16 13:08:16 +00:00
Chris Hill-Scott
e24083ce9d Add a page to choose a contact list
You’ll be able to use a contact list by first choosing a template, then
choosing the list you want to use.

At the moment this shows all lists, not just the ones that are
compatible with your template.
2020-03-16 13:08:07 +00:00
Chris Hill-Scott
aa85870ee1 Add a page to view a single contact list 2020-03-16 13:08:00 +00:00
Chris Hill-Scott
f15b9b8d38 Rename URL for consistency
We say `…/upload-letter` not `…/upload-a-letter`
2020-03-16 13:07:53 +00:00
Chris Hill-Scott
460b779d11 Add endpoint to redirect from contact list to send
In order to use a contact list we’re going to put you in the normal
upload a spreadsheet journey. Except without having to upload again.

So this commit adds an endpoint that takes the file from the contact
list bucket, puts it in the same place it would have gone if you’d
uploaded it, then sends you on your way.
2020-03-16 13:07:46 +00:00
Chris Hill-Scott
03f2368deb Use the correct bucket for storing contact lists
We don’t want to muddy them up with the normal CSV uploads.

I’ve tried to reuse the existing S3 code where possible because it’s
well tested.

Buckets have already been created.
2020-03-16 13:07:39 +00:00
Chris Hill-Scott
1c02476ee7 Let users upload a contact list to use later
We increasingly have teams wanting to do business-continuity type
messaging. They might be without access to their normal systems, which
is where they would otherwise go to get the list of email addresses or
phone numbers.

So we want to give them a place in Notify where they can store their
spreadsheets and use them at a later date.

For the initial pass we’re going to scope this to only allowing
spreadsheets with one column, ie just phone numbers/email addresses.
This is because:
- it minimises the amount of personal info we’re storing
- it reduces the chance of getting a placeholder error when you go to
  send the message, which is probably a high-stress situation where you
  might not be able to re-generate the file

The code for this is mostly copied from the existing upload CSV journey.
It’s quite duplicative, but that’s what I needed to do to get this out
quickly. There are opportunities for refactoring later.

Similarly, I would have liked to split this up into better commit
messages, but it really was a case of just bashing code out until it
worked 😳

This commit does not:
- implement the ‘view a contact list page’ (it just has a placeholder
  because the API isn’t ready at the moment)
- link to this page (because it’s not ready to use yet)
2020-03-16 13:07:28 +00:00
Chris Hill-Scott
c7a56c8bdf Remove jobs from the dashboard
We’ve done this already for services with the upload letters permission.
And all services can upload letters now.

But we’re still returning it in the JSON response we use to AJAX-ify the
page.

Since the jobs response can query stats for up to 50 jobs at a time this
puts some load on the API/database. Hopefully this might drop that load
a bit.
2020-03-16 12:12:12 +00:00
David McDonald
6c3bdff13c Merge pull request #3372 from alphagov/increase-ajax
Increase all ajax calls to 5 seconds
2020-03-16 10:54:25 +00:00
David McDonald
5b818dcd68 Increase all ajax calls to 5 seconds
The default is 2 seconds and this will mean that we are halving traffic
for these ajax calls which can only be good for trying to limit queries
on the database.

I think the user impact on this will likely not be noticable.

Debatable whether we should up them all even further to 10 seconds but
this is definitely a quick although maybe small win.
2020-03-16 10:41:41 +00:00
Leo Hemsted
206dc87426 Merge pull request #3370 from alphagov/remove-unused-templates
Remove unused templates
2020-03-13 15:07:19 +00:00
Leo Hemsted
669a6ce95a Merge pull request #3365 from alphagov/typo
link_to_file, not link_to_document
2020-03-13 14:59:39 +00:00
Tom Byers
fd4b5e0d1f Remove separate page for adding a folder
The route for this was removed in: 8512e26d6f (diff-f0af582449ebf426f27f37e38f310057)
2020-03-13 14:56:12 +00:00
Tom Byers
6b291729b7 Remove separate page for adding a template
The route for this was removed in 7d7b790dc1 (diff-f0af582449ebf426f27f37e38f310057)
2020-03-13 14:54:49 +00:00
Leo Hemsted
f7992b3b98 link_to_file, not link_to_document 2020-03-12 13:27:48 +00:00
Chris Hill-Scott
9c24323bdd Merge pull request #3364 from alphagov/quis-patch-1
Show uploads link even without letters permission
2020-03-12 11:09:29 +00:00
Chris Hill-Scott
f2c0765c02 Give everyone who can see dashboard the upload nav 2020-03-12 10:37:59 +00:00
Chris Hill-Scott
64dbae179f Merge pull request #3343 from alphagov/show-letter-upload-guidance
Show guidance on how to upload a letter
2020-03-11 17:35:32 +00:00
David McDonald
577091cec7 Merge pull request #3363 from alphagov/remove-user-from-service-event
Add event for remove_user_from_service
2020-03-10 15:49:37 +00:00
David McDonald
c248fee772 Add event for remove_user_from_service
Follows our existing patterns of events for managing users
2020-03-10 13:52:39 +00:00
Rebecca Law
6bd69be5d8 Merge pull request #3362 from alphagov/fix-message-too-long-error
Fix the error message for message-too-long
2020-03-10 13:07:13 +00:00
Katie Smith
227b940800 Merge pull request #3360 from alphagov/international-letters-permission
International letters permission
2020-03-10 13:06:44 +00:00
Rebecca Law
040da762ed Fix the error message for message-too=long
There was a bug that displayed the error message with 2 red error boxes around the error message.
Also need another else to handle a new error message from the API, the old one can be removed after the API is deployed. But this can go first. I tested this branch with API master and the API branch with the change. I tested one off SMS and a CSV upload.
2020-03-10 09:29:38 +00:00
Leo Hemsted
81e4902afb Merge pull request #3361 from alphagov/revert-3357-flask-login
Revert "upgrade flask_login to 0.5.0"
2020-03-09 17:03:48 +00:00
Leo Hemsted
5535db273c Revert "upgrade flask_login to 0.5.0" 2020-03-09 16:48:27 +00:00
Leo Hemsted
2862cd1d30 Merge pull request #3357 from alphagov/flask-login
upgrade flask_login to 0.5.0
2020-03-09 16:07:47 +00:00
Katie Smith
99fd317087 Update letter pricing
The pricing page had the correct data, but there were a few pages where
the minimum and maximum price were out of date.
2020-03-09 16:05:23 +00:00
Katie Smith
4a832cfebb Fix tests relating to buttons on uploads and service settings pages
Some of the tests for buttons on the uploads page were not testing that
the right button was present / absent. There are hidden cookie buttons
in the HTML which means that we were sometimes finding one of these on
the page instead of the intended button.

On the service settings page, we changed the service setting buttons to
links some time ago, so tests that the buttons weren't on the page were
always passing.
2020-03-09 15:29:48 +00:00
Katie Smith
8c30dbfb69 Add international_letters permission to settings page
This is a permission that can only be toggled by Platform Admin and
which requires the `letter` permission in order to be turned on.
2020-03-09 14:17:20 +00:00