Commit Graph

3513 Commits

Author SHA1 Message Date
Pea Tyczynska
c3b7481e11 Turn on redirects for check_and_resend_text_code
This is part of the work to make sure user is redirected
to the page they initially were meant to visit after
they sign in.
2020-10-09 11:49:48 +01:00
Pea Tyczynska
d089424501 Forgot password sends redirect link
with reset password email.

This is so when users reset their password they are still
redirected to pages they were meant to visit.

This change was done specifically so everyone who is meant to see
broadcast tour sees it, but it will improve lives of all users
who wanted to visit a page on Notify but then had to reset
their password in the process.
2020-10-05 16:58:43 +01:00
Pea Tyczynska
ab10009e4d Redirect link included in links for password reset
on sign-in page.
2020-10-05 15:38:34 +01:00
David McDonald
1b310a0f8a Merge pull request #3663 from alphagov/separate-tour
Move intro to Notify tour into separate views to reduce code complexity
2020-10-05 09:53:33 +01:00
David McDonald
7b82ca5083 Remove deleting of old redis key
At this point we are no longer setting this key, nor are we reading from
it so we are able to delete it.
2020-10-02 15:21:30 +01:00
David McDonald
c1f67514a2 404 for step-0 2020-10-02 14:44:17 +01:00
David McDonald
0e32df4514 Merge pull request #3639 from alphagov/use-new-redis-key
Step 2 of renaming cache keys for templates
2020-10-02 13:58:00 +01:00
David McDonald
1f900e74a9 Fix error case where the tour start page is skipped
This was causing us to key error for 'placeholders' being missing in the
session dictionary. This fixes it and sends you back to the start
2020-10-02 12:46:02 +01:00
David McDonald
ec0af6b151 Redirect user to new tour after creating a service
We leave the existing tour routes available for the moment so we don't
break the flow for anyone whilst this deploys
2020-10-02 12:46:02 +01:00
David McDonald
f0a8c97eeb Add check tour notification page
On submit of form on this page, will continue to normal sending flow
which can be shared code as there is no longer previous context needed
of where they have come from
2020-10-02 12:46:02 +01:00
David McDonald
9347c9a979 Redirect to the new check tour notification page
After the steps have been completed, redirect them to the new check tour
notification page to review their message
2020-10-02 12:46:02 +01:00
David McDonald
c2a691e6d9 Add view for filling in steps of the tour
Note, we choose to start our urls at step-1 rather than step-0 as this
is consistent when you would enter the first placeholder (excluding the
recipient) for the one off tour.

Also note, we expect a service to allow international sms by default
when it is first created but we keep the check for if the service does
just in case they visit this tour later on.
2020-10-02 12:46:02 +01:00
David McDonald
2ba7224a42 Add view for new tour start page
This will replace the current tour start page
2020-10-02 12:46:02 +01:00
Chris Hill-Scott
a98e3534b2 Give email preview page a sensible page title
It’s derived from the subject line of the email now as of
https://github.com/alphagov/notifications-utils/pull/793
2020-09-30 11:29:13 +01:00
Chris Hill-Scott
76f83f7d2a Merge pull request #3652 from alphagov/updated-bristol-boundaries
Update local authority district GeoJSON to bring in fixes for Bristol
2020-09-29 13:32:32 +01:00
Pea M. Tyczynska
f4f2e5d13a Merge pull request #3622 from alphagov/searchbox-make-autofocus-optional
Autofocus off by default on live-search
2020-09-29 10:58:00 +01:00
Leo Hemsted
65e32f8e5a Merge pull request #3650 from alphagov/broadcast-org-always-on
Broadcast org always on
2020-09-28 12:59:19 +01:00
Chris Hill-Scott
8da0aa7736 Format big numbers correctly when numbers too big
Comma should be used as the thousands separator. Code can be simplified
by using macro to pluralise.
2020-09-26 14:50:47 +01:00
Chris Hill-Scott
9afd305c6d Update test to new limit 2020-09-25 18:24:38 +01:00
Leo Hemsted
626b1c4211 enable broadcast org in all environments
This organisation is defined in the config file. It's hard coded to a
UUID as defined in the api db migration 0331_add_broadcast_org.
2020-09-25 13:42:13 +01:00
Chris Hill-Scott
04e53c72b3 Update shapes to bring in fixes for Bristol
I emailed the Geography team at the ONS:

> Hi geography team,
>
> I work on GOV.UK Notify, which is a service run by Government Digital Service (part of the Cabinet Office). I was given your email address by [redacted] who’s been helping answer some of my questions on the cross-government Slack.
>
> We’re using some of the boundary datasets from the Open Geography Portal, and mostly they’ve been excellent.
>
> In the abstract, the problem we’re trying to solve is, given a point outside an area, what is the minimum distance to a point within that area. So, for example, if a crow was somewhere in Cardiff, what’s the shortest distance it would have to fly to reach somewhere in the Bristol local authority district?
>
> We’ve noticed some problems with the data that means our calculations would be wrong. We’ve noticed this around Torquay, Norwich and Bristol. Here are some screenshots of Bristol, from the generalised and full resolution boundaries:
>
> The artefacts I’ve highlighted are closer to Cardiff than any actual part of the land area of Bristol. They are either:
> - in the sea
> - land that’s part of North Somerset
>
> I suspect that this is being caused by the process of clipping the actual region of Bristol (which, unusually, extends into the water) to the mean high water line.
>
> I’ve worked around this by filtering out any polygons that are smaller than ~7,500m². It’s a bit hacky because parts of the Scilly Isles start disappearing. That’s not a problem for what I’m working on, but it would be nice to not need the hack.
>
> So my questions would be:
>
> - Is there a better way to remove these artefacts than filtering by area?
> - Is there a plan to remove these artefacts from the data in future releases?
>
> Thanks in advance,
> Chris

They emailed back to say:

> Hi Chris
>
> Thank you for your enquiry.
>
> We  have completed the amendments to the LAD MAY 2020 BFC and BGC boundaries as mentioned so you should be able to download them from the portal now.
>
> Hope this helps.
>
> Kind regards
> [redacted]

This commit brings in the files they’ve updated. We still have to do
some filtering (but now at a higher resolution) because they haven’t
fixed Norwich yet. I’ll email them  separately about that.
2020-09-25 12:24:23 +01:00
Chris Hill-Scott
eb4a7907a4 Make estimated phone count clearer
We’ve had some feedback from user research that difference between
‘will get alert’ and ‘likely to get alert’ is not clear, and it’s hard
to tell if the latter is inclusive of the former. This leads people to
question the validity of these numbers, which is important, because an
the estimate should give you some idea of the impact of what you’re
about to do.

This commit reformats the number as a range, for example 1,000 to 2,000
phones.

If the range is small, eg 40,000,000 to 40,800,000 then this suggests
a false level of accuracy. So instead we just give one number and say
it’s an estimate, eg ‘40,000,000 phones estimated’
2020-09-24 15:53:07 +01:00
Leo Hemsted
c7ef7d5083 Merge pull request #3643 from alphagov/broadcast-org
move service to broadcast org when broadcasting is enabled
2020-09-24 13:13:34 +01:00
Tom Byers
6cf7017ff5 Add tests for changes to label 2020-09-24 13:10:55 +01:00
Chris Hill-Scott
cc456fa718 Merge pull request #3642 from alphagov/live-broadcast-tag
Show an indication that a broadcast service is live
2020-09-23 15:32:33 +01:00
Chris Hill-Scott
9becb2b817 Merge pull request #3641 from alphagov/area-suggestions
Suggest previously-used areas when adding new area
2020-09-23 15:00:21 +01:00
Chris Hill-Scott
c8f0664bf7 Show an indication that a broadcast service is live
We want it to be very clear whether you’re in live or training mode
because:
- you may be switching back and forth between them
- doing something in live mode when you think you’re in training mode
  would have… consequences

By adding a label next to the service name you’ll will have some
indication, on every page, which mode you are in.

Style of the label is based on the ‘Tag’ component from the Design
System:
https://design-system.service.gov.uk/components/tag/#showing-multiple-statuses
2020-09-23 13:05:07 +01:00
David McDonald
fe93e42197 Merge pull request #3638 from alphagov/redis-key-change
Step 1 of renaming cache keys for templates
2020-09-23 12:19:13 +01:00
Tom Byers
27f7e873f1 Merge pull request #3645 from alphagov/fix-focus-on-table
Make only the scrollable table focusable
2020-09-23 11:32:04 +01:00
Chris Hill-Scott
dcd48f99dd Merge pull request #3632 from alphagov/training-broadcast-approved
Add a tour screen once a broadcast is approved
2020-09-23 11:07:03 +01:00
Tom Byers
cf07d79024 Make difference between table frames obvious
...by naming the attributes related to
accessibility.

Also includes tests for this.
2020-09-23 10:33:58 +01:00
Tom Byers
6ab85c4c78 Merge pull request #3637 from alphagov/make-table-focusable
Make table focusable
2020-09-23 09:36:17 +01:00
Leo Hemsted
93d1137474 move service to broadcast org when broadcasting is enabled
we want to keep track of all broadcast services across govt easily. As
such, when broadcasting is enabled for a service, we've decided we're
going to add the service to a special broadcasting organisation.

This organisation is defined in the config file. It's hard coded for
production, if you want to test locally, you should set
BROADCAST_ORGANISATION_ID in your local environment.
2020-09-22 18:18:00 +01:00
Chris Hill-Scott
f50ef84c0d Suggest previously-used areas when adding new area
If you’re adding another area to your broadcast it’s likely to be close
to one of the areas you’ve already added.

But we make you start by choosing a library, then you have to find the
local authority again from the long list. This is clunky, and it
interrupts the task the user is trying to complete.

We thought about redirecting you somewhere deep into the hierarchy,
perhaps by sending you to either:
- the parent of the last area you’d chosen
- the common ancestor of all the areas you’d chosen

This approach would however mean you’d need a way to navigate back up
the hierarchy if we’d dropped you in the wrong place. And we don’t have
a pattern for that at the moment.

So instead this commit adds some ‘shortcuts’ to the chose library page,
giving you a choice of all the parents of the areas you’ve currently
selected. In most cases this will be one (unitary authority) or two
(county and district) choices, but it will scale to adding areas from
multiple different authorities.

It does mean an extra click compared to the redirect approach, but this
is still fewer, easier clicks compared to now.

This meant a couple of under-the-hood changes:
- making `BroadcastArea`s hashable so it’s possible to do
  `set([BroadcastArea(…), BroadcastArea(…), BroadcastArea(…)])`
- making `BroadcastArea`s aware of which library they live in, so we can
  link to the correct _Choose area_ page
2020-09-22 17:33:04 +01:00
Tom Byers
a75cde039f Merge pull request #3624 from alphagov/add-accessible-letter-specification
Add accessible letter specification
2020-09-22 16:36:15 +01:00
Chris Hill-Scott
2d64306e88 Link to specification page, not PDF directly 2020-09-22 15:49:38 +01:00
David McDonald
a538329d0e Use new redis key for service templates and broadcasts
We can drop use of the old key as we no longer need to read data from
the old key. Either data exists in the new key and we read it from there
or data doesn't exist in the new key and we go to the API to get it and
then set it in redis.

Note, the previous commit is important because it means we aren't at
risk of when this commit is being deployed out, of us getting stale data
from the old key.
2020-09-21 17:37:27 +01:00
David McDonald
e3baa9ba35 Step 1 of renaming cache keys for templates
We want to change cache keys for templates and broadcasts to include
their service ID. So cache keys should change from
`template-{template_id}-versions` to
`service-{service_id}-template-{template_id}-versions`.

The first step of this which needs to be deployed as a change first is
to delete both keys when updating service templates (even if they key is
not yet set). This means that when we release code in the next PR to
start setting the new key, we won't run into a case where either the old
or the new key can remain set with stale data.
2020-09-21 14:04:10 +01:00
Leo Hemsted
422825f03b Merge pull request #3629 from alphagov/fix-broadcast-back-links
fix back links for broadcast libraries
2020-09-21 11:37:21 +01:00
Leo Hemsted
a6b25b5991 add back links
previously the back link went to choosing a library.

Now, if you view a district from a county, go back to the county page.
Otherwise, go back to the top level of the library.
2020-09-21 11:24:05 +01:00
Chris Hill-Scott
5c22bd56ce Add a tour screen once a broadcast is approved
For a training broadcast the user doesn’t get that immediate feedback
that something has happened, like they would with a real alert, or even
sending themselves a text message.

This commit adds another tour-style page which will interrupt their
journey and hopefully reinforce the message we’ve given them earlier in
the tour.

We’re adding this because we’ve found in research that users don’t have
a good grasp of the consequences and severity of emergency alerts,
versus regular text messages.
2020-09-21 09:41:19 +01:00
Tom Byers
a9c1d64326 Add tests for the focus style & new attributes 2020-09-19 22:03:45 +01:00
Katie Smith
a67ea9a623 Fix the display of sms statuses 2020-09-18 16:26:08 +01:00
Tom Byers
704de9ebf3 Add tests for various different counter states 2020-09-18 12:10:32 +01:00
Tom Byers
2f18e4b2f0 Update test helper that generates checkboxes
It was using GOVUK Elements HTML and we have since
moved to GOVUK Frontend.
2020-09-18 11:50:32 +01:00
Tom Byers
3719479356 Add tests for live-search announcements 2020-09-17 14:38:40 +01:00
Chris Hill-Scott
8a413bec91 Merge pull request #3617 from alphagov/population-estimates
Give estimates of the number of phones in a broadcast area
2020-09-17 11:41:00 +01:00
Chris Hill-Scott
4c7180ca75 Update tests/app/broadcast_areas/test_broadcast_area.py
Co-authored-by: David McDonald <idavidmcdonald@me.com>
2020-09-17 11:09:52 +01:00
Chris Hill-Scott
ae17ff1f07 Fix significant figure round for value of 0
You can’t do `log10(0)` in maths, so we need to handle it as a special
case.
2020-09-17 11:08:36 +01:00
Chris Hill-Scott
76244d8c07 Handle areas with missing data
At the moment there are some areas which have:
- a `count_of_phones` value of `None`
- no sub-areas

This is wrong, but until we fix the data the phone counting code needs
to handle this.

This commit:
- adds the `or 0` in the right place (where it will catch these areas
  with missing data)
- adds a test which checks these areas, and compares them to other kinds
  of areas
2020-09-17 11:02:22 +01:00