Commit Graph

6903 Commits

Author SHA1 Message Date
Pea M. Tyczynska
9cd433349c Merge pull request #2706 from alphagov/change-when-we-validate-email-access
Validate email access based on code_type and not auth_type
2020-02-06 14:31:08 +00:00
David McDonald
4d719e8f9d Merge pull request #2709 from alphagov/delete-old-task
Remove task that no longer runs
2020-02-06 13:11:12 +00:00
Rebecca Law
865e06e1a9 Merge pull request #2710 from alphagov/fix-last-used-bug
Fix None type error in last-used endpoint.
2020-02-06 11:51:21 +00:00
Rebecca Law
09f798ea14 Fix None type error in last-used endpoint. 2020-02-06 11:39:40 +00:00
David McDonald
a14d5f0225 Remove task that no longer runs
We no longer puts files in these s3 buckets (and have in fact deleted
the buckets) therefore this task is redundant and can be removed.
2020-02-06 10:57:43 +00:00
Rebecca Law
32082521ee Merge pull request #2708 from alphagov/change-last-used-query
Added a new endpoint to return the last used date for a template.
2020-02-06 10:02:26 +00:00
Rebecca Law
dec42b06cc Simplify the code in the query.
The date in the notifications table should always be the most recent date for the template.
Removed the template_type param for the query as well.
Simplified the tests.
2020-02-05 16:43:17 +00:00
Rebecca Law
3a32c35dd2 Added a new endpoint to return the last used date for a template.
The existing endpoint returned a whole notification for the last time the template was used. But this only takes into account data in the last week. This new methods allows us to be specific about when the template was last used if ever but looking into the ft_notification_status table as well.
2020-02-05 13:03:54 +00:00
Pea Tyczynska
79c456e60c Format email_access_validated_at when serializing
This is to bring it in line with other serialized dates in User
model, like logged_in_at and password_changed_at.

Also get rid of check if password_changed_at has value, as
it is a non-nullable column, so it needs to always have value.

Also set a default value for email_access_validated_at, to bring
it in line with other non-nullable columns.
2020-02-04 16:45:09 +00:00
Leo Hemsted
f4b137c658 Merge pull request #2666 from alphagov/gunicorn-bump
bump gunicorn to v20
2020-02-04 14:45:05 +00:00
Leo Hemsted
8d837eff0e bump gunicorn to v20
v20 brings in a host of changes, including a fix for
https://github.com/benoitc/gunicorn/issues/1847, which was stopping us
upgrading before
2020-02-04 14:21:56 +00:00
Pea Tyczynska
0132d76c16 Validate email access based on code_type anot auth_type
when verifying the code is correct. This way if user has sms_auth
and we send them verification code to validate their email access,
and they click the link in the email, their access will be validated
correctly.
2020-01-31 17:19:24 +00:00
Pea M. Tyczynska
0f6e8c330d Merge pull request #2705 from alphagov/populate-email-access-validated-at
Populate email_access_validated_at_column and make it non-nullable
2020-01-31 14:09:58 +00:00
Pea Tyczynska
558edff597 Populate email_access_validated_at_column and make it non-nullable 2020-01-31 10:59:54 +00:00
Pea M. Tyczynska
8f31d6c7b4 Merge pull request #2704 from alphagov/fix_migration
Simplify the first migration, we will do execute statements later
2020-01-30 17:41:58 +00:00
Pea Tyczynska
cea1f24aa0 Simplify the first migration, we will do execute statements later 2020-01-30 17:28:23 +00:00
Pea M. Tyczynska
bf855c98fe Merge pull request #2703 from alphagov/fix_migration
Fix typo where wrong column name was checked for being null
2020-01-30 16:49:10 +00:00
Pea Tyczynska
a2333c2009 Fix typo where wrong column name was checked for being null 2020-01-30 16:34:59 +00:00
Pea M. Tyczynska
1bbeee3441 Merge pull request #2702 from alphagov/fix_migration
Make sure email_access_validated_at is not null after being populated
2020-01-30 16:16:24 +00:00
Pea Tyczynska
20124d599c Make sure email_access_validated_at is not null after being populated 2020-01-30 16:02:34 +00:00
Pea M. Tyczynska
d34eafa1de Merge pull request #2700 from alphagov/re-validate-user-email
Add email_access_valdiated_at field to user table, populate it
2020-01-30 15:35:39 +00:00
Pea Tyczynska
0eed4c99a7 Add email_access_valdiated_at field to user table, populate it
and update it when users have to use their email to interact with
Notify service.

Initial population:
If user has email_auth, set last_validated_at to logged_in_at.
If user has sms_auth,  set it to created_at.

Then:
Update email_access_valdiated_at date when:
- user with email_auth logs in
- new user is created
- user resets password when logged out, meaning we send them an
email with a link they have to click to reset their password.
2020-01-30 14:51:54 +00:00
Katie Smith
6c4a681bc9 Merge pull request #2699 from alphagov/update-process-sanitised-letter-task
Update process sanitised letter task
2020-01-30 14:37:23 +00:00
Katie Smith
35e39bcfa8 Save recipient address in process_sanitised_letter task
If the letter passed sanitisation, the recipient address will be
returned from template preview, so we want to save this as the `to`
field of the notification.
2020-01-24 13:52:12 +00:00
Katie Smith
adf9906a96 Change process_sanitised_letter to take a single encrypted arg
Template preview will now send an encrypted dict containing all the args
to the `process_sanitised_letter` task, so this updates the task to
handle data in the new format.
2020-01-24 13:18:37 +00:00
Katie Smith
64c2061baa Use encryption module from utils
Now that the encryption module has been moved from this app to utils, we
can remove it from here (along with its tests) and import it from utils
instead. This also renames the `encryption.py` file to `hashing.py`,
since it no longer contains the encryption class.
2020-01-24 13:18:37 +00:00
Katie Smith
1703ae6031 Bump utils to version 36.5.0
This version of utils has the Encryption module included in it.
2020-01-24 13:18:27 +00:00
Leo Hemsted
8f2344e3b4 Merge pull request #2696 from alphagov/doc-dl-errors
handle document download errors properly
2020-01-20 14:20:43 +00:00
Leo Hemsted
a16f79896b refer to file rather than document
Karl Approved™
2020-01-20 13:44:52 +00:00
Leo Hemsted
99d008b383 handle document download errors properly
if doc download returns a 403, that's a screw-up on our side. it's not
helpful to a notify user for that to be passed on. the only thing they
should care about is if it's a 400, because they uploaded a filetype we
don't allow.

Everything else should return 500 internal server error.
2020-01-20 13:44:50 +00:00
David McDonald
65ce879825 Merge pull request #2698 from alphagov/alert-limit
Up threshold for sms to telephone numbers
2020-01-20 10:15:06 +00:00
David McDonald
3a0aece6a1 Up threshold for sms to telephone numbers
We were just ignoring the errors and our users were not fixing things.

Given that 500 texts cost approx £8 it's not the end of the world.

In the long run we may decide to just stop letting people try and send
messages to TV numbers but this is a quick fix to stop emails coming in
which we ignore.
2020-01-17 13:26:20 +00:00
Rebecca Law
879ba1d5f0 Merge pull request #2692 from alphagov/put-address-in-to-field-for-precompiled
Put address in to field for precompiled
2020-01-13 14:53:20 +00:00
Rebecca Law
722a4c9ebe Merge pull request #2697 from alphagov/send-alert-one-hour-sooner
Send the alert for `letters-still-sending` an hour earlier.
2020-01-13 13:49:55 +00:00
Rebecca Law
f4c0f70ba9 Send the alert for letters-still-sending an hour earlier.
These alerts are sent to our postal provider. And it usually arrives as they are getting ready to go home for the day or the weekend.
Which means they get missed/overlooked. They have agreed to get the alert an hour earlier, perhaps that will improved the response time.
2020-01-13 10:42:30 +00:00
David McDonald
9cd7c373b1 Merge pull request #2691 from alphagov/readme
Tidy up readme
2020-01-10 10:31:46 +00:00
Rebecca Law
bb2b514e12 Save recipient address in the "to" field of a notification
When a precompiled letter is sent via the admin app, we now pass in the address which can be set in the Notifications.to field.
Once a precompiled letters sent by the API has passed validation we can set the address in Notifications.to field.

The celery tasks to validate precompiled letters sent by the API will be done in another PR.
2020-01-07 14:35:48 +00:00
Rebecca Law
5ebd9a473c Add the recipient address in the "to" field for precompiled letters. 2020-01-07 14:35:48 +00:00
Rebecca Law
49eacced5a Merge pull request #2694 from alphagov/add-reference-to-notification-resp
Add client reference to notification reponse
2020-01-07 14:35:18 +00:00
Rebecca Law
cb87e66801 Add client_reference to the serialised notification returned for the csv reports. 2020-01-07 12:19:41 +00:00
Leo Hemsted
06298bd872 Merge pull request #2693 from alphagov/test-isolation-fix
Test isolation fix
2020-01-07 11:04:58 +00:00
David McDonald
ade08e23da Tidy up Readme 2020-01-07 10:26:07 +00:00
Leo Hemsted
eb72a0279f remove monkeypatch
it's interacting strangely with our os.environ stuff and not restoring
nicely, probably due to fixture order which is hard to visualise and
control.
2020-01-06 17:53:56 +00:00
Leo Hemsted
d244146638 fix weird test isolation errors with os.environ and boto3
test_config manipulates os.environ. os.environ is an `environ` object,
which acts like a dict but isn't in some subtle unknowable ways. The
`reload_config` fixture would create a dict copy of the env, and then
just call `os.environ = old_env` afterwards.

Boto3 would then complain that it couldn't load credentials (despite us
using the mock_s3 fixture and also not having creds in the environment
in the first place). Not entirely sure why this happens, but it does.
For some reason, it being a `dict` instead of an `environ` object causes
the mocking of boto3 to fail.

The solution is to not overwrite os.environ entirely, rather, use the
standard dictionary setitem syntax to update the values to their
previous values. Use `clear` to empty the environment too.
2020-01-06 16:21:34 +00:00
Leo Hemsted
c3b1766220 bump test requirements 2020-01-06 16:07:06 +00:00
Rebecca Law
b61262eb1c Merge pull request #2690 from alphagov/fix-job-counts
Fix job counts for older jobs
2020-01-02 09:52:30 +00:00
Rebecca Law
033bcb65d2 Update the dao_get_notification_outcomes_for_job to return the stats from either the notification table or the ft_notification_status table.
Currently if you visit the job page and the job is older than the data retention the totals on the page are all wrong because this query gets the counts from the notification table. With this change the data should always be correct. It also eliminates the need for looking at data retention. If the job is new and nothing has been created yet (i.e. the job hasn't started yet) then the page should show the correctly because the outcomes are empty (as expected), once the notifications for the jobs are created the numbers will start going up.
2019-12-30 16:17:00 +00:00
Rebecca Law
1d0247878f Merge pull request #2688 from alphagov/populate-returned-letters
Populate returned letters
2019-12-27 13:22:31 +00:00
Rebecca Law
84837b4eda Rename uploaded_letter to uploaded_letter_file_name 2019-12-27 12:39:24 +00:00
Rebecca Law
5e0ebe8e7a Fix conflicts with db migrations 2019-12-27 11:21:26 +00:00