Merge pull request #149 from alphagov/add-manage-users

Populate manage users page with fake data
This commit is contained in:
Adam Shimali
2016-02-04 12:12:26 +00:00
3 changed files with 134 additions and 32 deletions

View File

@@ -3,24 +3,18 @@
# notifications-admin
Application to handle the admin functions of the notifications application.
### Features of this application:
<ul>
<li>Register users
<li>Register services
<li>Download CSV for an email or sms batch
<li>Show history of notifications
<li>Reports
</ul>
## Features of this application
### Create a virtual environment for this project
```shell
mkvirtualenv -p /usr/local/bin/python3 notifications-admin
```
- Register users
- Register services
- Download CSV for an email or SMS batch
- Show history of notifications
- Reports
### Building the frontend
## First-time setup
You need [Node](http://nodejs.org/) which will also get you [NPM](npmjs.org),
Node's package management tool.
@@ -43,28 +37,36 @@ The frontend dependencies are managed using NPM and Bower. To install or update
npm run build
```
The app runs within a virtual environment. To [install virtualenv](https://virtualenv.readthedocs.org/en/latest/installation.html), run
```shell
[sudo] pip install virtualenv
```
To make a virtualenv for this app, run
```shell
mkvirtualenv -p /usr/local/bin/python3 notifications-admin
pip install -r requirements.txt
./scripts/bootstrap.sh
```
## Building the frontend
If you want the front end assets to re-compile on changes, leave this running
in a separate terminal from the app
```shell
npm run watch
```
### Running the application:
## Running the application
```shell
pip install -r requirements.txt
./scripts/bootstrap.sh
workon notifications-admin
./scripts/run_app.sh
```
Note: the ./scripts/bootstrap.sh script only needs to be run the first time to
create the database.
Then visit [localhost:6012](localhost:6012)
URL to test app:
localhost:6012/helloworld
### Domain model
## Domain model
All the domain models are defined in the
[models.py](https://github.com/alphagov/notifications-admin/blob/master/app/models.py)

View File

@@ -39,4 +39,58 @@ def check_email(service_id):
@main.route("/services/<service_id>/manage-users")
@login_required
def manage_users(service_id):
return render_template('views/manage-users.html', service_id=service_id)
users = [
{
'name': 'Henry Hadlow',
'permission_send_messages': True,
'permission_manage_service': False,
'permission_manage_api_keys': False
},
{
'name': 'Pete Herlihy',
'permission_send_messages': False,
'permission_manage_service': False,
'permission_manage_api_keys': False,
},
{
'name': 'Chris Hill-Scott',
'permission_send_messages': True,
'permission_manage_service': True,
'permission_manage_api_keys': True
},
{
'name': 'Martyn Inglis',
'permission_send_messages': True,
'permission_manage_service': True,
'permission_manage_api_keys': True
}
]
invited_users = [
{
'email_localpart': 'caley.smolska',
'permission_send_messages': True,
'permission_manage_service': False,
'permission_manage_api_keys': False
},
{
'email_localpart': 'ash.stephens',
'permission_send_messages': False,
'permission_manage_service': False,
'permission_manage_api_keys': False
},
{
'email_localpart': 'nicholas.staples',
'permission_send_messages': True,
'permission_manage_service': True,
'permission_manage_api_keys': True
},
{
'email_localpart': 'adam.shimali',
'permission_send_messages': True,
'permission_manage_service': True,
'permission_manage_api_keys': True
}
]
return render_template('views/manage-users.html', service_id=service_id, users=users, invited_users=invited_users)

View File

@@ -1,4 +1,5 @@
{% extends "withnav_template.html" %}
{% from "components/table.html" import list_table, row, field %}
{% from "components/page-footer.html" import page_footer %}
{% block page_title %}
@@ -7,13 +8,58 @@ GOV.UK Notify | Manage users
{% block maincolumn_content %}
<h1 class="heading-large">Manage users</h1>
<h1 class="heading-large">Manage users</h1>
<p>Here's where you can add or remove users of a service.</p>
<p>
<a href="#" class="button">Invite users</a>
</p>
{{ page_footer(
back_link = url_for('.service_dashboard', service_id=service_id),
back_link_text = 'Back to dashboard'
) }}
{% call(item) list_table(
users,
caption='Active users',
field_headings=['Name', 'Send messages', 'Manage Service', 'Manage API keys', 'Link to change'],
field_headings_visible=True,
caption_visible=True
) %}
{% call field() %}
{{ item.name }}
{% endcall %}
{% call field() %}
{{ "✔" if item.permission_send_messages else "❌" }}
{% endcall %}
{% call field() %}
{{ "✔" if item.permission_manage_service else "❌" }}
{% endcall %}
{% call field() %}
{{ "✔" if item.permission_manage_api_keys else "❌" }}
{% endcall %}
{% call field(align='right') %}
<a href="#">Change</a>
{% endcall %}
{% endcall %}
{% call(item) list_table(
invited_users,
caption='Invited users',
field_headings=['Name', 'Send messages', 'Manage Service', 'Manage API keys', 'Link to change'],
field_headings_visible=True,
caption_visible=True
) %}
{% call field() %}
{{ item.email_localpart }}
{% endcall %}
{% call field() %}
{{ "✔" if item.permission_send_messages else "❌" }}
{% endcall %}
{% call field() %}
{{ "✔" if item.permission_manage_service else "❌" }}
{% endcall %}
{% call field() %}
{{ "✔" if item.permission_manage_api_keys else "❌" }}
{% endcall %}
{% call field(align='right') %}
<a href="#">Change</a>
{% endcall %}
{% endcall %}
{% endblock %}