Commit Graph

7557 Commits

Author SHA1 Message Date
Chris Hill-Scott
92d5031d71 Merge pull request #3754 from alphagov/preload-fonts
Tell browsers to preload fonts
2020-12-30 11:09:29 +00:00
Chris Hill-Scott
47733bacc8 Remove code to migrate cookie names
We added this code in
https://github.com/alphagov/notifications-admin/pull/3371/files to
account for Flask Login renaming its cookies. We wanted our apps to be
compatible with the old and new names, so people didn’t get logged out
when we rolled out the change.

Now that all the cookies with the old names will have expired (some
weekends have passed since March) we can remove this loop.
2020-12-30 10:19:02 +00:00
Chris Hill-Scott
ea124f2886 Tell browsers to preload fonts
When looking at Google’s PageSpeed Insights tool as part of the
compression work I noticed a suggestion that we preload our font files.
The tool suggests this should save about 300ms on first page load time.

***

Our font files are referenced from our CSS. This means that the browser
has to download and parse the CSS before it knows where to find the font
files. This means the requests happen in sequence.

We can make the requests happen in parallel by using a `<link>` tag with
`rel=preload`. This tells the browser to start downloading the fonts
before it’s even started downloading the CSS (the CSS will be the next
thing to start downloading, since it’s the next `<link>` element in the
head of the HTML).

Downloading fonts before things like images is important because once
the font is downloaded it causes the layout to repaint, and shift
everything around. So the page doesn’t feel stable until after the fonts
have loaded.

Google call this [cumulative layout shift](https://web.dev/cls/) which
is a score for how much the page moves around. A lower score means a
better experience (and, less importantly for us, means the page might
rank higher in search results)

We’re only preloading the WOFF2 fonts because only modern browsers
support preload, and these browsers also all support WOFF2.

We set an empty `crossorigin` attribute (which means anonymous-mode)
because the preload request needs to match the origin’s CORS mode. See
https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content#CORS-enabled_fetches
for more details.

We set `as=font` because this helps the browser use the correct content
security policy, and prioritise which requests to make first.
2020-12-29 16:31:11 +00:00
karlchillmaid
f588105aeb Use the singular for Royal Mail
We should use the singular verb form when referring to organisations by name. 

As described in the GOV.UK style guide: https://www.gov.uk/guidance/style-guide/a-to-z-of-gov-uk-style#organisations
2020-12-23 13:56:37 +00:00
karlchillmaid
ada9b0f38d Merge pull request #3746 from alphagov/update-postage-prices
Tell users that postage prices will increase in February.
2020-12-23 11:43:43 +00:00
karlchillmaid
c8f9ef29f0 Update content 2020-12-23 11:12:19 +00:00
karlchillmaid
4ee309fab6 Update rate increase content 2020-12-23 10:58:48 +00:00
karlchillmaid
661b9df643 Revert letter price 2020-12-23 10:30:57 +00:00
karlchillmaid
78135840d4 Update price increases 2020-12-23 10:30:17 +00:00
Chris Hill-Scott
c3515e44cd Stop accidental markdown in go live ticket
In Markdown this is interpreted as a H1:
```
Text
---
```

We can prevent this by adding an extra linebreak, like this:
```
Text

---
```
2020-12-22 17:03:22 +00:00
karlchillmaid
58eba5c148 Get ready to update product page
Price of a single letter will need to change
2020-12-22 15:43:53 +00:00
karlchillmaid
f11d18c885 Add warning that prices will increase
Add warning that prices will increase – we’re still waiting on confirmation of the price increase and the date.
2020-12-22 15:29:40 +00:00
Chris Hill-Scott
d50eb11c7a Add email reply to address to go live ticket
It’s one of the things we check when someone makes a request to go live,
and putting it in the ticket means we don’t have to take the extra step
of clicking into the settings.

Also added some line breaks to chunk things up a bit more clearly.
2020-12-22 14:02:33 +00:00
Tom Byers
5a44cae266 Merge pull request #3734 from alphagov/give-cookie-banner-accessible-name
Give the cookie banner an accessible name
2020-12-22 11:29:53 +00:00
Tom Byers
e80b02d2c9 Merge pull request #3742 from alphagov/fix-for-file-input-in-safari
Fix for file input bug in safari
2020-12-17 14:24:25 +00:00
Tom Byers
55a4ca6579 Remove set-to-string conversion from upload code
Also changes the allowed_spreadsheet_file_extensions
variable to allowed_file_extensions for
consistency.
2020-12-17 13:04:27 +00:00
Tom Byers
ea3d61e6b9 Use format_list_items in file_upload component 2020-12-17 11:32:02 +00:00
Tom Byers
9716d5dbba Add format_list_items template filter 2020-12-17 11:32:00 +00:00
Tom Byers
97bc2817bc Merge pull request #3731 from alphagov/add-govuk-radios-5
Add GOVUK radios [part 5]
2020-12-16 14:48:49 +00:00
Tom Byers
51cc2a5296 Set accepted files for branding upload 2020-12-16 14:48:10 +00:00
Tom Byers
1096d1f707 Set accepted files for contact list upload 2020-12-16 14:48:10 +00:00
Tom Byers
fb1ac8bc42 Set accepted files for letter upload 2020-12-16 14:48:10 +00:00
Tom Byers
b8f8d743d5 Set accepted files for job spreadsheet upload 2020-12-16 14:48:10 +00:00
Tom Byers
e9722256ea Rename Spreadsheet.allowed_file_extensions
We will use this list in various views, to send
them through to the file_upload component.

These changes make it:
- into a Set so it can't be altered
- uppercase to show it is a constant
2020-12-16 14:48:10 +00:00
Tom Byers
eaa1a67d76 Add allowed_file_extensions arg to file_upload
Safari has a bug where it stops input[type=file]
elements working if they don't specify the types
of file to accept (via the `accept` attribute).

It seems to just effect certain versions of Mojave
but completely blocks this action so worth fixing.

This adds a 'allowed_file_extensions' keyword
argument to the file_upload component to let you
specify a value to be passed to `accept`.

This was spotted on x-gov Slack:

https://ukgovernmentdigital.slack.com/archives/C06GCJW7R/p1607952390112800

...and StackOverflow:

https://stackoverflow.com/q/64843459/679924
2020-12-16 14:48:10 +00:00
Tom Byers
ea98681b24 Update liveSearch selector in set email|letter
Changes the selector the live search in the set
email and letter branding pages in service
settings and organisation settings. The current
one targeted the old radios HTML whereas this
version targets the same for the GOVUK Frontend
radios.
2020-12-15 12:08:09 +00:00
Tom Byers
d620d9ea08 Hide legend on SetEmailBranding.branding_style
Effects all routes that use that form, or
SetLetterBranding, which inherits from it:
- /organisations/<service_id>/settings/set-letter-branding
- /organisations/<service_id>/settings/set-email-branding
- /<service_id>/service-settings/set-letter-branding
- /<service_id>/service-settings/set-email-branding
2020-12-15 12:08:09 +00:00
Tom Byers
4e47b62aa3 Update previewPane JS and JS radios test helpers
The previewPane JS used selectors that targeted
the old form of radios HTML.

The JS tests also contained selectors like this
and fragments of HTML, used for fixtures, modelled
on the old radios HTML.
2020-12-15 12:08:09 +00:00
Chris Hill-Scott
d1ab09db05 Merge pull request #3739 from alphagov/refactor-user-live-services
Remove separate function for live service check
2020-12-14 15:22:10 +00:00
Tom Byers
4fc6bc10c7 Convert radios on set letter branding page 2020-12-11 13:58:40 +00:00
Tom Byers
22e6421799 Convert radios on email branding page 2020-12-11 13:58:40 +00:00
Tom Byers
8e3cddd66d Convert radios on set letter brand page 2020-12-11 13:58:40 +00:00
Tom Byers
e8a74b7ed1 Convert radios on set email branding page
Changes SetEmailBranding.branding_style to
GovukRadiosFieldWithNoneOption.
2020-12-11 13:58:40 +00:00
Tom Byers
d911c1a707 Add GovukRadiosFieldWithNoneOption 2020-12-11 13:58:40 +00:00
Katie Smith
373365b2b0 Add class to letter specification links
To make them show up as non-visited links.
2020-12-11 11:33:34 +00:00
Katie Smith
57189f57e4 Add form validation for max service and org name
There was a recent error in the logs because a service tried to change
its name to one exceeding 255 characters (which is a limit on the
database field). We can easily catch these errors on the form, so that
the user doesn't see an error page.
2020-12-11 11:33:34 +00:00
Tom Byers
0cae383294 Merge pull request #3730 from alphagov/add-govuk-radios-4
Add GOVUK radios [part 4]
2020-12-11 11:31:58 +00:00
Chris Hill-Scott
5027be31fc Remove separate function for live service check
When we get a support ticket we need to check whether a user has any
live services.

We have a method for this on the user model now, so we don’t need a
separate function in the feedback code.

It wasn’t very well tested so I’ve adapted the old tests from the
feedback view to work against the method on the user model too.
2020-12-10 15:43:45 +00:00
Chris Hill-Scott
f3bf8c88b0 Merge pull request #3726 from alphagov/uksv
Update link to reflect withdrawn guidance
2020-12-10 13:58:08 +00:00
Tom Byers
b1d0d216e0 Convert radios on add org page
Changes OrganisationCrownStatusForm.crown_status.

This also effects NewOrganisationForm, which
inherits from OrganisationCrownStatusForm.

Because of that this commit also updates the
template used for the edit org crown status page,
which uses NewOrganisationForm for its form.
2020-12-10 10:19:50 +00:00
Tom Byers
0cdbb850aa Convert radios in edit org type page (basic)
Changes the OrganisationTypeField class used by
OrganisationOrganisationTypeForm.organisation_type

OrganisationTypeField is also used by the forms in
/add-service:
- CreateServiceForm
- CreateNhsServiceForm

Because of that, this commit also includes changes
to the template for that route.

Note: this also moves where OrganisationTypeField
appears in app/main/forms.py so it can use
GovukRadiosField.
2020-12-10 10:19:49 +00:00
Tom Byers
58149ce34c Convert radios on SMS prefix page
Includes changing form.enabled to use
OnOffField, for consistency with other on/off
fields.

OnOffField's data is a boolean, not a string, so
some of the logic using it needed to be changed.
2020-12-09 15:03:43 +00:00
Tom Byers
1612812c5d Convert radios on disable platform admin
Uses ServiceOnOffSettingForm.enabled.
2020-12-09 15:03:43 +00:00
Tom Byers
2e98681a5e Convert radios on set international {sms|letters}
Uses ServiceOnOffSettingForm.enabled.
2020-12-09 15:03:43 +00:00
Tom Byers
645f7911ab Convert radios on set {email|sms|letters} pages
All use the ServiceSwitchChannelForm.enabled
field, inherited from ServiceOnOffSettingForm.
2020-12-09 15:03:43 +00:00
Tom Byers
c9151e2663 Convert radios on set-service-setting.html
Uses the ServiceOnOffSettingForm.enabled.

Effects the following routes:
- /services/<service_id>/service-settings/switch-live
- /services/<service_id>/service-settings/switch-count-as-live
- /services/<service_id>/service-settings/permissions/<permission>
- /services/<service_id>/service-settings/permissions/broadcast

Includes changes to make the GOVUK radios
component render the h1 in the page. This is done
so the legend doesn't just duplicate the h1 and
is recommended in the design system guidance for
the radios component for pages that just ask you
for one piece of information.

https://design-system.service.gov.uk/components/radios/#how-it-works
2020-12-09 15:03:43 +00:00
Tom Byers
b917fa3c74 Make OnOffField inherit from GovukRadiosField
Means that ServiceOnOffSettingForm.enabled ends up
using the GovukRadiosField methods for rendering.
2020-12-09 15:03:43 +00:00
Tom Byers
ca3d111f03 Merge pull request #3727 from alphagov/add-govuk-radios-2
Add GOVUK radios [part 2]
2020-12-09 14:50:06 +00:00
Leo Hemsted
d5f54d2d78 Merge pull request #3735 from alphagov/show-allowed-broadcast-provider
show allowed broadcast provider
2020-12-09 09:52:22 +00:00
Leo Hemsted
c805e7bd9c show allowed broadcast provider
in the "training"/"live" window
2020-12-04 10:52:09 +00:00