Commit Graph

510 Commits

Author SHA1 Message Date
Chris Hill-Scott
c01d761a3c Show if a letter has been cancelled
At the moment we are manually cancelling letters for people when they
ask us to. Once’s we’ve done this there is no indication that it’s
happened except for the date going red on the list of letters.

This commit adds some error messaging and styling to show when a letter
is cancelled.

Letting people cancel their own letters will be a future enhancement.
2018-10-29 11:51:41 +00:00
Tom Byers
3655e63d34 Merge pull request #2262 from alphagov/remove_branding_type_from_set_email_branding_page
Remove branding type from set email branding page
2018-08-31 13:56:44 +01:00
Tom Byers
151488fa78 Update email preview page
No longer requires the branding_type GET param.

Retains the 'govuk' default brand.
2018-08-29 16:16:15 +01:00
Tom Byers
0df88ea182 Remove branding_type from set_email_branding page
Includes updates to the controller so
branding_type is got from the email_branding model
instead of from user input.

Follows on from:

https://github.com/alphagov/notifications-admin/pull/2249
2018-08-29 11:43:35 +01:00
Chris Hill-Scott
fbd2102832 Use task list pattern for request to go live
We’ve found a significant property of users (about 25%) who request to
go live aren’t completing all the items on the checklist.

In 1 of 6 (17%) of the usability testing sessions we did on this process
we saw someone skip straight past the checklist page because of big
green button syndrome. While 1 in 6 people would normally be a small
number[1] in the context of a usability testing session, it’s enough to
cause a big workload for our team (assuming it is the sole cause of
people not completing the items on the checklist).

The initial reason for using the tick cross pattern for the checklist
was:
- it was coherent with the rest of Notify
- the task list pattern didn’t have a way of showing that something
  still needed doing – it put more visual emphasis on the things
  the user had already done

There’s been some interesting discussion on the GOV.UK Design System
backlog about users failing to complete items in the task list. A few
people have tried different patterns for communicating that items in the
task list still need ‘completing’.

So this commit:
- adds a task list pattern
- uses the task list pattern for the request to go live checklist

The task list is adapted from the one in the design system in that:
- the ‘completed’ label has a black, not blue background (because Notify
  often uses blocks of blue to indicate something that’s clickable)
- it adds an explicit ‘not complete’ label which is visually not
  filled in (sort of how ticked/unticket radio buttons work)

1. With the caveat that looking only at task completion, or quantifying
   qualitative not good practices and the intention here is to show that
   the numbers are close enough to say that they could be symptomatic of
   the same problem. Leisa Reichelt’s Mind the Product talk is good on
   this https://vimeo.com/284015765
2018-08-29 11:29:43 +01:00
Chris Hill-Scott
3483490f03 Fix colour preview not loading on page load
The event was changed from `change` to `input`. The trigger was not updated accordingly.
2018-08-22 16:51:16 +01:00
Chris Hill-Scott
b10f0747ae Use input event not keyup
The `oninput` event is a more performant way to detect changes to a
textbox’s contents (compared to `onkeydown`, `onpaste`, etc).

It’s not supported in older browsers, but since this is a likely to be
used by platform admin users only that’s OK.
2018-08-22 16:31:05 +01:00
Chris Hill-Scott
6501105768 Refactor to not repeat lots of Jinja code 2018-08-22 16:31:05 +01:00
Chris Hill-Scott
b73e42650d Refactor hex colour preview Javascript
This commit improves the code that previews a hex colour when setting up
or changing an email branding.

Specifically it:
- refactors the Javascript to conform to our patterns (module pattern,
  preprocessed with Gulp)
- makes the code work when there are multiple colour previews on one
  page

It also does some visual prettifying, because I couldn’t help myself…
2018-08-22 16:31:05 +01:00
Katie Smith
979fd9bbe4 Allow service contact details to be phone number, email or url
Service contact details are needed if the upload document permission is
enabled - this used to be a link but services can now choose to use a
link, email address or phone number. The form to add or change service
contact details now gives these options and validates the data according
to the type of contact details provided.

When validating phone numbers we can't use the existing validation
because we want to allow landlines too, so there is a basic check that
the phone number is the right length and doesn't include certain
characters.
2018-08-13 10:33:39 +01:00
Chris Hill-Scott
fdf3670661 Remove basic view setting and preview 2018-08-09 17:51:34 +01:00
Chris Hill-Scott
3b5bd0bd9a Centre text in pill navigation
Now the text is smaller (fewer words) it looks a bit wrong bunched up
on the left. the only other page this affects is ‘API integration’.
2018-08-09 11:56:14 +01:00
Chris Hill-Scott
b9b0d0870b Merge pull request #2210 from alphagov/revert-track-basic-view
Revert "Track event when someone previews basic view"
2018-08-09 09:37:54 +01:00
Tom Byers
d931966e5a Add CSS for email preview iframe 2018-08-08 14:23:38 +01:00
Chris Hill-Scott
7b1d4136bf Revert "Track event when someone previews basic view"
This reverts commit 77d96032bf.
2018-08-08 08:55:06 +01:00
Tom Byers
386105954e Add JS to embed email preview into page 2018-08-07 16:56:37 +01:00
Chris Hill-Scott
8e6efadb23 Track virtual page view when enabling basic view
So we can see what pages people go to after turning it on.
2018-08-02 15:23:52 +01:00
Chris Hill-Scott
77d96032bf Track event when someone previews basic view
We’re interested to know which services are looking at the basic view
preview (even if they’re not turning it on).

This commit logs their service IDs as events into Google Analytics.
2018-08-02 15:23:52 +01:00
Chris Hill-Scott
19632ea4ab Add option to copy existing template when adding
Sometimes when setting up a service you might have a few very similar
templates, in which only a small amount of content. Or you might even
have a few of services, which are used by different teams but have
similar templates.

Copy and pasting, especially from one service to another, is a pain.
This commit makes it easier by allowing users to copy an existing
template when choosing to add a new one, instead of starting from
scratch.
2018-07-30 11:31:51 +01:00
Chris Hill-Scott
5c5e0bac02 Stop email address wrapping 2018-07-11 10:35:25 +01:00
Chris Hill-Scott
95d138b638 Add a preview of basic view
One of the big things we found in user research was that people were
uncertain what the effect of giving someone basic view was.

So in the spirit of ‘show don’t tell’, this commit adds a way for users
to preview basic view. They can go into the preview and click around as
much as they like, just as if they really had the basic view assigned to
them.

Once they have seen enough they can return to the settings page where
they can decide whether or not to switch basic view on for real.
2018-07-10 14:24:02 +01:00
Chris Hill-Scott
2855cf45c7 Style of conditional radios to match design system
Updated thickness of border and spacing to match
https://design-system.service.gov.uk/components/radios/#conditionally-revealing-content
2018-07-05 11:47:31 +01:00
Chris Hill-Scott
6452676b54 Remove show/hide behaviour from permissions form
In research we found that:
- people didn’t initially realise that the permissions expanded when the
  ‘admin’ option was selected
- not having all the options visible at once makes it hard to know what
  permissions you are (and more importantly aren’t) giving to people

This commit makes it so that:
- the options within the ‘admin’ option are always visible
- a bit of Javascript logic makes it so you can pick ‘caseworker’ and
  ‘manage service’, for example (by deselecting one when you pick the
  other)
2018-07-05 11:47:31 +01:00
Chris Hill-Scott
f4d2958d58 Allow setting of caseworking on a user
This commit changes the form that the user sees when inviting or editing
another user, if the service has the ‘caseworking’ permission set.

This will allow creating a new type of user, one who only has the
`send_messages` permission, without the `view_activity` permission.

We are doing this because we think there are a number of services with a
lot of users who don’t need to see the dashboard, or the other team
members, and that we can make a simpler interface for these users.
2018-07-05 11:47:30 +01:00
Katie Smith
d9aeac4dca Add new platform admin page
Added a new platform admin page, at '/plaform-admin-new' which shows
different data. This no longer offers the option to filter by test-key,
only by date, and also gives a more detailed break-down of the
notifications and failures sent with a normal / research key.

The existing platform admin stats page ('/platform-admin') has not been
deleted yet so that both pages can be compared.
2018-06-29 15:31:40 +01:00
Katie Smith
0633af4e4a Truncate contact link text on settings page
The contact link on the settings page should be truncated instead of the
text being wrapped and overflowing on to multiple lines. This adds in an
option to the text_field macro to truncate long text fields. This
setting has been used to truncate the API callback URLs too on the
services/<service_id>/api/callbacks page.
2018-06-12 10:21:24 +01:00
Chris Hill-Scott
79314de817 Add page where users can say they want branding
At the moment branding is an undocumented feature. We get a bunch of
support tickets from teams asking its possible.

This commit:
- lets people know it’s possible, and what the options are
- is the first step towards making this process as self-service as
  possible

In some cases we will be able to infer a user’s organisation from there
email address, and Google image search their logo. So the experience for
them is that they press a button and government just sorts it out for
you (also known as "the dream").

In other cases we will have to get back to people asking for a copy of
their logo, or to find out about their service, but this is what we have
to do at the moment anyway.
2018-05-18 16:24:20 +01:00
Chris Hill-Scott
1fba5d186d Highlight selected navigation item
In research I’ve sometimes seen people click the wrong nav item. I
reckon that people’s concept of which pages live behind which navigation
items isn’t very strong.

We can reinforce this relationship by showing, for every page, which is
the corresponding nav item. The conventional way of doing this is either
with some kind of emphasis, typically colour or bold. I’ve gone for bold
because colour would be weird.

---

The implementation of this is quite loosely coupled to our application
code because:
- our application code is not well structured (eg we don’t make any use
  of blueprints)
- spreading this change across lots of files in our application would
  make it harder to test without actually hitting each endpoints; such
  tests would be slow and verbose

So I’ve gone for more of a meta approach. Rather than testing that each
endpoint has a specific navigation item selected, I’ve gone for
validating that:
- all endpoints being mapped to are real
- all endpoints have _a_ selected navigation item (or are specifically
  excluded)

This means that it’s impossible to add, change or remove an endpoint
without also updating which navigation item should be selected. And the
actual mapping is so declarative that it testing it would be redundant.
2018-04-25 09:37:35 +01:00
Chris Hill-Scott
fccd4367e4 Even out spacing on templates page
…when search box is present
2018-04-05 14:55:02 +01:00
Chris Hill-Scott
51d3277fde Stop shims from blocking clicks on lower elements
https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events
2018-03-29 14:19:33 +01:00
Chris Waszczuk
59803348a4 Merge pull request #1974 from alphagov/org-links-dont-show-if-user-doesnt-have-permissions
Org links don't show if user doesn't have permissions
2018-03-21 16:15:42 +00:00
chrisw
c47a4ab830 org links don't show if user doesn't have permissions 2018-03-21 15:23:01 +00:00
Chris Hill-Scott
ca26db14d4 Make email branding logo backgrounds higher contrast
So you can see both white and black foreground on transparent backgrounds.
2018-03-20 13:30:44 +00:00
Leo Hemsted
90c40075c8 Merge pull request #1954 from alphagov/choose-accounts
Choose accounts
2018-03-19 15:26:06 +00:00
Chris Hill-Scott
290424c4eb Put checkered background behind email branding
This will stop images which are white with a transparent background
being invisible in the admin app (and accidentally getting overwritten).
2018-03-19 13:11:32 +00:00
chrisw
7e4c5c97b0 adjusted lists for choose accounts page 2018-03-14 15:39:55 +00:00
Chris Hill-Scott
9435f69a6e Remove warning banner from dashboard (and app)
We have teams who are using the dashboard every day, and being
confronted with this alarming yellow banner. There’s no action they need
to do since they’re only looking at the messages sent.

So this commit removes that banner from the dashboard. It also removes
the CSS and HTML for it from the app entirely because this is the last
remaining place we were using this style of banner.
2018-03-12 16:04:27 +00:00
Chris Hill-Scott
9838c3908b Add line to template page if you can’t do anything
If someone has no permissions but needs permissions the thing they’re
probably going to need is to send a message or edit a template.

The place they will probably come to is the place where the buttons
would be – users with these permissions are finding the thing they need
to do on this page.

So this commit adds a line to this page which (hopefully) makes it clear
they’re in the right place, but need to go and speak to someone.
2018-03-12 16:02:33 +00:00
Athanasios Voutsadakis
440f1bdc7c assets' 413.html is not used anymore 2018-03-09 10:51:48 +00:00
Ken Tsang
4628b99445 Refactor to move preview logic to API
* Moved the notifications code to go to admin to get the the template

preview document rather than go to template preview.

This will remove the logic from admin and place it in api so it is
easier to expand on later when there are precompiled PDFs

* Added some error handling if API returns an API error.

Caught the error and displayed an error PNG so it is obvious something
failed. Currently it displayed a thumbnail of a png over the top of the
loading page, and therefore it wasn't obvious of the state.
2018-03-08 12:25:07 +00:00
Chris Hill-Scott
152b1f5256 Fix border around letter images
Things in CSS stack top to bottom like this:
- image
- `box-shadow`
- `background`

We are drawing the border around the letter using `box-shadow`. This was
working fine because the images of our letters had a transparent
background, so you could see the border through them.

At some point our letters have changed to have a white background. So
you can no longer see the border.

This commit:
- adds a new pseudo element which stacks above the image of the letter
- moves the border from the image itself to said pseudo element
2018-03-06 15:50:56 +00:00
Rebecca Law
bc731ec54d Revert "Letter preview use api not template preview" 2018-03-06 13:47:43 +00:00
Ken Tsang
ff457b8407 Refactor to handle API errors for preview 2018-03-01 23:50:55 +00:00
Ken Tsang
c6285ed68b Improve preview_error.png image 2018-03-01 15:24:26 +00:00
Richard Chapman
1f69d882c2 Added some error handling if API returns an API error.
Caught the error and displayed an error PNG so it is obvious something
failed. Currently it displayed a thumbnail of a png over the top of the
loading page, and therefore it wasn't obvious of the state.
2018-03-01 15:24:26 +00:00
Chris Hill-Scott
2435a29672 Merge pull request #1838 from alphagov/beta-banned
Remove beta badge from header
2018-02-26 10:02:53 +00:00
chrisw
9ad4435d94 Change organisations to email branding 2018-02-07 17:41:23 +00:00
Chris Hill-Scott
6c3ee7a6ea Remove beta badge from header
We have found repeatedly in research that our users don’t know what
‘beta’ means. In this situation they come up with their own
interpretation of what it means, for example that:
- certain features are not available to them
- Notify as a whole is not available to them
- they are using a ‘different’ version of Notify to those using it for
  real

In the most severe cases this ambiguity actively dissuades users from
adopting Notify. We know this from support tickets and user research;
there are probably a host of other teams we haven’t spoken to.

Here’s a quote from a user research session just last week:

> Once we’ve got the facility to receive inbound messages […] that’s not
> available to us at the moment with a beta account

From support tickets:

> We see that the service is still in beta mode – can we assume
> uninterrupted service reliability and performance?

> we do not have a .gov.uk email address any longer but I was wondering
> if we would be able to utilize the notify system which is currently in
> beta

> We are currently using the BETA version, are we able to switch to the
> TEST version so we can add other numbers to send SMS to?

> I have previously enquired about this option [receiving text messages],
> but thought it was still at Beta stage. If we can set it up so that
> notify handles the responses that would be great.

> [after going live] Should I see the wording LIVE on the login screen
> as I still see BETA.,....

> Also I note that you are a BETA service just now and that to use the
> service we would need a .gov.uk email address. We don't have this, is
> there any way that [redacted] could use the service as I note that one
> of the teams have an account?

---

This commit removes the beta badge from Notify, and hopefully with it
the confusion it’s causing our users.
2018-02-05 15:31:47 +00:00
Chris Hill-Scott
29c31c45f2 Merge pull request #1815 from alphagov/add-letters-to-product-page
Update product page to talk about letters
2018-01-30 11:09:06 +00:00
Chris Hill-Scott
61ca391575 Merge pull request #1766 from alphagov/fix-table-show-more-spacing
Fix spacing of table footers
2018-01-26 16:13:45 +00:00