Commit Graph

631 Commits

Author SHA1 Message Date
Adam Shimali
18a0b94d98 Admin app settings to save reply to email address for service. 2016-05-16 13:10:51 +01:00
Chris Hill-Scott
7bbc307a3e Handle files that can’t be interpreted as spreadsheets
There shouldn’t be a case where we see a `ValueError` on upload any
more. Our file handling should be robust enough to deal with whatever is
thrown at it.

This commit:
- adds test files with bad data (PNG files with their extensions changed to look
  like spreadsheets)
- catches whatever exceptions are raised by trying to parse these files
- returns a helpful flash message to the user

Anything else should raise a `500`, eg if the file can’t be uploaded to S3.
2016-05-15 22:11:01 +01:00
Chris Hill-Scott
1409ca36ca Accept common spreadsheet formats, not just CSV
We require users to export their spreadsheets as CSV files before
uploading them. But this seems like the sort of thing a computer should
be able to do.

So this commit adds a wrapper class which:
- takes a the uploaded file
- returns it in a normalised format, or reads it using pyexcel[1]
- gives the data back in CSV format

This allows us to accept `.csv`, `.xlsx`, `.xls` (97 and 95), `.ods`,
`.xlsm` and `.tsv` files. We can upload the resultant CSV just like
normal, and process it for errors as before.

Testing
---

To test this I’ve added a selection of common spreadsheet files as test
data. They all contain the same data, so the tests look to see that the
resultant CSV output is the same for each.

UI changes
---

This commit doesn’t change the UI, apart from to give a different error
message if a user uploads a file type that we still don’t understand.

I intend to do this as a separate pull request, in order to fulfil
https://www.pivotaltracker.com/story/show/119371637
2016-05-15 22:10:58 +01:00
Chris Hill-Scott
bda3aa98f8 Change "test run" to "test message"
Because reasons.
Obvs.
2016-05-12 11:22:14 +01:00
minglis
2388c395e3 Merge pull request #552 from alphagov/primary-providers
Added provider management pages in.
2016-05-11 16:49:47 +01:00
Martyn Inglis
31f14fd0ec Removed print statements 2016-05-11 15:39:03 +01:00
Rebecca Law
9232ab51d5 Merge pull request #554 from alphagov/add-created_by-to-jobs
Update the jobs and activity page to show the user that created the job.
2016-05-11 14:55:29 +01:00
Rebecca Law
46d5065297 Update the jobs and activity page to show the user that created the job. 2016-05-11 11:57:31 +01:00
Nicholas Staples
af500a96e7 Update all dates to use utc, only in the template is it converted to british time. 2016-05-11 11:20:45 +01:00
Martyn Inglis
6699442f6b Added provider management pages in.
- see priority
- change priority
2016-05-11 09:43:55 +01:00
Adam Shimali
5d7ff0cb47 Merge pull request #542 from alphagov/previous-weeks
Add a page to show delivery rates week-by-week
2016-05-09 10:17:59 +01:00
Chris Hill-Scott
50427ecd3f Add a page to show delivery rates week-by-week
Implements
https://github.com/alphagov/notifications-api/pull/286

Will always show weeks as Monday to Sunday.
2016-05-05 10:56:20 +01:00
Chris Hill-Scott
a8c62ee40a Make ‘Back’ button go to the right place
When you send yourself a test clicking the grey ‘Back’ button should
send you back to the page with the textboxes, if that’s where you came
from.
2016-05-05 08:58:13 +01:00
Chris Hill-Scott
687ccad018 Make send a test teach you how placeholders work
This commit does two main things:

- adds textboxes to the send yourself a test page, so you can replace
  ((name)) with ‘Chris’, or whatever your name is
- rejigs the send page a bit to make it clearer what the CSV upload is
  for and how to use it

The idea being that, since most users go into ‘send yourself a test’
first, it teaches them about how placeholders work by making them do the
replacing themselves.
2016-05-05 08:53:00 +01:00
Chris Hill-Scott
9d37040d49 Add recipient to message previews
When previewing a template on the send page, having the recipient appear
as a placeholder should help reinforce the relationship between the
columns in the CSV and the placeholders.

Then, when previewing a message, having the template populated with the
first recipient’s email address/phone number should reinforce that
relationship again.
2016-05-05 08:45:29 +01:00
Adam Shimali
09117e5eeb Updated flask-login to version 0.3.2 2016-05-04 14:06:14 +01:00
NIcholas Staples
bd0afce745 Merge pull request #527 from alphagov/windows_csv
Only check on csv is the file extension.
2016-05-03 12:50:34 +01:00
Chris Hill-Scott
00030bc254 Add usage to the dashboard
Takes the number of emails and SMS fragments sent from:
https://github.com/alphagov/notifications-api/pull/273

Using these numbers it’s possible to show:
- how much of your allowance is left
- or how much you have spent

For now the allowance and rates are hard coded.

Only for users that have manage service.
2016-05-03 11:06:12 +01:00
Nicholas Staples
f581ff44d0 Only check on csv is the file extension.
Update validator logic

Update message for the validator.
2016-05-03 10:10:58 +01:00
Chris Hill-Scott
d1dec6d5a0 Default aggregate statistics to 0, not None
If they API returns no statistics for a given time period we should
assume that this is equivalent to 0. This means that the template can
always rely on the dictionary having the same keys.
2016-05-03 09:18:24 +01:00
Chris Hill-Scott
d82569f883 Fix page titles on activity page
We were getting some weirdness like ‘Failed both’.

This commit fixes the problem, and adds some tests for the page headings
to make sure they don’t break again.
2016-04-29 16:03:56 +01:00
NIcholas Staples
96297d2989 Merge pull request #522 from alphagov/sms_msg_limit
Sms msg limit
2016-04-29 12:29:45 +01:00
Nicholas Staples
471eac209e Handling template content size error. All tests passing. 2016-04-29 09:38:59 +01:00
Andrew White
8995a86bb6 Merge pull request #520 from alphagov/redirect-to-dashboard-when-existing-service
Redirect to dashboard if this isn't the first service
2016-04-28 17:23:14 +01:00
Andrew White
7812b1cef5 Redirect to dashboard if this isn't the first service
There's no need to show the tour again if the user has previously
created a service so just redirect to the dashboard instead.
2016-04-28 16:44:12 +01:00
Adam Shimali
a627cf9002 Change activity to view to request 7 days data.
Cleaned up filters a bit so that if you want both templates
email and sms is passed.

Added mock assertion to test.
2016-04-28 15:52:20 +01:00
Nicholas Staples
fbf30129b0 Update app to the latest notifications_utils. 2016-04-28 14:02:51 +01:00
Chris Hill-Scott
5572058e50 Merge pull request #518 from alphagov/dashboard-stats-all-aligned
Count only requested and failed messages on dashboard
2016-04-28 13:08:29 +01:00
Adam Shimali
1b13837e85 Merge pull request #517 from alphagov/temp-event-view
Add events to temp history page for story sign off
2016-04-28 10:52:22 +01:00
Chris Hill-Scott
876a0781fe Requested, delivered, and failed messages on dash
Requested, delivered and failed are the three states stored in the
notification statistics table. They are not discrete, eg a message can
be counted in delivered and failed.

`requested` is incremented *when a notification is created*, and has no
chance of being incremented twice for the same notification.

The template statistics are incremented *when a notification is created
only*.

Therefore the only way to make the numbers line up is to count:
- messages sent as being `requested`
- failure rate being `failed`/`requested` *not*
  `failed`/`failed`+`delivered`
2016-04-28 08:59:36 +01:00
Adam Shimali
72c1ecc9cb Believe it or not this broke functional tests 2016-04-27 18:00:46 +01:00
Adam Shimali
266a76adec Add events to temp history page for story sign off 2016-04-27 17:24:44 +01:00
Adam Shimali
fa59bd3461 Merge pull request #516 from alphagov/login-events
Login events
2016-04-27 17:20:34 +01:00
Adam Shimali
7c1867fde6 Record login including remembered user login events to the api based of flask login
signals.
2016-04-27 16:39:17 +01:00
Chris Hill-Scott
00507fc7be Show sent, not pending numbers on the dashboard
The dashboard should only talk about notifications that are *successful* or
*failed*. It should not count notifications that are still queued.

This will stop:
- a situation like ‘0 emails, 14.1% failed’
- the big numbers and the template statistics numbers not adding up to
  the same total
2016-04-27 12:31:52 +01:00
Chris Hill-Scott
a65466327c Put environment URL in feedback tickets
So that:
- we know what environment a request has been sent from
2016-04-26 16:46:00 +01:00
Chris Hill-Scott
456291d630 Put URL to service in request to go live ticket
So that:
- we know what environment the request has come from
- a platform admin user can jump straight to that service to check it
  out
2016-04-26 16:28:16 +01:00
Chris Hill-Scott
45241d6232 Put a form on the request to go live page
This commit:
- moves things around a bit on the request to go live page
- sticks a textbox in there

So when someone click the big green button, we will get a support ticket
that looks something like:
```
From Test User <test@user.gov.uk> on behalf of Test Service
(6ce466d0-fd6a-11e5-82f5-e0accb9d11a6)

---

We’ll send about 1000 text messages in the first month, and then 10,000
text messages per month after that. Usage of our service is about 50%
higher in March, at the end of the tax year.
```
2016-04-26 14:45:50 +01:00
Chris Hill-Scott
22fe164711 Move feedback endpoints into own file
Doesn’t make sense to shove more stuff into index.py
2016-04-26 14:45:31 +01:00
Rebecca Law
69f5068587 Merge pull request #507 from alphagov/fix-anchor-tag-in-flash
Fix anchor tag in flash message.
2016-04-26 14:31:45 +01:00
Nicholas Staples
b131082f41 Updated to include corrected flash message. 2016-04-26 12:26:41 +01:00
Rebecca Law
a183d8d366 Missed the anchor tag in the mark up - oops. 2016-04-26 12:15:25 +01:00
Nicholas Staples
9225c0813c Updated msg for the failed login. 2016-04-26 12:14:06 +01:00
Rebecca Law
8141ea87d0 Wrap message in Markup 2016-04-26 12:12:47 +01:00
Rebecca Law
60c55ca9e2 Fix anchor tag in flash message.
https://www.pivotaltracker.com/story/show/117513779
2016-04-26 12:03:35 +01:00
Nicholas Staples
3122500ce0 Failed login count set to zero with password reset. 2016-04-26 11:51:34 +01:00
Chris Hill-Scott
6107d24af7 Merge pull request #488 from alphagov/daily-limit-message
Show error if you try to send too many messages
2016-04-25 15:35:06 +01:00
Chris Hill-Scott
77885295f9 Merge pull request #494 from alphagov/click-govuk-not-logged-in
If not logged in, go to homepage when clicking GOV.UK
2016-04-25 15:33:36 +01:00
Chris Hill-Scott
bc58aec0db Merge pull request #499 from alphagov/dashboard-duration
Fix the big numbers on the dashboard
2016-04-25 15:32:54 +01:00
Chris Hill-Scott
a8c5175a82 Merge pull request #496 from alphagov/fix-large-file-uploads
Fix bug with large file uploads
2016-04-25 15:32:37 +01:00