Commit Graph

1776 Commits

Author SHA1 Message Date
Imdad Ahad
ae388a3cfc Make Noti and NotiHis status column nullable:
This is in preparation for deprecating this old column
2017-07-10 12:09:02 +01:00
Rebecca Law
50dbfec383 Merge pull request #1059 from alphagov/update-purge_function
Refactor order of delete statements
2017-07-07 15:32:29 +01:00
Ken Tsang
8b04039a5a Refactor to abstract inbound_sms perms check 2017-07-06 12:31:02 +01:00
Ken Tsang
e96a67c59b Firetext tests 2017-07-06 12:31:01 +01:00
Ken Tsang
5a82fe0a70 Add inbound sms permission check 2017-07-06 12:31:01 +01:00
venusbb
b1a7ed46eb syntax changes 2017-07-06 12:31:01 +01:00
venusbb
1d8d6b1ef1 Add list of IP address that X-Forwarded-For return to add more visibility to the traffic 2017-07-06 12:31:00 +01:00
venusbb
39a8e1cfed IP address in config file uses comma rather than full stops 2017-07-06 12:30:54 +01:00
Imdad Ahad
6ce93e0cf4 Add len(results) 2017-07-06 12:30:09 +01:00
Imdad Ahad
ea9fc2f81f Use max in select 2017-07-06 12:30:09 +01:00
Imdad Ahad
12800f7cbf Add a script to correct out-of-sync notifications 2017-07-06 12:30:09 +01:00
venusbb
c182ceca90 Check ip unit test and modify ways to parse IP address 2017-07-06 12:30:08 +01:00
venusbb
2ff9204a61 modified the parsing of return ip address 2017-07-06 12:30:08 +01:00
venusbb
0c8e5394a1 modified the parsing of return ip address 2017-07-06 12:30:08 +01:00
Imdad Ahad
f0ffbad77d Fix syncing issue with Notification statuses:
The timeout_notifications job runs daily and does not correctly
update both the status fields to keep them in sync.
2017-07-06 12:30:08 +01:00
Imdad Ahad
b94a463911 Revert "1/4 Stop updating old Notification status column" 2017-07-06 12:30:08 +01:00
Imdad Ahad
cd36d7b77c Stop updating old column and return new column for .status 2017-07-06 12:30:07 +01:00
Leo Hemsted
38bb4ad6c2 notification.personalisation now always returns an empty dict
There are a variety of ways a notification can be created - via the
API, via CSV, via one-off messages, via the same but sent as a test -
the point is, there are lots of entry points, and lots of inconsistency
about how personalisation may be sent in. If there are no
personalisation options in the template, we may get either `None` or
`{}` - if the value is None, to avoid an error in our encryption lib,
we just store None in the database.

THIS ENDS NOW!

We've had some problems on the front-end that is caused by
notifications having the `None` value. This commit changes the
personalisation property getter and setter to store/return `{}`
rather than None.
2017-07-06 12:30:07 +01:00
venusbb
d6c69bf437 Check inbound sms IP address stage 1
IP address checked
2017-07-06 12:29:37 +01:00
Ken Tsang
72000c38aa Refactor to abstract out post notification errors 2017-07-06 12:27:58 +01:00
Ken Tsang
23618a186c Further refactoring 2017-07-06 12:27:57 +01:00
Ken Tsang
0b3277b8a4 Refactored to make code clearer 2017-07-06 12:27:57 +01:00
Ken Tsang
e0fbcb0dc6 Add permission check in for v2 post notification 2017-07-06 12:27:57 +01:00
Ken Tsang
46a55c1cdb Refactor code 2017-07-06 12:27:57 +01:00
Ken Tsang
e927723726 Update sms/email permission tests error msg 2017-07-06 12:27:57 +01:00
Ken Tsang
50066c6753 Prevent template creation or update w/o permission 2017-07-06 12:27:56 +01:00
Ken Tsang
542bbb2f34 Refactor code 2017-07-06 12:27:56 +01:00
Ken Tsang
815f4d0a81 Removed prints 2017-07-06 12:27:56 +01:00
Ken Tsang
c1caa4a5da Add tests for when email / sms disabled 2017-07-06 12:27:56 +01:00
Ken Tsang
b04d01ba27 Refactored code to use new service permissions only 2017-07-06 12:27:55 +01:00
Ken Tsang
98cd838510 ken-use-only-new-service-permissions 2017-07-06 12:27:55 +01:00
Imdad Ahad
4d41da22a4 Use correct schema for dumping a notification with personalisation 2017-07-06 12:27:55 +01:00
Imdad Ahad
b2651180eb Updates:
* Refactor custom db script to allow passing in a specific command function
* Add script to update new Notification status
2017-07-06 12:27:54 +01:00
Rebecca Law
f78ff4daac Refactor order of delete statements 2017-07-03 13:40:13 +01:00
Imdad Ahad
198762a39a Merge pull request #1053 from alphagov/imdad-feat-add-script-notifications-statuses
Add script to backfill new Notification.status
2017-06-30 11:22:39 +01:00
venusbb
bf387ae1d0 checked displayed log message 2017-06-30 10:37:21 +01:00
Rebecca Law
af6427eb6a Merge pull request #1054 from alphagov/add-template-redacted-to-history-qry
Add redact_personalisation to TemplateSchema
2017-06-30 09:11:40 +01:00
Venus Bailey
c809a896e2 Merge pull request #1050 from alphagov/inboundsms_checkip
IP restriction for inbound sms test 2
2017-06-30 09:04:03 +01:00
Rebecca Law
49917ccafd Add redact_personalisation to TemplateSchema 2017-06-29 18:16:03 +01:00
Imdad Ahad
bd9d3bb507 Updates:
* Refactor custom db script to allow passing in a specific command function
* Add script to update new Notification status
2017-06-29 15:45:50 +01:00
Leo Hemsted
2f973b8af0 use created_by instead of updated_by
to behave in same way as other endpoints
2017-06-29 12:39:02 +01:00
venusbb
2d8048654c deleted last check 2017-06-29 11:11:08 +01:00
venusbb
16571c5b3c IP restriction for inbound sms test 2 2017-06-29 10:47:27 +01:00
Leo Hemsted
52debfb412 Load all template model relationships when archiving a service
Since the version classes hinge on delicately preserving the session,
we need to take lots of care to ensure that we don't accidentally flush
half-way through. By joinedloading the template_redacted beforehand,
we prevent a flush which would inadvertantly remove the Service object
from the session, while it's still waiting in line to be versioned.
2017-06-29 10:34:38 +01:00
Leo Hemsted
3a0bc01a55 fix service_delete function to clean up template_redacted objects properly 2017-06-28 17:19:53 +01:00
Leo Hemsted
3f663daafe redacting a template now 400s if no updated_by_id supplied 2017-06-28 17:05:32 +01:00
Leo Hemsted
8ad10261ec add tests for redact_template rest 2017-06-28 16:53:39 +01:00
Leo Hemsted
bd71ee9d02 add redact to notification with template schema.
So that when the admin gets notifications, the template they return
also has a "redact_personalisation" boolean attached to it. Note, it
won't do the redacting on the api - that'll be part of the admin.

Under the hood, this uses an association_proxy, which is essentially
black magic. But it proxies the `redact_personalisation` property of
`TemplateRedacted` onto the `Template` object, so that Marshmallow
can pick it up.

Note: NOT currently added to NotificationWithTemplateHistory
2017-06-28 16:15:03 +01:00
Leo Hemsted
29fc81090e add template personalisation redaction
If passing in `redact_personalisation` to the template update endpoint,
we should mark that template permanently as redacted - this means that
we won't ever return the personalisation for any notifications for it.

This is to be used with templates containing one time passwords, 2FA
codes or other sensitive information that you may not want service
workers to be able to see.

This is implemented via a separate table, `template_redacted`, which
just contains when the template was redacted.
2017-06-28 15:53:08 +01:00
Venus Bailey
73e0432a69 Merge pull request #1047 from alphagov/inboundsms_checkip
add logs to see the IP address of the inbound sms
2017-06-26 16:47:40 +01:00