Commit Graph

1449 Commits

Author SHA1 Message Date
Athanasios Voutsadakis
8786ce79f4 Use parametrize 2017-11-16 16:34:10 +00:00
Athanasios Voutsadakis
1c78b938b4 Fix tests 2017-11-16 16:33:50 +00:00
Athanasios Voutsadakis
fce8129f3e Merge branch 'master' into add_proxy_header_check 2017-11-16 11:09:32 +00:00
Chris Hill-Scott
65f20694cc Merge pull request #1648 from alphagov/add-hint-user-no-phone
Add a hint to explain why SMS auth is unavailable
2017-11-16 10:20:51 +00:00
Leo Hemsted
96ad2a09be Merge pull request #1649 from alphagov/existing-user-email-auth-invite
Existing user email auth invite
2017-11-16 10:16:56 +00:00
Leo Hemsted
b8c8372f77 Merge pull request #1617 from alphagov/remove-flask-script
remove flask-script
2017-11-15 17:47:30 +00:00
Leo Hemsted
ddf88b70c0 clean up logic around existing users accepting invites
* if the service issuing the invite does not have permission to edit
  auth types, don't let them do anything. This will stop them turning
  existing email_auth users back to sms auth
* if the user hasn't got a mobile number, but the invite is for sms
  login, don't do anything either. They won't have a phone number if
  they signed up via an email_auth invite previously.

in these cases, we accept the invite and add the user to the service
as normal, however, just don't update the user's auth type.
2017-11-15 17:19:32 +00:00
Athanasios Voutsadakis
9bfda11bcf Merge branch 'master' into add_proxy_header_check 2017-11-15 17:18:00 +00:00
Athanasios Voutsadakis
7d4fdba237 Fix PEP8 2017-11-15 16:56:39 +00:00
Chris Hill-Scott
8f4081bdb4 Add a hint to explain why SMS auth is unavailable
If we’re going to ‘disable’ radio buttons then we should always tell
users why the radio button is disabled.

This is what we found with the API key choices anyway.
2017-11-15 16:20:49 +00:00
Leo Hemsted
ab4504f517 fix logged in user not having auth type set from invite 2017-11-15 15:42:23 +00:00
Venus Bailey
f039e64a6d Merge pull request #1594 from alphagov/vb-free-sms-history
Use annual_billing tables at backend for getting and updating free_sm…
2017-11-15 14:57:46 +00:00
Chris Hill-Scott
d117f313a2 Fix typo in tests 2017-11-15 13:28:35 +00:00
Chris Hill-Scott
a8e62a564d Add meta description tag to homepage
Google tries to auto-generate a snippet of a site’s content to show in
search results. Currently it’s not doing a great job of this for Notify.

There’s a chance that if we give it better content in the site’s meta
description then it will use that instead. Worth a go…

The content is adapted from the blue box on the product page.

It’s 145 characters, which is within the 160 characters recommended[1]

It matches the content in the page, and contains words that users are
likely to be searching for (GOV.UK Notify, emails, text messages).

It’s only on the homepage, because it shouldn’t be duplicated across
multiple pages.

https://yoast.com/meta-descriptions/
2017-11-15 09:53:08 +00:00
Athanasios Voutsadakis
061b057f24 Merge branch 'master' into add_proxy_header_check 2017-11-14 18:02:53 +00:00
Leo Hemsted
5353a26bbf make sure auth type is set when registering 2017-11-14 17:01:04 +00:00
venusbb
a9f06c23f7 Commit out using the new end points until data is migrated 2017-11-14 16:23:08 +00:00
Leo Hemsted
8c14113da5 only show mobile number on register from invite page if user is sms_auth
also clean up the way the form is invoked - it now populates from an
invited_user object
2017-11-14 15:53:38 +00:00
Athanasios Voutsadakis
0d2adfcce2 Add basic tests 2017-11-14 15:26:03 +00:00
Leo Hemsted
c8dbd819ef add tests for registering from an email_auth invite 2017-11-14 15:18:14 +00:00
Leo Hemsted
4c39562821 make big old test give some clues about where it fails by checking response codes of requests 2017-11-14 15:18:14 +00:00
Leo Hemsted
65ba7e88c8 refactor RegisterFromInvite to make auth_type required, and update test fixtures 2017-11-14 15:18:14 +00:00
Athanasios Voutsadakis
5574200607 Copy set_config_values from api 2017-11-14 14:51:17 +00:00
venusbb
581759931f Merge branch 'master' of https://github.com/alphagov/notifications-admin into vb-free-sms-history 2017-11-14 09:40:05 +00:00
Chris Hill-Scott
87a3bd38eb Retitle choose sender page as first page in flow
We have a sort of principle that when clicking a link, the page you land
on should be titled the same as the link you clicked.

This also reduces unnecessary repetition between the page title and the
form label.
2017-11-13 11:59:39 +00:00
Chris Hill-Scott
beffb9e123 Reword choose sender/reply to address pages
Make it clear that:

- In the case of text messages, it’s about who the message comes from
- In the case of emails, it’s about where the user will reply to
2017-11-13 11:56:05 +00:00
chrisw
04f6d0a5e0 Updated code used flow 2017-11-09 17:06:57 +00:00
chrisw
0fac7125d2 Don't 'use my own number' if user doesn't have one 2017-11-09 16:09:00 +00:00
chrisw
1effec78e5 alter login flow to allow for email auth login 2017-11-09 16:07:28 +00:00
Rebecca Law
ef5f5ca43a Merge pull request #1628 from alphagov/remove-unused-code-for-sms-sender
Remove unused routes
2017-11-09 15:59:09 +00:00
Leo Hemsted
fcefd2a80c pass in data to posts 2017-11-09 15:02:59 +00:00
Leo Hemsted
2f37b00989 use active-endpoint 2017-11-09 14:58:44 +00:00
Leo Hemsted
cbf1b3ec38 replace user PUT with POSTs
the update_user fn was used in two places, for things that are handled
fine by update_user_attribute. Reduce complexity in the API by killing
the PUT, which is more dangerous (might silently overwrite things that
shouldn't be, like "last_logged_in_at" etc).

Had to change the code not received mobile number form, and the
activate user function.
2017-11-09 14:58:33 +00:00
Leo Hemsted
bfa6980913 Revert "replace user PUT with POSTs" 2017-11-09 14:57:01 +00:00
Leo Hemsted
b9eca67b0d Revert "use new activate endpoint" 2017-11-09 14:55:08 +00:00
Leo Hemsted
7b0fcf8c08 use active-endpoint 2017-11-09 14:37:33 +00:00
Rebecca Law
8c9d90c0f8 Remove unused routes 2017-11-09 13:48:27 +00:00
venusbb
1ab4681ff5 Use the revise api endpoints without current-year parameter 2017-11-09 13:18:09 +00:00
Leo Hemsted
302a024d3b replace user PUT with POSTs
the update_user fn was used in two places, for things that are handled
fine by update_user_attribute. Reduce complexity in the API by killing
the PUT, which is more dangerous (might silently overwrite things that
shouldn't be, like "last_logged_in_at" etc).

Had to change the code not received mobile number form, and the
activate user function.
2017-11-09 12:30:12 +00:00
venusbb
66b49821a7 Merge branch 'master' of https://github.com/alphagov/notifications-admin into vb-free-sms-history 2017-11-09 09:24:49 +00:00
Chris Hill-Scott
6325f26081 Revert "Stop escaping special characters in inbound messages" 2017-11-07 17:22:57 +00:00
Chris Hill-Scott
279c76eb18 Merge pull request #1614 from alphagov/fix-escaped-characters-inbound
Stop escaping special characters in inbound messages
2017-11-07 17:12:07 +00:00
Leo Hemsted
4aeb57567a remove flask-script
flask-script has been deprecated by the internal flask.cli module, but
making this carries a few changes with it

* you should add FLASK_APP=application.py and FLASK_DEBUG=1 to your
  environment.sh.
* instead of using `python app.py runserver`, now you must run
  `flask run -p 6012`. The -p command is important - the port must be
  set before the config is loaded, so that it can live reload nicely.
  (https://github.com/pallets/flask/issues/2113#issuecomment-268014481)
* find available commands by just running `flask`.
* run them using flask. eg `flask list_routes`
* define new tasks by giving them the decorator
  `@app.cli.command('task-name')`. Task name isn't needed if it's just
  the same as the function name. Alternatively, if app isn't available
  in the current scope, you can invoke the decorator directly, as seen
  in app/commands.py
2017-11-06 17:33:04 +00:00
Chris Hill-Scott
9e600b6051 POST to the correct endpoint when updating
`prefix_sms_with_service_name` is a computed attribute on the service
model. It’s where we get the value from, and the API does some work to
get it from the database, or derive it from the default SMS sender.
It can’t be updated, because it’s not itself a database column.

`prefix_sms` is the name of the actual database column. This is the
thing that we need to update.

This will go away eventually.
2017-11-06 15:08:34 +00:00
Chris Hill-Scott
31497945c0 Change wording based on Thom’s feedback 2017-11-06 14:12:25 +00:00
Chris Hill-Scott
f6950ae987 Stop escaping special characters in inbound
At least 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.

Python has built in codecs for dealing with encoding/decoding of
strings – see
https://docs.python.org/3/library/codecs.html#text-encodings
for details. Using these builtins is safer than trying to do anything
regex or parsing-based.
2017-11-06 13:24:16 +00:00
Chris Hill-Scott
6d3855bba4 Allow updates to SMS prefixing setting
We’re extracting this from being determined based on what the sender
name is to its own setting.

This commit will let users set it independently.

Until the explicitly set it, it will still be determined based on
whether their default sender name matches the default for the platform.
2017-11-06 11:24:46 +00:00
Chris Hill-Scott
1d10ad2247 Stop content security policy blocking GA
In https://github.com/alphagov/notifications-admin/pull/1583 we changed
our Google Analytics settings to use newer browsers’ `sendBeacon`
feature. The advantage of this is that it

> [ensures] that the data has been sent during the unloading of a
> document [which] is something that has traditionally been difficult
> for developers

– https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon

To transmit this data it uses a AJAX request (`XMLHttpRequest`)
underneath. AJAX requests are governed by the `connect-src` content
security policy (or the `default-src` if one is not present).
`connect-src`:

> Applies to XMLHttpRequest (AJAX), WebSocket or EventSource. If not
> allowed the browser emulates a 400 HTTP status code.

– https://content-security-policy.com/

Because we didn’t have one in place, `sendBeacon` requests to GA were
getting blocked in browsers that support content security policy (pretty
much everything better than IE11[1]).

1. https://caniuse.com/#feat=beacon
2017-11-06 10:25:30 +00:00
Chris Waszczuk
98c8ddca38 Merge pull request #1598 from gov-cjwaszczuk/master
Email auth for inviting members and editing permissions
2017-11-06 10:00:15 +00:00
Pete Herlihy
8985f3978e Merge pull request #1611 from alphagov/inbound-callback
Inbound callback page
2017-11-03 16:22:48 +00:00