Commit Graph

63 Commits

Author SHA1 Message Date
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
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
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
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
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
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
266a76adec Add events to temp history page for story sign off 2016-04-27 17:24:44 +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
22ebc2ece5 Make permissions for AJAX dashboard backend match
If you don’t have permission to see the HTML dashboard, you shouldn’t be
able to see the JSON one.
2016-04-25 11:23:45 +01:00
Adam Shimali
786ce0e071 This is intended to be a temporary solution to allow product
owner to see history records until proper design is done for
viewing histiry.
2016-04-21 18:25:18 +01:00
Chris Hill-Scott
09491e880e Show template usage for all time on it’s own page
> We show the last weeks template usage on the dashboard, which is
> great, but if you're looking for longer term trends, you're out of
> luck...

> So, let's let you see more on a more detailed page (linked from the
> dashboard). Initially this should just show you all templates that you
> have used ever and the count for each. Order same as dashboard, most
> popular first.

https://www.pivotaltracker.com/story/show/117614585
2016-04-20 15:31:42 +01:00
Chris Hill-Scott
312a903e65 Limit templates usage on dashboard to last 7 days
Previous the table of templates on the dashboard was for all time.
This commit uses the `limit_days` parameter of the API endpoint to only
show template usage from the last 7 days, aligning with the big numbers
shown above.
2016-04-20 15:02:29 +01:00
Chris Hill-Scott
8d6eb0985b Merge pull request #471 from alphagov/craig-david
Show the last 7 days of statistics on the dashboard
2016-04-20 11:13:51 +01:00
Chris Hill-Scott
be7c7cebbc Limit big numbers to the last 7 days
Implements and depends on:
- https://github.com/alphagov/notifications-api/pull/241
2016-04-19 17:10:39 +01:00
Chris Hill-Scott
5bf0d8fe70 Show all statistics fetched on the dashboard
We want to align all our stats to be for the last 7 days.

This means summing up the stats response from the API to make the Big
Number. Previously the big number was counting sent notifications as
successful. This commit changes it to only look at delivered
notifications.

Right now, the API doesn’t have a way of filtering to only show the last
7 days. So for the moment the dashboard will show statistics for all
time.

The upshot of this is that we can link from the dashboard to the
activity page when there are failures.
2016-04-19 15:57:53 +01:00
Chris Hill-Scott
b75ab7c3df Make new service current service on first use
When you add a new service, it’s probably the one you want to do stuff
with.

When you get invited, the service you’ve been invited to is probably the
one you want to use.

This commit adds the ID of the new service or service you’ve been
invited to to the session.
2016-04-19 11:04:00 +01:00
Chris Hill-Scott
37f341e757 Make tour work for non-logged-in users
There’s no content in the tour that’s specific to a service. And since
we can now take a pretty good guess at what service you last used, or
which service we should send you to if you only have one service,
there’s no need to make the URLs for the tour service-specific.

This also means that you don’t need to be logged in to see the tour
pages, and we have no good reason to only restrict these pages to users
with accounts.

https://www.pivotaltracker.com/story/show/116960703
2016-04-19 10:38:16 +01:00
Chris Hill-Scott
2a03cd3952 Merge pull request #431 from alphagov/sort-template-stats
Sort template stats by usage
2016-04-13 16:15:33 +01:00
Nicholas Staples
a6d1c5b693 Download CSV option now available.
App is updated to use the rebased db.
2016-04-12 15:38:02 +01:00
Chris Hill-Scott
4568c0e5ab Sort template stats by usage
Template stats should show the most-used template first.

This commit:
- re-writes the `aggregate_usage` function to use `itertools.groupby`,
  which can do aggregation, and can return data in a structure that’s
  easy to sort on
- uses generators so that we’re not keeping lots of rows of template
  stats in memory

https://www.pivotaltracker.com/story/show/117348893
2016-04-12 12:03:52 +01:00
Adam Shimali
d7c59fa8d7 Aggregation of template stats in admin app.
Individual templates stats items fetched from admin.
2016-04-07 10:55:21 +01:00
Chris Hill-Scott
686493ed8f When a user accepts an invite, show them the tour
It’s jarring to be sent right into the dashboard.

We think the tour makes things less jarring.
2016-04-05 16:21:06 +01:00
Adam Shimali
dc7964efd7 Fix service id bug in template. Use current_service instead 2016-04-05 14:12:18 +01:00
Adam Shimali
159fe60c1a Template statistics now surfaced on dashboard.
Job list removed.

Template statistics retrieved at same time as
notification stats.
2016-04-05 11:47:24 +01:00
Nicholas Staples
c31c55666b Added current_service to flask context and template context.
Fix all tests and conflicts.

Removed comment line.
2016-04-04 17:01:20 +01:00
Nicholas Staples
0b2eeb19c5 Fix sent today bug and removed unused file.
Code quality fix.
2016-03-30 12:12:31 +01:00
Rebecca Law
f3507af006 Merge pull request #358 from alphagov/fix-permissions
Add view_activity permissions
2016-03-30 11:36:49 +01:00
Rebecca Law
c99df69025 Merge branch 'master' into fix-permissions
Conflicts:
	app/main/views/jobs.py
	tests/app/main/views/test_manage_users.py
2016-03-30 10:36:55 +01:00
Nicholas Staples
ff9d3d72ad Fixed merge conflicts with master.
Code quality fixes.
2016-03-30 10:26:01 +01:00
Nicholas Staples
644336b151 Merge with master. 2016-03-29 22:50:40 +01:00
Rebecca Law
b79901fe28 With the addition of has_permissions on the dashboard, jobs, and manage_users pages a platform admin user or a users with no permissions on the service could no longer see the page.
A new permission has been added, view_activity, to resolve this issue.
Another pull request in notifications-admin will be required to update all users with a default permission of view_activity.
2016-03-29 13:23:36 +01:00
NIcholas Staples
faaedb318d Merge pull request #338 from alphagov/service_user_permission
Functionality added to existing endpoint without a user_has_permissio…
2016-03-23 14:48:10 +00:00
Nicholas Staples
961ed6b362 Functionality added to existing endpoint without a user_has_permission decorator, tests passing.
Fix tests.
2016-03-23 14:26:12 +00:00
Chris Hill-Scott
45ea12e13f Improve display of failure rates
https://www.pivotaltracker.com/story/show/116052359

- add absolute numbers for failures
- make percentages accurate to 1 decimal place (50.0%)
- make error colour appear if failures go above 3.0%
- make error colour boolean (don’t interpolate between the colours)
2016-03-23 13:47:54 +00:00
Chris Hill-Scott
5c57f5b588 Make dashboard stats update dynamically
https://www.pivotaltracker.com/story/show/115874485

This uses the same component as on the jobs page to make a partial
section of the page update itself periodically.
2016-03-23 13:40:23 +00:00
Rebecca Law
643d047705 Fix division by zero 2016-03-17 14:40:08 +00:00
Chris Hill-Scott
b38ae08ad6 Put some statistics on the dashboard
This commit adds two new sections to the dashboard

1. A banner telling you about trial mode, including a count of how many messages
   you have left today, which is a restriction of trial mode

2. Panels with counts of how many emails and text messages have been sent in a
   day, plus the failure rates for each

It does **not**:
- link through to any further information about what trial mode is (coming
  later)
- link through to pages for the failure rates (coming later)
- change the ‘recent jobs’ section to ‘recent notifications’
2016-03-17 14:06:12 +00:00
Martyn Inglis
71abecf34c Merge branch 'master' of github.com:alphagov/notifications-admin 2016-03-14 17:06:19 +00:00
Martyn Inglis
6c5f9f4cb2 Fix ordering of jobs 2016-03-14 16:50:02 +00:00
Rebecca Law
f63a85d003 Fix bug in error handlers.
Correct spelling error
2016-03-11 10:16:06 +00:00
Rebecca Law
735ca07dee Handle HTTPError from API and routing errors from flask.
Removed catching the HTTPError where applicable.
2016-03-10 14:56:47 +00:00
Rebecca Law
f6d98b63ea Refactored register_errorhandlers so that it handles HTTPError
Remove most cases where we catch HTTPError
2016-03-10 11:53:29 +00:00
Adam Shimali
9bc5d08d52 Flash message to confirm invitation accepted and user has been
added to service.
2016-03-08 08:18:41 +00:00
Nicholas Staples
a8db812c5a Remove print statement. 2016-02-29 15:34:22 +00:00
Nicholas Staples
48943527ec API keys hooked up and working. All tests passing. 2016-02-29 14:57:07 +00:00
Nicholas Staples
32e37d89fb User permissions added with test. 2016-02-19 16:38:04 +00:00
Nicholas Staples
48368584d9 notifications-python_client upgraded to 0.2.5 2016-02-11 15:27:08 +00:00
Chris Hill-Scott
7e670d9662 Limit number of jobs on dashboard to 5
…and add a link to view the rest of the jobs if there are more than 5.
2016-02-04 17:25:29 +00:00
Chris Hill-Scott
26adcc64c1 Updates to ‘send SMS’ page
Based on discussion with Pete.

Make the blue banner an ‘important’ banner (copied from Register to Vote, used
because it’s not as boxy and fits on the page better).

Remove the back button because you haven’t changed any data yet. If you need to
go back you can just press back or start again.

Make the filename stand out more.

Remove the ‘download example’ link. Will need to revist the best way of doing
this.

Make text messages consistently 2/3rd width.
2016-02-04 14:06:19 +00:00
Chris Hill-Scott
48df622aba Add two steps to onboarding banner
It’s not obvious what the first steps are when you’ve just signed up.

This commit changes the banner on the dashboard to make it obvious.
2016-02-04 10:59:18 +00:00