Commit Graph

1715 Commits

Author SHA1 Message Date
Katie Smith
3bbc73dfd2 Use new platform-admin page
We had kept the original platform-admin page at `/platform-admin` and
created a new page, `/platform-admin-new` for the new platform admin
page. Now that the numbers on both pages look ok we no longer need both
pages, so can replace the original page.
2018-07-10 14:39:54 +01:00
Chris Hill-Scott
2f40ddae20 Remove platform admin toggle for basic view
Since platform admins can use the new settings page, this commit:
- links to that page
- removes the platform-admin-only endpoint that switches basic view on
  and off
2018-07-10 11:45:50 +01:00
Chris Hill-Scott
4d3a4ef9af Add form to let users switch basic view on and off
This commit adds radio buttons to the ‘basic view’ page. This will let
users choose whether basic view is on or off for their service.

As before, this page will only be linked to if a service already has
basic view, so this commit does not launch the new feature.
2018-07-10 11:44:40 +01:00
Chris Hill-Scott
a6662b3f59 Add basic view to the settings page
This commit adds:
- a row to the settings page…
- …which links to a page explaining what basic view is

The new row (and link) will only appear for services who already have
the feature switched on. This is because we are not launching the
feature yet, so it shouldn’t be available to just anyone.
2018-07-10 11:44:40 +01:00
Chris Hill-Scott
c30b86714e Merge pull request #2147 from alphagov/manage-not-modify
Relabel ‘modify service’ to ‘manage service’
2018-07-10 11:42:20 +01:00
Chris Hill-Scott
08dc248abc Relabel ‘modify service’ to ‘manage service’
We are not consistent about this. We use ‘manage service’ on:
- the page listing all the users
- the request to go live checklist

We use modify service on:
- the page where you edit a team member’s permissions
- the page where you invite a new team member

This commit changes the latter to be consistent with the former.
2018-07-09 10:58:35 +01:00
Chris Hill-Scott
5794a54385 Rename ‘caseworker’ to ‘basic view’
‘Caseworker’ was a bad name because it:
- suggested that Notify might be expanding into case management
- may or may not map to someone’s actual role, in a confusing way (this
  is why ‘manager’ is also a bad name)

‘Basic view’ is the best name we could come up with because:
- it describes the purpose of feature, not the user
- a ‘view’ changes what you can _see_ as much as it changes what you can
  do

Admin remains a good word – in research users self-describe their use
of Notify in using it. This commit makes the name ‘admin view’ to match
‘basic view’.

This also means we can hide the legend for this fieldset because the
choices are self-explanatory.
2018-07-09 10:39:09 +01:00
Chris Hill-Scott
b1aac841f4 Merge pull request #2042 from alphagov/allow-remove-callback
Allow callbacks to be removed
2018-07-06 14:52:07 +01:00
Leo Hemsted
4d4424657f allow you to remove URL without removing bearer token 2018-07-06 11:47:35 +01:00
Chris Hill-Scott
b21c0da683 Make sure caseworking users clear their invite
There was a bug where caseworking users skipped the part of the invite
flow where their invite was cleared from the session. This caused
a 500 if they later tried to create another service.

This commit makes sure that both types of user have the invite cleared
from the session after accepting it.
2018-07-05 13:40:40 +01:00
Chris Hill-Scott
9da9e85293 Remove letters from caseworking view
Because one-off letters aren’t a thing yet there’s no way for
caseworkers to send letters. So showing them letter templates will just
confuse them.
2018-07-05 11:53:42 +01:00
Chris Hill-Scott
0018ecd765 Hide ‘Use my email address/phone number link’
This link is useful for people who are setting up templates and want to
test out how they look/how Notify works.

‘Caseworker’ users shouldn’t need to send themselves messages on a
regular basis, so this link is another thing we can take away.
2018-07-05 11:53:42 +01:00
Chris Hill-Scott
b0cb9ff58e Add sent notifications page for caseworkers
The other task that caseworkers have to do (much less often than sending
messages) is look at the messages which they’ve sent. The reason for
doing this is usually to find a specific message which someone has
complained about.

This commit adds:
- a page where they can do that
- a navigation item so they can get to that page

We reckon that because this is about finding specific messages, not
reporting that it’s fine to mush all the channels (email, text, letter)
into one table.
2018-07-05 11:53:42 +01:00
Chris Hill-Scott
f7b58c844c Don’t let caseworkers download CSV files
No-one can at the moment, but when we bring the links back we should
only bring them back for users who care about reporting and management
information, ie those with the `view_activity` permission.
2018-07-05 11:53:42 +01:00
Chris Hill-Scott
57ad1a0f7c Don’t send caseworkers back to template page
Caseworkers skip the template page in their message sending journey.
Instead they go straight from picking a template to the first step of
sending. So the ‘Back’ link should send them straight back to the
picking a template page, skipping the individual template page (which
they don’t have permission to view).
2018-07-05 11:53:42 +01:00
Chris Hill-Scott
7c849dccb7 Redirect caseworking users off dashboard
They don’t have permission to see it; their home page is the list of
templates.
2018-07-05 11:53:42 +01:00
Chris Hill-Scott
84de1c5625 Let caseworkers send one off messages
The main task that we think ‘caseworker’ users do is send one off
messages.

So this commit:
- makes sure users who don’t have the `view_activity` permission (ie
  not ‘admin’ users) can still send messages
- adds navigation so that these users have a place to go from which to
  start the process of sending a one off message
2018-07-05 11:53:42 +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
Chris Hill-Scott
39bb0ecbf7 Make permission checking a method
Having a function that takes an instance as its only argument suggests
that it should instead be a method on that instance.
2018-07-05 11:47:30 +01:00
Chris Hill-Scott
1f0003903f Refactor form classes for future reuse
There are three parts to a ‘user’ form:
- the email address
- the permissions
- the auth type setting

This commit breaks them up into abstract classes so that they can be
composed more flexibly in future commits.
2018-07-05 11:47:29 +01:00
Chris Hill-Scott
a220ab7877 Encapsulate view_activity logic within the form
This means that:
- we don’t have to manually set it after processing the form
- we can set it dynamically based on some other attribute later on
2018-07-05 11:47:29 +01:00
Chris Hill-Scott
650f4cc3d8 Add platform admin button to enable caseworking
Eventually the ability to have the caseworking view for your service
will be self-service. But while we’re still building it only we should
be able to enable it, for our own testing purposes.

So this commit adds platform admin functionality to switch the feature
on and off for our services.
2018-07-05 11:47:29 +01:00
Chris Hill-Scott
7397e808a8 Make expected behaviour clear in else case
It feels a bit slippery having an `if`/`elif` with no else; I think that
adding this comment makes the code clearer.
2018-07-05 11:41:43 +01:00
Chris Hill-Scott
c2dbc1934f Allow callbacks to be removed
We’ve had a user who’s said:

> Seems configured callbacks cannot be removed once they’re set as the
> fields have a presence check. Is that intentional?

This means it’s not working as they expect. Rather than have to go and
change stuff in the database for them, let’s make it work as they’d
expect.

Only lets you clear the form if you remove both the token and the URL.
2018-07-05 11:41:43 +01:00
Chris Hill-Scott
239a43127d Merge pull request #2137 from alphagov/save-same-service-name
Don’t error if a user keeps same service name
2018-07-05 11:01:48 +01:00
Katie Smith
b27d29805b Raise error if getting complaints page with invalid page param
If the `page` parameter passed to the `platform-admin/complaints`
pageis not an integer, we should return a `404` error page.
2018-07-04 10:38:46 +01:00
Katie Smith
6c27a17e1e Paginate complaints page
The API now returns paginated complaint data, so the
`/platform-admin/complaints` page can now be paginated.
2018-07-03 11:09:33 +01:00
Katie Smith
f5bb2efc72 Merge pull request #2130 from alphagov/new-platform-admin-stats
Add new platform admin stats page
2018-07-03 08:57:47 +01:00
Rebecca Law
05caa102f0 Increasing the page size to see if we get more rows back the downloaded csv. 2018-07-02 15:48:00 +01:00
Chris Hill-Scott
d86291cb7a Don’t error if a user keeps same service name
Sometimes a user will hit the green button without actually changing
the service name (we saw this in a usability testing session).

Currently this gives an error saying ‘service name already in use’,
which is technically true (it’s in use by the current service) but
practically just annoying.

This commit adds some logic to silently ignore such requests.
2018-07-02 11:00:02 +01:00
Katie Smith
9c5fd5f23c Validate date format on new platform admin page
Check that the format of the dates entered is in the `YYYY-MM-DD` as
specified and show an error message if it is not. If the date was not in
the specified format, there would be no error message but the content of
the page would change which was misleading.
2018-06-29 15:31:41 +01:00
Katie Smith
ca16bef7f7 Add PlatformStatsAPIClient
In API, the endpoint for the new platform admin stats page has been
moved to a platform stats blueprint. This means we now need a platform
stats client.
2018-06-29 15:31:41 +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
Rebecca Law
472f87b325 Fix order of imports 2018-06-25 16:57:49 +01:00
Rebecca Law
72b0637f92 Add the download activity link for notifications.
This works locally for a long running request and a large number of messages. However I suspect that nginx may be timing out the request. I'd like to try this on staging.
2018-06-25 16:29:40 +01:00
Pete Herlihy
81de3701b5 Found a couple of commas down the back of the sofa.... 2018-06-15 16:03:45 +01:00
Pete Herlihy
2e6deaabeb Added the message back 2018-06-15 15:33:21 +01:00
Pete Herlihy
7dcbad1ba8 Tidied up the formatting on the feedback tickets 2018-06-15 15:30:45 +01:00
Pete Herlihy
669a8a7053 Tweaked the formatting of the Zendesk messages 2018-06-15 15:11:13 +01:00
Katie Smith
33277ce3e2 Make a contact_link required when turning upload_document permission on
When a platform admin user clicks on the button to add the
'upload_document' permission to a service, they should be taken to the
page to add a contact_link if the service does not already have one.
2018-06-12 10:21:24 +01:00
Katie Smith
02988c224b Merge pull request #2100 from alphagov/contact-url-page
Add page to change a service's contact link
2018-06-12 10:20:51 +01:00
Katie Smith
e1d4181be3 Add page to change a service's contact link
Added a page which lets users with the 'manage_service' permission change the
contact link for their service. There are no links to this page yet
since only services using document download will need to set a contact
link.
2018-06-11 10:36:18 +01:00
Chris Hill-Scott
4b37ca4021 Don’t duplicate columns in example spreadsheet
If a template has a placeholder like `((email address))` then the sample
spreadsheet and CSV file have the email column twice.

Trying to upload this spreadsheet will result in a ‘duplicate column’
error.

This commit fixes it so that the column will only appear once.
2018-06-08 13:28:02 +01:00
Rebecca Law
84445d154d When someone complains about an email from the platform we get a callback from SES.
A new platform admin page Email complaints has been added to surface those complaints.
Eventually the complaints will be visible to the services so they can remove the email address from their mailing list.

Next thing to implement is "x email complaints" warning on the platform admin summary page.
2018-06-06 15:22:48 +01:00
Leo Hemsted
07a14c4627 Merge pull request #2080 from alphagov/refactor-metadata-writing
Refactor how we decide to set metadata
2018-05-30 14:30:13 +01:00
Rebecca Law
6bdb8b7210 Rename the method for usage and update the tests. 2018-05-29 15:31:40 +01:00
Rebecca Law
ec03ec1e60 Merge pull request #2094 from alphagov/use-ft-usage
Start using the data from ft_billing for the usage page.
2018-05-29 14:59:31 +01:00
Katie Smith
58cc1604a7 Bump utils and sanitise header values
Updated notifications-utils. This brings in
- the renamed character sanitization classes
- the change to allow unicode in letter addresses (this lets us delete
a test that is no longer relevant)

Also replaced non-ascii characters in headers. This fixes a bug where
non-ascii characters in a CSV filename were causing errors since the
filename is also used in the header.
2018-05-25 10:34:47 +01:00
Rebecca Law
9d8868010f Start using the data from ft_billing for the usage page.
I've left the old usage page there so we can compare the reports if we have questions. There are known issues with the old report, especially for email and letters.
2018-05-24 16:14:36 +01:00
Pete Herlihy
3459f74110 Merge pull request #2093 from alphagov/privacy-page
Privacy page
2018-05-23 15:42:18 +01:00