Commit Graph

209 Commits

Author SHA1 Message Date
Nicholas Staples
ac433835f0 Fixed viewing templates. 2016-01-22 11:20:39 +00:00
Nicholas Staples
bb853ee95a Added fixes, displaying templates still needs to be fixed. 2016-01-22 11:14:56 +00:00
Chris Hill-Scott
a66dd52ca8 Better words 2016-01-21 15:43:31 +00:00
Rebecca Law
8737edfad1 Merge branch 'master' of github.com:alphagov/notifications-admin into api-keys-flow
Conflicts:
	tests/app/main/views/test_api_keys.py
2016-01-21 12:31:28 +00:00
Rebecca Law
90fca93308 Implementation of api key pages.
Revoke page will show the correct key name
Show api keys shows a well formatted expiry date
Fix tests for api key endpoints.
2016-01-21 12:28:05 +00:00
Rebecca Law
41c775cd68 Created api_key_api_client.
Implementation of create, revoke and show api keys for service.
These calls work, however we still need to fix the tests.
2016-01-20 17:32:55 +00:00
Chris Hill-Scott
9784a9936c Add pages for create/view/revoke API keys
Copying what they’ve done on GOV.UK Pay, we should let users:
- generate as many keys as they want
- only see the key at time of creation
- give keys a name
- revoke any key at any time (this should be a one way operation)

And based on discussions with @minglis and @servingUpAces, the keys should be
used in conjunction with some kind of service ID, which gets encrypted with the
key. In other words the secret itself never gets sent over the wire.

This commit adds the UI (but not the underlying API integration) for doing the
above.
2016-01-20 16:22:23 +00:00
Chris Hill-Scott
9c8dca4487 Add example of template picker to styleguide 2016-01-20 13:19:28 +00:00
Chris Hill-Scott
a20b52b12b Remove ‘create template’ link
Again, because the users of this page are probably not the same ones responsible
for creating templates, and we shouldn’t be encouraging users to create new
templates for each job (defeats the object of having templates).
2016-01-20 13:12:20 +00:00
Chris Hill-Scott
482abb97d5 Put message previews on ‘Send SMS’ page
A previous commit removed these to differentiate between this page and the
manage templates page. It turns out that we do want previews on this page
because:
- the users for the two pages might be different—they might only be allowed to
  do one or the other depending what permissions they have
- it’s useful to see what the placeholders in the message are before uploading
  a CSV, to make sure the CSV has the correct column headings

This commit re-adds the message preview with a simpler UI. Discussed with
@antimega and we both agreed that the speech bubble tails on the messages should
go.
2016-01-20 13:12:20 +00:00
Nicholas Staples
f6f4fe15b2 Merge with master. 2016-01-19 16:35:52 +00:00
Rebecca Law
762ab8e394 Merge pull request #85 from alphagov/remove-placeholder-data
Remove placeholder logs of notifications sent
2016-01-19 16:05:40 +00:00
Nicholas Staples
cfb3f96b01 Mapped template actions to the api and mocked tests. 2016-01-19 15:54:12 +00:00
NIcholas Staples
6c46d92dd4 Merge pull request #86 from alphagov/use-html5-details-for-switcher
Use HTML5 details element for the service switcher
2016-01-19 12:09:42 +00:00
Chris Hill-Scott
ba0c9ac6c1 Remove placeholder logs of notifications sent
From the:
- dashboard
- activity page

This info will be confusing for users at the hack day, because it will say
they’ve already sent messages when they first sign up.

This involved changing the table macro to have a nice ‘no rows’ message.
2016-01-19 12:04:18 +00:00
Chris Hill-Scott
a08089a47d Use HTML5 details element for the service switcher
The previous service switcher was built purely in Javascript, which meant that,
for the purposes of progressive enhancement, it had to load in the open state.
Setting it to the closed state with Javascript happened a fraction of a second
after page load. This caused an unpleasant flicker as the whole page shifted up
and down as it loaded.

This commit changes the switcher to use the native HTML5 `details` and
`summary` elements[1].

This commit adds a polyfill from GOV.UK Elements for browsers which don’t
support `details`/`summary`.

1. http://html5doctor.com/the-details-and-summary-elements/
2016-01-19 11:45:18 +00:00
Nicholas Staples
a9fead0d82 Merge with master. 2016-01-19 09:49:01 +00:00
Nicholas Staples
609f5f0a8d Working service integration. 2016-01-18 17:35:28 +00:00
Nicholas Staples
6e19dd7c9c Added choose_service using services_dao. 2016-01-18 16:01:04 +00:00
Nicholas Staples
a09ac6cbf5 Added choose_service using services_dao. 2016-01-18 11:15:14 +00:00
Chris Hill-Scott
81d4230b61 Page for adding a new service
This page is exactly the same as the page for adding your first service, save
the heading text.

So all this commit does is:
- set up two routes (`/add-service`, `/add-service/first`) for each of the two
  journeys and change the existing journeys to use the `/add-service/first`
  route
- add logic to show different heading text depending on the journey
- add a link to the new (`/add-service`) route in the service chooser dropdown
2016-01-18 11:03:25 +00:00
Chris Hill-Scott
0df399f11c Remove parts of the page that aren’t in the story
https://www.pivotaltracker.com/story/show/111614524

Not clear if we are going to have code examples on this page, or if the
documentation will be hosted somewhere else.

It seems unecessary to put documentation behind a log in, so I’d lean towards
this page just being links.
2016-01-17 09:40:05 +00:00
Chris Hill-Scott
e5585512c8 Integrate API key pattern into existing page 2016-01-17 09:40:05 +00:00
Chris Hill-Scott
c4544eb833 Add API key component
This commit adds a component for showing an API key. Usage:

```jinja
{{ from 'components/api-key.html' import api_key }}
{{ api_key('e1b0751388f3cd0fc9982c701acdb3c2') }}
```

Depending on the user’s browser, it works in three different ways.

No Javascript
---
The API key is shown on the page.

Older browsers with Javascript
---
The API key is hidden, and users can click a button to reveal it.

Newer browsers that support copying to clipboard without Flash
---
As above, but when the key is shown there is a button which copies it to the
clipboard. This is acheived by using
[this polyfill](https://www.npmjs.com/package/query-command-supported)
to reliably detect browser support for the ‘copy’ command.

The styling of the component is a bit different to the initial sketch. I think
a grey button works better than green. Green feels like it’s going to take you
somewhere else.
2016-01-17 09:39:09 +00:00
Chris Heathcote
e2021612b4 initial sketch for api docs page 2016-01-16 12:31:01 +00:00
Chris Hill-Scott
f3459847f1 Move view function into own file, add test 2016-01-16 12:31:01 +00:00
Nicholas Staples
4e2019c949 Work in progress, all tests passing and implemented mocks for services_dao. 2016-01-15 17:46:09 +00:00
Chris Heathcote
51b1e64234 Revert "Initial design sketches for api page"
This reverts commit 4e37c02b4e.
2016-01-15 11:39:00 +00:00
Chris Heathcote
4e37c02b4e Initial design sketches for api page 2016-01-15 11:36:03 +00:00
Adam Shimali
494e49ee45 Changed flow to upload directly to s3 if non empty file.
Then on check page file read back from s3 and checked.
2016-01-14 16:07:06 +00:00
Chris Hill-Scott
56f82b4491 Use correct heading class and better wording on error pages 2016-01-14 14:25:38 +00:00
Chris Hill-Scott
54b66c5947 Merge pull request #77 from alphagov/manage-templates-page
Manage templates page
2016-01-14 14:11:30 +00:00
NIcholas Staples
96f7034ed3 Merge pull request #73 from alphagov/choose-service-page
Add page to choose services
2016-01-14 11:35:48 +00:00
Chris Hill-Scott
1e0f5c27b9 Add link to delete a template
This is a link not a button because:
- it’s less prominent—delete is an infrequent action
- it’s a two-step process, and only the second part changes any data (so it has
  a button)
2016-01-14 10:59:51 +00:00
Chris Hill-Scott
2554fbe0e0 Simplify template picker to be just radio buttons
Includes making the selection buttons work properly
2016-01-14 10:59:51 +00:00
Chris Hill-Scott
13bb1ec5ee Spaces not tabs 2016-01-14 10:59:51 +00:00
Chris Hill-Scott
75c92c12c1 Add a prototype email template
If the templates page contains text messages and emails then there’s two ways it
could be structured:
- into two sections, all text messages first, then all emails
- emails and text messages interleaved, sorted by date

I think the second one is better. Imagine a situation where you mostly do emails
but have a few text messages. You’d have to scroll past the text messages to get
to your emails. Every time.

I reckon that the most commonly accessed templates will be the most recent ones.
2016-01-14 10:59:51 +00:00
Chris Hill-Scott
c7f635be4a Add some SMS messages to the choose template page 2016-01-14 10:55:30 +00:00
Chris Hill-Scott
fe0774066d Add manage templates link to main navigation
Because it’s important
2016-01-14 10:55:18 +00:00
Chris Hill-Scott
58317afdf1 Add page to choose services
Because a user can have multiple services, they need a way to navigate between
them. Normally they can use the ▶ Switcher to do this, except when:

- they first sign in
- they are on a page which isn’t associated with a service (eg user profile) in
  which case we can’t use the switcher because it won’t know what the ‘current’
  service is

So this commit adds a new page with a (fake) list of services.
2016-01-14 09:55:40 +00:00
Adam Shimali
4dcb180da1 Changed page flow to first save file and then redirect to check.
On check numbers in file are validated.

Posting to check then uploads file to s3
2016-01-13 17:32:40 +00:00
Chris Hill-Scott
4e8f8dead7 Add stubbed template_id to template pages
So that we can get a better sense of what the URLs look like.

Leaving unsigned for now because we don’t know if the ID will be a string or int
or…
2016-01-13 13:25:06 +00:00
Chris Hill-Scott
b4a8c2732d Add stubbed job_id
So that we can get a better sense of what the URLs look like.

Leaving unsigned for now because we don’t know if the ID will be a string or int
or…
2016-01-13 13:25:06 +00:00
Chris Hill-Scott
04b9c120d4 Add mocked service ID to all service-specific pages 2016-01-13 12:44:12 +00:00
Chris Hill-Scott
c94ac4266c Add confirmation of password for important changes
This commit adds an extra page or field for confirming your current password
when making important changes

Name                 | Email address     | Mobile number     | Password
---------------------|-------------------|-------------------|------------
No password required | As second page    | As second page    | On same page as new password
2016-01-12 15:30:18 +00:00
Chris Hill-Scott
df79dc69f6 Add loops for changing each part of your profile
This commit adds a page or series of pages for changing your:

Name              | Email address     | Mobile number     | Password
------------------|-------------------|-------------------|------------
Enter new value   | Enter new value   | Enter new value   | Enter new value
                  | Enter 2fa code    | Enter 2fa code    |
Return to profile | Return to profile | Return to profile | Return to profile

(each row is a page)
2016-01-12 15:30:18 +00:00
Chris Hill-Scott
ba50f132fc Add table to user profile page 2016-01-12 15:30:18 +00:00
Chris Hill-Scott
4cb535a2e1 Add progressive enhancement to service switcher
- by default, the menu is open
- if Javascript is enabled/loaded, the links are hidden, and visual cues (▶) to
  show that it can be opened are added
- clicking it opens and closes it
2016-01-12 11:47:02 +00:00
Chris Hill-Scott
732efd25c7 Refactor markup
Strips it down to only what’s necessary

As a separate commit for easier diffing.
2016-01-12 11:47:02 +00:00
Chris Hill-Scott
934ce51f2c Use user’s real name, not a placeholder 2016-01-12 11:47:02 +00:00