Commit Graph

14648 Commits

Author SHA1 Message Date
Chris Hill-Scott
3c6598cbc2 Only link to message status if message has failed
This retores the behaviour to as it was before
https://github.com/alphagov/notifications-admin/pull/2962
which inadvertently started linking to the guidance for messages that
were delivered or in sending.
2019-05-13 13:29:47 +01:00
Tom Byers
cd5f6251d1 Adjust selection summary spacing
Co-Authored-By: Chris Hill-Scott <me@quis.cc>
2019-05-13 13:15:45 +01:00
Tom Byers
bbc962298c Make selection summary use tabular numbers
Stops them jumping around as much when the numbers change. As requested in: https://github.com/alphagov/notifications-admin/pull/2956/files#r283271635

Co-Authored-By: Chris Hill-Scott <me@quis.cc>
2019-05-13 13:07:28 +01:00
Chris Hill-Scott
e8c1a7deea Make folder name textbox full width
Folder names can be quite long. It’s annoying if they get cut off.
2019-05-13 11:04:50 +01:00
Tom Byers
fe457464a8 Fixes for folder .svg icon
Match format of .svg file to others in the same
folder to fix issues in IE11.

Add a .png alternative for IE8 users.
2019-05-10 14:59:31 +01:00
Tom Byers
d75c26eb83 Make done button, and its surround, sticky 2019-05-10 14:21:58 +01:00
Tom Byers
19b68048d0 Fix undefined local variables in sticky JS
Running the sticky JS in Jest raised errors due to
these variables not being assigned properly.

It's JavaScript so any variable not defined by the
`var` prefix will automatically become a property
of the global object. That is not what is intended
by the code so requires changing.
2019-05-10 14:20:44 +01:00
Tom Byers
bb16626209 Split module out into objects for each component
Is clearer than just having one large hierarchical
object and makes the relationships between the
module and its components clearer.
2019-05-10 14:20:14 +01:00
Tom Byers
7328649537 Combine 'Change' and 'Done' buttons into one
Includes addition of classes by JS to ensure CSS
selectors don't have to reference the data
attributes.
2019-05-10 14:16:03 +01:00
Chris Hill-Scott
507b5b9933 Remove line about checklist from go live email
It’s impossible for people to go live without technically completing the
checklist now.
2019-05-10 10:46:15 +01:00
Katie Smith
1d7ce85443 Merge pull request #2962 from alphagov/update-links
Fix broken links
2019-05-10 10:35:19 +01:00
Katie Smith
f3f8f4085f Fix broken links
There were still a few links pointing to `/features/using-notify`
2019-05-10 09:05:07 +01:00
Chris Hill-Scott
d6b6f1689f Remove copy-pasteable version of go live info
We’ve automated this now so we don’t need it in a format that’s easy to
copy and paste into a spreadsheet.
2019-05-09 17:41:27 +01:00
Chris Hill-Scott
b4894e7a03 Always go back to previous page from notification
When looking at a notification you can either be coming from the page
of all notifications, or from a job. Currently the back link always
takes you to the page of all notifications.

This commit makes it a bit more sophisticated so if you’ve come from
looking at a job, you go back to the job.
2019-05-09 17:33:22 +01:00
Chris Hill-Scott
b786997c6b Merge pull request #2963 from alphagov/fix-missing-save-button-callbacks
Fix missing save button on callbacks page
2019-05-09 16:53:02 +01:00
Chris Hill-Scott
4673113451 Fix missing save button on callbacks page
😳

74fb30ce5f (diff-d32e9daf34b835cda7c3b407e14a8feeL31)
2019-05-09 16:44:34 +01:00
Leo Hemsted
6359657db8 update manifest file to use zdt-push
https://github.com/alphagov/notifications-api/pull/2498 contains some
more info
2019-05-09 16:11:26 +01:00
Pea (Malgorzata Tyczynska)
3e0ca91912 Merge pull request #2960 from alphagov/update_utils_version
Update utils version to fix duplicate columns in csv upload bug
2019-05-09 15:14:39 +01:00
Pea Tyczynska
a99a08ebf2 Update utils version to fix duplicate columns in csv upload bug
When one of our users uploaded a csv with two phone number columns
and missing data for one of those duplicate columns, our app
crashed. We fixed the code in utils that was crashing now and
we are propagating this change to our service through updating
utils version in this commit.
2019-05-09 14:54:38 +01:00
Chris Hill-Scott
923ac7190c Add a hint when no team members are selected
This helps clarify that you will still be able to see the folder.
Follows the phrasing used for the "No folders…" message.
2019-05-09 13:43:04 +01:00
Tom Byers
1ffa8c8915 Only show the folder icon if fields are folders 2019-05-09 11:25:28 +01:00
Chris Hill-Scott
78699ac995 Merge pull request #2953 from alphagov/numbers-in-excel-reports
Don’t convert Excel reports to CSV before output
2019-05-09 11:18:07 +01:00
Pea Tyczynska
18b545af51 Remove precompiled letters permission as everyone can send precompiled now 2019-05-09 11:01:11 +01:00
Chris Hill-Scott
3dc2130926 Align baseline of summary text with button text 2019-05-09 10:30:46 +01:00
Chris Hill-Scott
89478ac2ca Use larger folder icon 2019-05-09 10:27:14 +01:00
Chris Hill-Scott
f274759cd8 Add larger version of black folder icon
This is for use in the folder permissions UI. It’s designed to be sized
at the same width as a GOV.UK style checkbox. The CSS to render it is
something like:

```css
background-image: file-url('folder-black.svg');
background-repeat: no-repeat;
background-size: 39px auto;
background-position: 0px 4px;
```
2019-05-09 10:21:30 +01:00
Tom Byers
db12ec3a5c Make buttons work outside of context
This is important for users who find buttons via
interfaces that present them out of the context of
the page, like screenreaders.
2019-05-08 17:16:08 +01:00
Tom Byers
42a9a0cf23 Make selection summary a live region
Live regions need to be in the original HTML of
the page to work. We were generating the summary
in JS.

This changes the JS to only generate the contents
of the summary so changes to its contents are
announces by the existing live-region.
2019-05-08 17:16:06 +01:00
Tom Byers
089ebf2c7a Add tests for collapsible checkboxes 2019-05-08 17:08:20 +01:00
Tom Byers
90ad8b4ed0 Add helpers for JS tests
To help with asserting some things which were
repeated in the tests.
2019-05-08 17:08:20 +01:00
Tom Byers
33d074c00a Allow nested checkboxes to be collapsible
Expands the API of the macro to allow nested
checkboxes to have a summary tracking the current
selection, the fieldset to expand/collapse and
buttons to be added to allow jumping between
states.

Includes making 'Done' button inline on mobile.
Helps differentiate it form the form submit.
2019-05-08 17:08:16 +01:00
Chris Hill-Scott
1708d17e40 Set org type to NHS if user has NHS email address
We get people signing up for Notify who work for the NHS, but whose
organisation we don’t know about. For example
`name@gloshospitals.nhs.uk` will be someone working for Gloucestershire
Hospitals NHS Foundation Trust, which is not an organisation we have in
the database.

Currently we rely on knowing the specific organisation (NHS as a whole
isn’t an organisation) in order to set the organisation type for any
services they create. This commit adds a special case for anyone with an
NHS email address to set the organisation type to be NHS, even when we
don’t know which specific part of the NHS they work for.

This is the same thing we do on the API side for NHS email and letter
branding:
a4ae5a0a90/app/dao/services_dao.py (L310-L313)
2019-05-08 12:08:54 +01:00
Tom Byers
20a94910cb Give permissions form legend heading styles
Also includes putting the text at the foot of the
checkboxes into a hint below the legend.
2019-05-08 11:35:58 +01:00
Chris Hill-Scott
20e774ca33 Use keyword argument for explicitness 2019-05-08 10:17:20 +01:00
Chris Hill-Scott
80dec99a56 Merge pull request #2946 from alphagov/use-service-organisation-for-service-agreement
Look at service’s organisation on agreement page
2019-05-07 16:10:18 +01:00
Chris Hill-Scott
55d4810c4b Don’t convert Excel reports to CSV before output
Converting Python data to CSV makes every field a string. This means
that in the report we return to the user every field will be a string,
even if it’s come from an `int` type in Python. This is because the CSV
‘standard’ doesn’t support any kind of typing.

Excel does support types for fields, so we can make our reports more
useful by preserving these types. This is particularly relevant in the
report we generate for performance platform, which needs the `count`
column to be a number type.

This commit adds extra code paths to the `Spreadsheet` class which mean
that it can be instantiated from either CSV data or a list of Python
data. Previously we were converting the Python data to CSV as an
intermediate step, before instantiating the class.
2019-05-07 16:07:23 +01:00
Chris Hill-Scott
5879df5c03 Move as_dict property to its own method
This helps declutter the init method, and is one less thing to create in
memory when it’s not needed.
2019-05-07 11:30:33 +01:00
Katie Smith
9199db3400 Merge pull request #2936 from alphagov/show-sms-provider-traffic
Show monthly usage by SMS provider on Providers page
2019-05-07 10:15:15 +01:00
Katie Smith
259a82e066 Update for new format of data returned from api
- API will now send through `created_by_name` instead of `created_by`.
- API will always send through `current_month_billable_sms` but this can
now be `0` instead of `None`.
2019-05-07 08:30:34 +01:00
Katie Smith
a74da6d14e Show monthly usage by SMS provider on Providers page
This adds a '% monthly traffic' column to the SMS table on the Providers page
to let us see how much traffic is being sent to each SMS provider.
2019-05-07 08:30:34 +01:00
Pea (Malgorzata Tyczynska)
a7d8918ee0 Merge pull request #2951 from alphagov/performance-platform-xlsx
Provide Performance Platform report as Excel file
2019-05-03 15:59:06 +01:00
Pea (Malgorzata Tyczynska)
9025975d92 Merge pull request #2952 from alphagov/fix-live-services-csv
Add organisation type to live services csv report
2019-05-03 15:48:50 +01:00
Chris Hill-Scott
3c38a7be05 Provide Performance Platform report as Excel file
This is the format we need to upload it in, so this means not having to
manually re-save it as Excel.
2019-05-03 15:40:53 +01:00
Chris Hill-Scott
79b3e90a18 Merge pull request #2949 from alphagov/fix-placeholder-order-in-tour
Fix order of placeholders in the tour
2019-05-03 15:07:03 +01:00
Pea Tyczynska
a53849013a Add organisation type to live services csv report 2019-05-03 14:38:33 +01:00
Chris Hill-Scott
c768b6c8f3 Merge pull request #2950 from alphagov/fix-add-service-unknown-org-type
Fix adding a service when organisation is unknown
2019-05-03 14:31:29 +01:00
Chris Hill-Scott
ac46be5606 Fix adding a service when organisation is unknown
An ‘unknown’ organisation can either be:
- one where we know it exists but don’t know much about it (in which
  case the API returns some JSON with the info we do know)
- one we’ve never come across (in which case the API will return `None`)

This commit fixes a bug where we were trying to access the organisation
type in the latter case.
2019-05-03 13:40:22 +01:00
Chris Hill-Scott
34171f3038 Fix order of placeholders in the tour
Doing a lookup with `step_index - 1` means that on step `0` we were
looking up `placeholders[-1]`, ie we were making people fill in the last
placeholder first.

Fixing this reintroduces the bug fixed by this pull request:
https://github.com/alphagov/notifications-admin/pull/2551

So this commit also re-fixes that bug but in a different way.
2019-05-03 13:29:23 +01:00
Chris Hill-Scott
0508d4a1fc Merge pull request #2948 from alphagov/fix-permissions-check-uuid-param
Fix permissions check when service ID is a UUID
2019-05-03 10:26:15 +01:00
Chris Hill-Scott
b7e9c320f8 Fix permissions check when service ID is a UUID
If you define a route with the service ID as a typed parameter, ie
```
@main.route('/services/<uuid:service_id>/agreement')
```

then `type(service_id)` returns `<class 'uuid.UUID'>`.

This is a problem when the permissions dictionary stores service IDs as
strings, because trying to look up a user’s permissions with the UUID
fails silently (that key isn’t in the dictionary).

This commit makes sure we always cast the service ID to a string before
using it to check permissions.
2019-05-03 10:06:51 +01:00