Commit Graph

240 Commits

Author SHA1 Message Date
Adam Shimali
6ba13a6513 [WIP] New user can now accept invite and will be made to
register. On succesful register and verfication they
will be added to service and forwarded to dashboard.

Nothing is done yet with the permissions requested in the
invite to the user.
2016-03-02 17:52:32 +00:00
Adam Shimali
f9626a7626 Merge pull request #218 from alphagov/cancel-invited-user
Cancel invited user
2016-03-02 17:31:43 +00:00
Rebecca Law
8acfc06432 Merge branch 'master' into cancel-invited-user 2016-03-02 17:25:17 +00:00
Rebecca Law
789264a863 Change label to exclude the type of message being sent.
Fix send email to self, it was always using mobile number to send mesasge. This fixes that.
2016-03-02 17:02:41 +00:00
NIcholas Staples
f0e0006a7c Merge pull request #213 from alphagov/accept-phone-or-email-column
Accept CSVs with 'email address' or 'phone number'
2016-03-02 11:27:24 +00:00
Chris Hill-Scott
b57ac2f7e5 Accept CSVs with 'email address' or 'phone number'
CSV files currently have ‘to’ as the recipient column. This is changing in
https://github.com/alphagov/notifications-api/pull/109

The admin app also has to validate that the CSV files have the right columns,
because the API expects any CSV that it’s given to have been checked (also we
want things to actually work).

This commit is the minimum code change needed. In the future it should reuse
the same code as the API for processing CSV files. This will need more thinking.
2016-03-02 10:41:35 +00:00
Rebecca Law
bfea4a42bc Merge branch 'master' into cancel-invited-user
Conflicts:
	app/notify_client/invite_api_client.py
	tests/app/main/views/test_manage_users.py
2016-03-01 18:01:20 +00:00
Adam Shimali
5f02d4cefe [WIP] Post does not need any data
Invites rest module can use invited user object instead
of dict.
2016-03-01 17:23:23 +00:00
Rebecca Law
8e6bd2471d Change method to a get.
Fix path param in invite_api_client.cancel_invited_user
2016-03-01 17:00:01 +00:00
Rebecca Law
219c740071 Add button to cancel invitation of invited user. 2016-03-01 16:12:26 +00:00
Adam Shimali
5f3c72729e [WIP] Start of user accepting invite.
This commit only deals with acceptance by
users who are already in system.

Changed invite client to return invited user objects
instead of dictionaries.

Added commented out test. fixed up fixtures to return invited user
object for invites
2016-03-01 14:10:35 +00:00
Martyn Inglis
7b5e8061e2 Slight (bad) hack to ensure that the ticks appear on the manage user page
- changes imports for utils from broken version on previous branch
2016-03-01 10:45:13 +00:00
Nicholas Staples
58351a094c Merge with master. 2016-02-29 14:59:15 +00:00
Nicholas Staples
48943527ec API keys hooked up and working. All tests passing. 2016-02-29 14:57:07 +00:00
Adam Shimali
8c10c36f50 Invite user form now posts permissions string to api with
data to create invite.
2016-02-29 11:03:35 +00:00
Adam Shimali
c76717942f Manage user pages now surfaces invited users
fetched from api.
2016-02-26 15:34:12 +00:00
Adam Shimali
9730db0e89 Merge pull request #206 from alphagov/drop-preview-service-name
Make ‘add service’ flow one page again
2016-02-26 15:05:21 +00:00
Chris Hill-Scott
f129cc3db2 Reword the add service page
Without the preview service name we probably have to go back to communicating
a bit more on the add service page. This commit brings back the two bullet
points about where the service name will appear, and tries to tie it into the
nice words that Matt Sheret wrote for us.
2016-02-26 13:17:58 +00:00
Chris Hill-Scott
ce221fc40b Drop ‘preview service name’ page
This page:
- confused users in research
- didn’t communicate what it was intended to (eg the generated email address,
  how your service name would appear in messages)

This commit removes the page so that after typing in the service name the user
is sent straight to the dashboard for their new service.
2016-02-26 13:12:25 +00:00
Adam Shimali
0de80bba97 [WIP] Invite user form now submits data to api. 2016-02-26 13:07:35 +00:00
Adam Shimali
73cf793566 Merge from master 2016-02-26 12:11:55 +00:00
Adam Shimali
d7bad32ac3 Removed moto mocks and mock s3 upload and download directly.
Also updated csv reading to use correct module and do more
work to remove empty fields and trailing commas.
2016-02-26 12:04:17 +00:00
Chris Hill-Scott
a51d92c87a Consolidate page templates for emails + texts
Use one page template for each of:
- choosing a message template
- adding recipients
- checking an email message
- looking at a job

This commit consolidates the two templates into one, and adds logic to show
the SMS message pattern or the email message pattern depending on the type of
template.

It also gives email templates a bit more width, because the body and the from
address tend to be quite long.
2016-02-26 11:57:13 +00:00
Martyn Inglis
87391f2aa1 Renamed header of CSV to be 'to' - matches API 2016-02-25 11:30:09 +00:00
Adam Shimali
602d505dc7 Merge pull request #196 from alphagov/get-users-for-service
Get users for service
2016-02-24 17:41:45 +00:00
Rebecca Law
658a53422b Verify mock is called in the test 2016-02-24 17:32:15 +00:00
Nicholas Staples
c959678c49 Remember me functionality added and tested.
Merge extra.

Fixed comment.
2016-02-24 17:32:15 +00:00
Rebecca Law
2905d11fe4 Get users for service to show on the manage team page.
Calls api endpoint /service/<service_id>/users to retrieve all users associated with the service
2016-02-24 17:32:15 +00:00
Adam Shimali
97cebe4511 Skip any boto related teset 2016-02-24 17:21:44 +00:00
Adam Shimali
2989f62252 Remove more mocks 2016-02-24 16:52:55 +00:00
Adam Shimali
588248deb0 Remove some mocks 2016-02-24 16:52:02 +00:00
Rebecca Law
ff5a20b817 Add mock_get_service to unit test 2016-02-24 16:40:39 +00:00
Chris Hill-Scott
1e46922876 Make send the send flow generic
This commit parameterises all methods in the send view so that they can send
either emails or SMS messages.

It works out what kind of message it is sending from the `template_type`
property of the template object.

This means that the `Template` util class needs to know about these properties,
which means that this commit depends on:
https://github.com/alphagov/notifications-utils/pull/2

This commit does _not_ add tests for sending emails. The existing tests for
sending SMS still pass, but actually sending emails is outside the scope of
this story.
2016-02-24 09:23:38 +00:00
Chris Hill-Scott
aaa6317371 Rename SMS to send
Because this view is no longer just for sending SMS messages, it and its
associated tests should be renamed, so `send_sms.py` becomes `send.py`, etc.
2016-02-24 09:23:38 +00:00
Chris Hill-Scott
c6de605311 Add basic flow for adding email _or_ sms templates
Templates now have:
- a type (email or sms)
- a subject (if they are email templates)

We don’t want two completely separate view files for email and SMS, because they
would have an enormous amount of repetition.

So this commit adds
- different templates for SMS and email templates
- different form objects for SMS and email templates

…and wires them up.
2016-02-24 09:23:38 +00:00
Adam Shimali
d6f88f79e2 Admin uses correct endpoint for getting user by email address. 2016-02-23 12:47:48 +00:00
Chris Hill-Scott
31b60730d3 Put banner on the choose sms template page 2016-02-23 11:49:47 +00:00
Chris Hill-Scott
16fbfe49a3 Fix missing CSRF token on send SMS page
As part of https://github.com/alphagov/notifications-admin/pull/187 the file
upload pattern was changed to auto-submit once a file had been picked. The
form that was submitted was, however, missing a CSRF token, as well as a submit
button for non-JS users.

This commit makes the file upload pattern self-contained, so that it will always
include a form with a CSRF token in a hidden input and a submit button, which is
then hidden when Javascript loads.
2016-02-23 07:29:50 +00:00
Adam Shimali
6c56f9be31 Add count of rows in csv file as a notification count. 2016-02-22 14:53:37 +00:00
Chris Hill-Scott
97a3bf9225 Remove the ‘manage templates’ page
The ‘manage templates’ page was almost identical to the ‘send text messages’
page.

This commit consolidates them into one and makes them all hang together.

Part of this means tweaks to the javascript so that files upload as soon as
you’ve chosen them.
2016-02-22 13:39:02 +00:00
Chris Hill-Scott
fd54eeaeb7 Inline images in CSS
Because this commit’s parent added a few new images, we are now serving at
least a handful of images, therefore a few additional HTTP requests. It’s better
to combine multiple HTTP requests into one for performance reasons (up to a
point).

This commit adds an extra step to the preprocessing of SASS files which takes
any images it finds, base64 encodes them and inlines them into the distributed
CSS files.

It also modifies the content security policy to allow inline images.
2016-02-22 13:39:02 +00:00
Chris Hill-Scott
17b99c9bf2 Add pages to invite, edit, and delete users
This takes the original prototype version of this page, and, using the same
fake data (ie nothing is wired up):
- adds an invite users page
- adds an edit (and delete) user page

Both these pages allow the user to set another user’s permissions.

This commit adds images for the ticks and crosses, so we have control over their
appearance.
2016-02-22 13:39:02 +00:00
Adam Shimali
a86be302ce Merge pull request #186 from alphagov/email-templates
Email templates
2016-02-22 13:34:45 +00:00
Martyn Inglis
d7bfab3bff Merge branch 'email-templates' of github.com:alphagov/notifications-admin into email-templates
Conflicts:
	tests/app/main/views/test_add_service.py
2016-02-22 13:31:19 +00:00
Chris Hill-Scott
9d38cd98b0 Preview service name when adding a new service
This commit adds a new page, which appears after a user enters the name for
their new service. It shows how the service name will appear in emails and
text messages.

This means that the new service is not created until after they have confirmed
that the name is appropriate in context.

This has also involved:
- visual changes to the ‘email template’ pattern, which wasn’t very refined
  before
- removing a bunch of words from the enter service name page, because most users
  don’t read them, and we reckon that showing a preview is a better way of
  getting them to understand what is meant by service name

Still to do:
- validating the the generated email address for a service is unique (on the
  API) side
- having the API return the generated email address, rather than determining it
  in the admin app
2016-02-22 13:20:53 +00:00
Chris Hill-Scott
73deae9bff Preview service name when adding a new service
This commit adds a new page, which appears after a user enters the name for
their new service. It shows how the service name will appear in emails and
text messages.

This means that the new service is not created until after they have confirmed
that the name is appropriate in context.

This has also involved:
- visual changes to the ‘email template’ pattern, which wasn’t very refined
  before
- removing a bunch of words from the enter service name page, because most users
  don’t read them, and we reckon that showing a preview is a better way of
  getting them to understand what is meant by service name

Still to do:
- validating the the generated email address for a service is unique (on the
  API) side
- having the API return the generated email address, rather than determining it
  in the admin app
2016-02-19 16:38:46 +00:00
Nicholas Staples
32e37d89fb User permissions added with test. 2016-02-19 16:38:04 +00:00
Chris Hill-Scott
a5945969c9 Add tests for new routes 2016-02-18 17:03:32 +00:00
Chris Hill-Scott
426a23decd Add a hint about how to use placeholders
Since placeholders (almost) work now, it’s worth telling people what the syntax
is.

This commit also removes the ‘template type’ picker, since you can only create
SMS templates at the moment. This will be revisited when we start looking at how
you add an email template.
2016-02-18 15:23:14 +00:00
Chris Hill-Scott
45cacd82d3 Validate CSVs fully
This commit extends the existing function to validate each row’s phone number
to also validate that all the required data is present.

It does this using the checking that the `Template` class can do when given
a template and a `dict` of values.
2016-02-18 15:07:15 +00:00