Commit Graph

3002 Commits

Author SHA1 Message Date
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
42a061cb7b Add test to check personalisation and refactor existing test 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
Rebecca Law
3e45f7d71f Refactor test so that it does not have to change every time we add a new organisation. 2017-07-06 12:27:55 +01:00
Chris Hill-Scott
1bd5e88979 Add more organisations for letter branding
> The logos are now ready to go on DVLA side- so far we've got:
> 001 = HM Government
> 002 = OPG
> 003 = DWP
> 004 = GEO
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
venusbb
bf387ae1d0 checked displayed log message 2017-06-30 10:37:21 +01:00
venusbb
a73016d984 Merge branch 'master' of https://github.com/alphagov/notifications-api into inboundsms_checkip 2017-06-30 10:30:35 +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
venusbb
9348973f12 Merge branch 'master' of https://github.com/alphagov/notifications-api into inboundsms_checkip 2017-06-30 09:01:44 +01:00
Rebecca Law
49917ccafd Add redact_personalisation to TemplateSchema 2017-06-29 18:16:03 +01:00
Leo Hemsted
362652ec47 Merge pull request #1052 from alphagov/REDACTED-migration
add historical redaction data
2017-06-29 13:10:16 +01:00
Leo Hemsted
c24edcf388 add historical redaction data
every current template gets a row in the template_redacted table -
this inserts one for any template that doesn't already have a row,
with redact set to false, the user set to NOTIFY_USER since it was
just a script, and the updated_at set to the time the script is run
2017-06-29 12:54:48 +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
Leo Hemsted
4839665270 Merge pull request #1049 from alphagov/REDACTED
Templates can now be [REDACTED]
2017-06-29 11:02:01 +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
venusbb
c5cb70210e add logs to see the IP address of the inbound sms 2017-06-26 16:15:58 +01:00
Rebecca Law
180733c1ba Merge pull request #1046 from alphagov/fix-org-name
Remove name from organisation
2017-06-26 14:30:23 +01:00
Rebecca Law
096b1f8b04 Remove name from organisation 2017-06-26 14:03:02 +01:00
Rebecca Law
fe8482a570 Merge pull request #1045 from alphagov/revert-1044-add-logo-enterprise
Revert "Remove name from organisation"
2017-06-26 13:52:11 +01:00
Rebecca Law
49dc93d0fd Revert "Remove name from organisation" 2017-06-26 13:52:01 +01:00
Rebecca Law
54e22b4f9b Merge pull request #1044 from alphagov/add-logo-enterprise
Remove name from organisation
2017-06-26 13:25:19 +01:00
Rebecca Law
9f2b806b18 Remove name from organisation 2017-06-26 13:10:36 +01:00
Leo Hemsted
ec5bcee79e Merge pull request #1041 from alphagov/send-notification-fix
ensure created_by_id is being persisted correctly
2017-06-26 12:22:23 +01:00
Rebecca Law
9b287639ce Merge pull request #1043 from alphagov/add-logo-enterprise
Add organisation values for the Enterprise Europe Network.
2017-06-26 12:19:08 +01:00
Rebecca Law
4fe62ac121 Add organisation values for the Enterprise Europe Network. 2017-06-26 11:48:04 +01:00
Venus Bailey
f48a22790e Merge pull request #1042 from alphagov/iprestrict_inboundsms
Iprestrict inboundsms
2017-06-26 11:27:55 +01:00