Commit Graph

1709 Commits

Author SHA1 Message Date
Chris Hill-Scott
44f42c8916 Be clearer about the templates needed to go live
Adding a ‘testing’ template it not enough. It needs to have some real
looking content, so that we can:
- work out what a service is doing
- assess whether that’s a reasonable (ie meeting the terms of use) thing
  to be doing with Notify

At the moment we’re having to go back to services quite a lot when they
request to go live and ask them for this stuff.
2018-04-09 13:40:03 +01:00
Chris Waszczuk
4f208ef849 Merge pull request #2010 from alphagov/one-off-fixxx
Add pagination to inbox page
2018-04-09 10:30:24 +01:00
chrisw
78d16709d6 reading messages for inbox from new most_recent endpoint
avoids us having to work out and display most recent messages
only on the front-end - it's now all done in api
2018-04-05 13:54:37 +01:00
Chris Hill-Scott
0b905249a7 Make send test letter preview use template ID
The check page expects template ID to be passed through in the URL not
the session now. The send test letter page wasn’t changed.

This commit changes it, and adds a test to make sure this path is
covered.
2018-04-04 17:10:22 +01:00
chrisw
1d32c766e8 remove X messages from Y users msg 2018-04-04 15:43:07 +01:00
chrisw
f5c467e4ff add pagination to inbox page 2018-04-04 15:41:17 +01:00
Chris Hill-Scott
b2722a0cd7 Put template_id back in the session
The start job endpoint needs the template ID in order to make the API
call.

It doesn’t make sense to add it to the start job URL, because users
could potentially start a job with the wrong template by hacking the URL
(which would blow up at some point, if the template didn’t match the
columns in the file).
2018-04-04 15:28:30 +01:00
Rebecca Law
fc846cf4a2 Merge pull request #2001 from alphagov/store-less-in-session
Stop storing `template_id` and `original_file_name` in session
2018-04-04 14:42:38 +01:00
Chris Hill-Scott
ba9935c49e Remove ‘check’ page’s reliance on session
A of this commit’s parent we are storing `template_id` and
`original_file_name` in the URL. Getting them from the URL is better,
so the check page no longer needs to look for them in the session. This
commit removes the code that looks for these values in the session.
2018-04-04 11:37:43 +01:00
Chris Hill-Scott
3dab34cd38 Store template ID and original file name in URL
At the moment you can’t press refresh on the check page if there’s
errors. This is because the session gets cleared when there’s errors.
This is a bad user experience.

The data that this page is relying on (from the session) is:
- template ID
- original file name

Neither of these things need to be in the session because:
- they are not secret
- the user can modify them already (by choosing a different template or
  renaming their file locally)

So this commit additionally stores them in the URL.
2018-04-04 11:30:27 +01:00
Chris Hill-Scott
d75f89daf5 Limit number of navigable financial years to 3
Because more than 3 looks ugly.
2018-04-03 18:13:38 +01:00
Chris Hill-Scott
e74d261ec3 Don’t store info about bad uploads in session
Because we now[1] store info about each file upload separately in the
session the session isn’t overridden every time you upload a file. This
is good because you can do multiple file uploads idempotently.

Generally we are cleaning up after ourselves because we pop anything to
do with that upload from the session. However there is an edge case: if
you never send the file then the info about the file stays in the
session in perpetuity[2]. This is generally happening when people are
uploading files that are impossible to send, ie ones that have errors.

So this commit makes two changes:

1. remove info about a file upload from the session as soon as we know
   that it contains errors
2. `POST` reuploads to the same endpoint as initial uploads because
   otherwise we need to keep info about bad uploads in the session,
   which would prevent us from doing 1.

1. https://github.com/alphagov/notifications-admin/pull/1968
2. or at least until the session is cleared by the user logging out
2018-03-29 11:56:53 +01:00
Chris Hill-Scott
dca5546cbd Only offer agreement download to non-crown for now
We don’t have the crown agreement in a nice downloadable format at the
moment.
2018-03-28 12:43:03 +01:00
Chris Hill-Scott
c7ab9f7f1a Link to the page to download the agreement
We prefer people downloading the agreement if they can. If we don’t know
which agreement they should be using (ie we don’t know their crown
status) then we fall back to having them contact us.
2018-03-27 11:35:17 +01:00
Chris Hill-Scott
68292d2299 Add endpoints to serve the agreement
Rather than making users contact us to get the agreement, we should just
let them download it, when we know which version to send them.

This commit adds two endpoints:
- one to serve a page which links to the agreement
- one to serve the agreement itself

These pages are not linked to anywhere because the underlying files
don’t exist yet. So I haven’t bothered putting real content on the page
yet either. I imagine the deploy sequence will be:

1. Upload the files to the buckets in each environment
2. Deploy this code through each enviroment, checking the links work
3. Make another PR to start linking to the endpoints added by this
   commit
2018-03-27 11:35:17 +01:00
Leo Hemsted
0c88556d17 Merge pull request #1977 from alphagov/human-readable-day
fix relative datetime function to handle dates correctly
2018-03-21 16:21:43 +00: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
Leo Hemsted
df30562216 fix relative datetime function to handle dates correctly
Previously, we were looking at the day of the week - so messages sent
six days ago would show up as "tomorrow". We now look at the actual
date, so that won't happen again.

We were also subtracting an hour to make 00:00 this evening show up as
"midnight today", despite it technically being tomorrow. However, this
means that 00:59 tomorrow morning would show up as "00:59 today", a
full day out. So reduce that to just a minute, so it doesn't affect
other times of day.
2018-03-21 16:08:09 +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
0f8a6ca2fb Merge pull request #1969 from alphagov/no-free-text-from-url
Don’t populate support form with arbitrary text
2018-03-21 14:34:19 +00:00
Katie Smith
bc5f4c145a Delete duplicated tests
test_api_keys.py and test_api_integration.py were almost identical
files with only a few lines difference between them. By moving one
test we can now delete test_api_keys.py
2018-03-20 16:10:37 +00:00
Chris Hill-Scott
64b5f03dcd Don’t populate support form with arbitrary text
I don’t think it’s a massive risk (we’re certainly mitigating against
any XSS), but having a page on a GOV.UK domain where you can prefill
text on the page from a query string probably isn’t great.

So this commit restricts prefilling the support form to a set of
named questions.
2018-03-20 16:07:23 +00:00
Katie Smith
4db75f6a58 Display the two new virus states for letters
Precompiled letters can now have two additional states:
* pending-virus-check
* virus-scan-failed

Both new states should show in the notifications dashboard, and
virus-scan-failed should appear as an error state, with a descriptive
message. You should not be able to preview a letter in one of the two
new states, so the preview link has been removed for precompiled letters
in these states.
2018-03-20 14:54:29 +00:00
Chris Waszczuk
5f65bb5e56 Merge pull request #1968 from alphagov/fixed-session-overriding-while-uploading-csvs-2
Fixed sessions overriding while uploading csvs
2018-03-20 13:45:33 +00:00
chrisw
287230acac fixed sessions overriding while uploading csvs 2018-03-20 12:15:17 +00:00
kentsanggds
91adca10b5 Merge pull request #1961 from alphagov/ken-show-client-reference
Add client reference to API Integration / message log
2018-03-20 10:54:47 +00:00
Leo Hemsted
e000552e56 redirect to show_accounts_or_dashboard on login
show_accounts_or_dashboard has logic about where you should redirect
to. If we let it do this, then that's nicer than duplicating its
logic. We found that it wasn't accounting for orgs in redirects
properly.
2018-03-19 16:41:16 +00:00
Ken Tsang
c3238d8f68 Tests page when client_reference exists in noti 2018-03-19 16:12:14 +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
cd3910556c Merge pull request #1960 from alphagov/dont-validate-across-channels
Don’t validate phone numbers when sending emails
2018-03-16 14:59:42 +00:00
Chris Hill-Scott
5a2fafb66b Don’t validate phone numbers when sending emails
If you have a placeholder called `((phone number))` in your email
template, and you try to send a one-off message then the form input will
attempt to validate your ‘phone number’.

This is not helpful if you’re trying to put a landline number in your
email, for example.

This only affects messages being sent through the one-off interface.

This commit makes the form be aware of template type, which fixes the
problem.
2018-03-16 14:17:43 +00:00
Chris Hill-Scott
c2bc7eca2c Make pricing page consistent in talking about MoU
We shouldn’t tell people on one page (the terms page) that we know about
their organisations agreement and then on the pricing page tell them to
contact us to find out what we know about the agreement.

So this commit adds the same logic from the terms page to the pricing
page, with wording that makes sense in the pricing context.
2018-03-16 13:10:40 +00:00
Leo Hemsted
666e77e699 redirect (301 MOVED PERMANENTLY) from old choose endpoints 2018-03-16 11:51:19 +00:00
Chris Hill-Scott
056c4ebb88 Rename GovernmentDomain to AgreementInfo
This better describes the data encapsulated by this class, and how we
are now using it.
2018-03-15 10:45:34 +00:00
Chris Hill-Scott
dd7fb71706 Merge pull request #1955 from alphagov/remove-mou-question
Clean up request to go live page
2018-03-15 10:25:24 +00:00
Chris Hill-Scott
59f9fe7df1 Finalise wording
Main changes are to better differentiate between the data sharing and
financial agreement and the terms of use.
2018-03-14 16:04:15 +00:00
Chris Hill-Scott
1ce4c874ad Allow message to be prefilled on feedback page
So that people don’t have to remember what they are supposed to be
asking for and go to the effort of typing out the message.
2018-03-14 16:02:09 +00:00
Chris Hill-Scott
6c47375d9f Make terms page smarter about the agreement
People are emailing us asking if their organisation has signed the
agreement. In some cases they have, so this is a waste of their and
our time.

This commit adds a bit of logic to the terms of use page to tell users
when their organisation has already signed the agreement.
2018-03-14 16:00:59 +00:00
Leo Hemsted
d5108d0418 fix my awful rebasing skills 2018-03-14 15:39:55 +00:00
Leo Hemsted
a82ac13d4e split tests out into two separate files 2018-03-14 15:39:55 +00:00
Leo Hemsted
a94fa5472d platform admins can go back to any service 2018-03-14 15:39:55 +00:00
Leo Hemsted
8ef36f13f2 finish tests for choose account page 2018-03-14 15:39:55 +00:00
Leo Hemsted
b7b9b8dd90 make sure mock login sets up session correctly 2018-03-14 15:39:55 +00:00
Leo Hemsted
50f75f9b8d add tests for choose_accounts 2018-03-14 15:39:55 +00:00
Leo Hemsted
2f37e37278 rename choose_service to choose_account 2018-03-14 15:39:55 +00:00
Leo Hemsted
4edd990bc7 order imports 2018-03-14 15:39:55 +00:00
Leo Hemsted
ab32f40b2c give access to org page for any user with permission
also, refactor the org tests into a folder to avoid megalith testing
files.

Also hardcode the org id to a variable so it can be referred to from
various places. In conftest there is now ORGANISATION_ID, which
represents an organisation that `active_user_with_permissions` has
access to
2018-03-14 15:39:55 +00:00
Leo Hemsted
ffd062c415 fix imports 2018-03-14 15:39:55 +00:00
Leo Hemsted
ad6e34eb43 dont use has_permissions to check for platform admins
platform_admin is a separate concept to permissions, so by removing the
checks for it from the current_user.has_permissions function, we can
simplify things greatly. We already record on the user whether they're
a platform admin anyway.
2018-03-14 15:39:55 +00:00
Chris Waszczuk
7b6520988c Merge pull request #1940 from alphagov/adjust-email-auth-token-error-message
Add catch for http error on invite token check
2018-03-14 10:43:16 +00:00