Commit Graph

3873 Commits

Author SHA1 Message Date
Venus Bailey
43ecb4e574 Merge pull request #1379 from alphagov/vb-annual-billing-schema
remove check to financial_year_start in schema as it can be None
2017-11-09 15:49:48 +00:00
Leo Hemsted
e5c9ba93ff Merge pull request #1381 from alphagov/add-activate-endpoint
add separate activate user endpoint
2017-11-09 14:37:44 +00:00
Leo Hemsted
048ddbb2a4 add separate activate user endpoint 2017-11-09 14:27:24 +00:00
venusbb
23d8d54e0b remove check to financial_year_start in schema as it can be None 2017-11-09 11:07:11 +00:00
Chris Hill-Scott
670dabf091 Merge pull request #1378 from alphagov/fix-escaping-mmg-inbound
Fix escaping in inbound text messages from MMG
2017-11-09 10:49:38 +00:00
Chris Hill-Scott
4761d852e9 Fix escaping in inbound text messages from MMG
One of our providers gives us messages with special characters escaped,
ie a newline comes through as `\n`, not a literal newline. We shouldn’t
be showing these backslashes to any of our users. We also have examples
of real inbound messages containing `👍` and `’`, so we should continue
to display these properly.

It’s a bit tricky, because the strings we get from this provider are a
mixture of escape sequences (eg `\n`) and unicode characters (eg `😨`).
So we have to first convert the unicode character `😨` into an escape
sequence, `\U0001f628` in this example. We do this by encoding with
the `raw_unicode_escape` codec:

> Latin-1 encoding with \uXXXX and \UXXXXXXXX for other code points.
> Existing backslashes are not escaped in any way. It is used in the
> Python pickle protocol.

– https://docs.python.org/3/library/codecs.html#text-encodings

Then we turn this back into a string using the `unicode_escape` codec,
which transforms all escape sequences into their literal representations
(eg `\U0001f628` becomes `😨` and `\n` becomes a newline).
2017-11-08 13:32:30 +00:00
Leo Hemsted
4b99d6bb7a Merge pull request #1371 from alphagov/email-2fa
Email 2fa api endpoints
2017-11-08 11:44:48 +00:00
Leo Hemsted
0146e2d935 attempt to reduce code duplication 2017-11-07 16:47:40 +00:00
Leo Hemsted
67ae1fdb7b PR changes - some comment clarification and code simplifying 2017-11-07 16:47:40 +00:00
Leo Hemsted
a8ebb10c8e add tests for code used 2017-11-07 16:47:40 +00:00
Leo Hemsted
a231918317 put secret code in email url token 2017-11-07 16:47:26 +00:00
Leo Hemsted
6af616eb83 add name to personalisation and urlencode next param
also add tests
2017-11-07 16:47:26 +00:00
Leo Hemsted
dd326ec1d3 add new template to config
and rename existing new user email verification template for clarity
2017-11-07 16:47:26 +00:00
Leo Hemsted
57b7a392b2 add email 2fa template 2017-11-07 16:47:20 +00:00
Leo Hemsted
b2756ac99d add email code verification
by hitting POST /<user_id>/email-code, we create an email two factor
code to send to the user. That email contains a link with a token that
will sign the user in when opened.

Also some other things:

"email verification" (aka when you first create an account) doesn't
hit the API anymore

refactor 2fa code verification and sending to use jsonschema, and share code between sms and email

Die marshmallow die!
2017-11-07 16:45:49 +00:00
Chris Hill-Scott
8b2c242355 Merge pull request #1370 from alphagov/migrate-prefix-sms-setting
Migrate prefix SMS setting to be true or false
2017-11-07 13:00:00 +00:00
Chris Hill-Scott
97db65bc9e Migrate prefix SMS setting to be true or false
We want services to have control over this setting, rather than deriving
it from the value of their sender. This commit does that derivation one
last time, and stores it in the column, where it can be changed as and
when needed.
2017-11-07 10:47:13 +00:00
Chris Hill-Scott
6e8202522e Merge pull request #1369 from alphagov/default-sms-prefix-true
Default new services to prefixing text messages
2017-11-07 10:46:16 +00:00
Venus Bailey
7aa0976bec Merge pull request #1368 from alphagov/vb-route-secret
initial logging for route protection
2017-11-06 16:31:48 +00:00
venusbb
cae42fe862 Changed logging way 2017-11-06 13:40:20 +00:00
Rebecca Law
430342b567 Merge pull request #1375 from alphagov/pyup-update-notifications-python-client-4.5.0-to-4.6.0
Update notifications-python-client to 4.6.0
2017-11-06 13:28:07 +00:00
Rebecca Law
c0f7809819 Merge pull request #1366 from alphagov/downgrade-error-msg
Downgrade error message
2017-11-06 13:26:49 +00:00
venusbb
f81b6e9d99 add protection if the parameter route-secret does not exist 2017-11-06 12:27:48 +00:00
venusbb
c655b47a08 Added logistic to check empty secrets 2017-11-06 12:08:33 +00:00
venusbb
3a4c6e8ae8 Merge branch 'master' of https://github.com/alphagov/notifications-api into vb-route-secret 2017-11-06 12:00:25 +00:00
venusbb
03fc781b8c create new method to validate secret header, new tests 2017-11-06 11:56:57 +00:00
pyup-bot
15deec37ed Update notifications-python-client from 4.5.0 to 4.6.0 2017-11-06 11:48:51 +00:00
Chris Hill-Scott
0133684fc0 Merge pull request #1367 from alphagov/allow-updates-to-sms-prefix-setting
Allow updates to the SMS prefix setting
2017-11-06 10:45:23 +00:00
venusbb
81b8d62557 create new method to validate secret header, new tests 2017-11-03 18:19:59 +00:00
Chris Hill-Scott
812090b104 Default new services to prefixing text messages
We want new services, when they do the tour, to see how the service name
they just made shows up in the messages. This is how it (should) work
at the moment (although got broken because of the multiple senders
stuff).

Need to do this before we do the migration now otherwise a new service
could sneak in with this setting still set to `null`.
2017-11-03 15:52:56 +00:00
venusbb
f4d005c7fb initial logging for route protection 2017-11-03 14:43:56 +00:00
Chris Hill-Scott
fbea774302 Allow updates to the SMS prefix setting
This was already working, but adds a test to make sure that it works as
requested.

Still to do:
- migrate all services to having `True` or `False` in this column
- make column non-nullable
- start rejecting `None` as a possible value for this update
2017-11-03 14:07:21 +00:00
Chris Hill-Scott
ab583c0bc6 Merge pull request #1364 from alphagov/put-sms-prefix-on-model
Work out SMS message prefixing in a way that is aware of multiple SMS senders
2017-11-03 13:35:38 +00:00
Chris Hill-Scott
cccffdd2ac Add a column for a service to set SMS prefixing
In future changes, services will be able to control whether their text
messages will be prefixed with the name of their service.

This commit:
- adds a column to store the value of that setting
- makes the service model take notice of it, if it were to have a value
  set

It doesn’t:
- provide a way of setting the value of this column

Currently the column can have three values:
- `None` – ignore it (this is what all current services will start as)
  and continue to determine whether to prefix messages by looking at the
  sender
- `True` – always the service name to the start of text messages
- `False` – never add the service name to the start of text messages

In the future we’ll migrate all services to be either `True` or `False`,
the `None` will go away and all services will have direct control over
the setting.
2017-11-03 12:53:06 +00:00
Chris Hill-Scott
e1239bea06 Use model to work out whether to prefix message
`service.sms_sender` has been deprecated; we should be looking at which
of the service’s SMS senders is default to work out if the message
has been sent from GOVUK or not (and if it has, then prefix the message
with the service name).

The arguments to `SMSMessageTemplate` are _super_ badly named – `sender`
isn’t really used as a string, it’s a boolean that effectively means
‘is this a custom sender (`True`) or the platform default (`False`)’. We
should rename it once this bug is fixed.
2017-11-03 12:28:43 +00:00
Chris Hill-Scott
92b605833f Add prefix SMS with service name to service model
If the service is sending messages from GOVUK, then its messages should
be prefixed with the service name. Right now this logic is:
- worked out separately in the admin app and API
- isn’t aware of multiple senders

This commit moves the logic to one place (the service model). It does
this in a slightly naive way, in that it only looks at the default
sender, not the actual sender of the message.

In the future this will go away because we’ll move it to being a setting
that’s controlled independently of the service name. But this is the
first step towards that.

fixup! Add prefix SMS with service name to service model
2017-11-03 12:28:35 +00:00
Venus Bailey
1ccafc3360 Merge pull request #1355 from alphagov/vb-free-sms-limit-history
Added logic to return past and future free_sms_limit_data that dont e…
2017-11-03 12:13:38 +00:00
Rebecca Law
168231f3ce Downgrade the error message to a warning. 2017-11-03 12:09:20 +00:00
venusbb
bdc24dbf0e Merge branch 'master' of https://github.com/alphagov/notifications-api into vb-free-sms-limit-history 2017-11-03 11:50:22 +00:00
venusbb
0c3e8627b9 minor style change 2017-11-03 11:50:17 +00:00
Venus Bailey
13afd8c378 Merge pull request #1365 from alphagov/vb-route-protection
removed printout of route secret
2017-11-03 11:01:53 +00:00
venusbb
0f0110a1d1 removed printout of route secret 2017-11-03 10:41:53 +00:00
Rebecca Law
efe0f3b99b Downgrade error to warning 2017-11-03 10:15:09 +00:00
venusbb
ad386b7d28 removed unused import and minor syntax 2017-11-02 17:02:00 +00:00
Leo Hemsted
b0f58a8dcb Merge pull request #1362 from alphagov/send-inbound-api-logging
always log when we send out inbound sms
2017-11-02 16:38:07 +00:00
venusbb
6875ab150a Merge branch 'master' of https://github.com/alphagov/notifications-api into vb-free-sms-limit-history 2017-11-02 12:38:52 +00:00
venusbb
6f7793d761 - Add update dao_update_annual_billing_for_current_and_future_years
- moved get_current_financial_year_start_year from service.utils to dao.date_utils
- Moved logic for data persistence from rest to dao when updating records in db
2017-11-02 12:38:43 +00:00
Leo Hemsted
91e4861e2d Merge pull request #1356 from alphagov/pyup-update-monotonic-1.3-to-1.4
Update monotonic to 1.4
2017-11-02 11:52:11 +00:00
Leo Hemsted
8d7ced798e Merge branch 'master' into pyup-update-monotonic-1.3-to-1.4 2017-11-02 11:51:52 +00:00
Leo Hemsted
d469d22084 Merge pull request #1345 from alphagov/pyup-update-marshmallow-2.13.6-to-2.14.0
Update marshmallow to 2.14.0
2017-11-02 11:51:15 +00:00