mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 02:42:26 -05:00
Merge pull request #149 from alphagov/add-manage-users
Populate manage users page with fake data
This commit is contained in:
52
README.md
52
README.md
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 %}
|
||||
|
||||
Reference in New Issue
Block a user