Commit Graph

31 Commits

Author SHA1 Message Date
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
2f49e919e7 Add ARIA live attribute to all AJAX updated areas
So that screenreaders will report on updates to the page.
2016-04-27 10:09:52 +01:00
Chris Hill-Scott
33b4138e79 Patch update sections of the page on AJAX
Currently, when we update a section of the page with AJAX we replace the
entire HTML of the section with the new HTML. This causes problems:
- if you’re trying to interact with that section of the page, eg by
  inpecting it, clicking or hovering an element
- (probably) for screenreaders trying to navigate a page which is
  changing more than is necessary

This commit replaces the call to `.html()` with a pretty clever library
called diffDOM[1]. DiffDOM works by taking a diff of the old element and
the new element, then doing a patch update, ie only modifying the parts
that have changed.

This is similar in concept to React’s virtual DOM, while still allowing
us to render all markup from one set of templates on the server-side.

1. https://github.com/fiduswriter/diffDOM
2016-04-27 10:08:57 +01:00
Chris Hill-Scott
116b4f96c8 Add context to trial mode link for screen readers
Screen reader users have the option to navigate by jumping between
anchor tags and reading out the content. "Find out more" does not
provide a lot of context about what the link does.

This commit adds some visually hidden text which screen readers will
still read that makes the link work without the visual context.
2016-04-25 08:35:40 +01:00
Chris Hill-Scott
0080bce562 Say ‘sent’ rather than ‘processed’
Hopefully users understand that sent != delivered
2016-04-20 15:32:02 +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
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
c81b8c39f6 Add view for a single template
> At the moment, we have an all email templates page, and an edit an
> individual page.
>
> This gets messy when we refer to templates like the dashboard and the
> activity views. We solve this currently by using anchor links to the
> list page, but this is clunky.
>
> So lets add it, then update the links on the dash and activity to the
> new view page.
>
> Should be a link from the view a single template page, to the template
> hub page.

https://www.pivotaltracker.com/story/show/117349227
2016-04-13 13:41:53 +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
42a6e801e4 Merge pull request #426 from alphagov/reword-recent-templates
Reword ‘recent templates’ section of dashboard
2016-04-12 10:06:27 +01:00
Chris Hill-Scott
7e54703e2f Reword ‘recent templates’ section of dashboard 2016-04-11 10:08:03 +01:00
Chris Hill-Scott
65761e5c17 Change banners on home page if no permissions
(except view activity, natch)

> No permissions – Remove trial mode banner

> No permissions – Add blue banner saying 'You only have permission to
view this service'
2016-04-07 15:31:43 +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
Adam Shimali
2dbf522932 Add date field back into template stats 2016-04-06 15:06:02 +01:00
Chris Hill-Scott
39e94ac8ec Add row numbers to tables
When a table is showing the contents of a CSV file, it should look
something like a spreadsheet.

The minimally skeuomorphic way to do this is by adding row numbers.

This commit doesn’t
- make the row numbers monospace (it’s barely noticeable and doesn’t
  reflect what actual spreadsheets do)
- make the first column heading ‘Row’ (again, doesn’t reflect how actual
  spreadsheets work, and takes up more valuable space)
2016-04-06 11:31:37 +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
eade0ef971 Added test for template stats client.
Removed date column from recently used templates table.
2016-04-05 13:50:42 +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
Chris Hill-Scott
2652e6abee Merge pull request #377 from alphagov/sort-out-help-pages
Split Help page into Trial Mode and Pricing pages
2016-04-05 10:20:57 +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
Henry Hadlow
ac576c6529 Split Help page into Trial Mode and Pricing pages
- Add routes
- Add footer links
- Make heading size consistent on Cookies page
2016-04-04 16:03:52 +01:00
Chris Hill-Scott
5d873bdc45 Show a tour when users first create a service
This commit adds a 3 screen tour, similar to those used on GOV.UK Verify
and Passports.

We guerilla tested this on Friday, and it really helped users to build a
mental model of how Notify works, so that when they’re playing around
with it they have a greater sense of what they’re aiming to do. This
makes concepts like templates and placeholders click more quickly.

https://www.pivotaltracker.com/story/show/116710119
2016-04-04 09:25:34 +01:00
Chris Hill-Scott
d1665e7109 Make ‘get started’ work for emails and texts
Previously the ‘get started’ block on the dashboard pushed users into
starting with a text message. This led to users writing email content
into a tet message template because it didn’t match their expectations.

Also, the ‘send yourself a test’ link from the dashboard:
- wasn’t much used, because users responded to the similar call to
  action on the choose template page instead
- was confusing if you had created an email template because it
  presupposed that you’d created a text message template

So this commit changes the ‘get started’ block to be a choice between
creating an email template or a text message template. We reckon that
the language of ‘set up’ will help establish that templates are not
equivalent to individual messages. This language is now repeated on the
‘choose template’ page when you don’t have templates as well.
2016-04-01 07:58:23 +01:00
Rebecca Law
01959b8576 Update invited user to have the view_activity permission.
Update dashboard.html for view_activity
2016-03-29 15:20:43 +01: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
4411f8cb37 Allow custom interval on AJAX sections of page
Some pages with AJAX should update quickly, because the data is likely
to be changing quickly, and be finished changing sooner. Other pages we
want to have tick over a bit slower.

This commit adds an optional ‘interval’ parameter to the updateContent
modules, which sets how often the page should ping the server for an
update.

It then sets the interval for the dashboard page to be 10 seconds,
rather than the default 1.5 seconds.
2016-03-23 13:40:23 +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
Pete Herlihy
c122e75903 Changed references to sent text messages, to say batch messages 2016-03-21 15:23:46 +00:00
Martyn Inglis
1f7b3a0ad4 Few changes to column headings for clarity
- Removed "Failed" and "Total costs" on jobs page
- Changed "Sent" to "Processed" on jobs page.
- Removed "sent" from dashboard page on jobs table.
2016-03-21 13:07:12 +00:00
Chris Hill-Scott
3945889e4e Add a link to help page from the trial mode banner 2016-03-17 14:58:17 +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