mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-18 05:29:38 -04:00
Merge pull request #218 from alphagov/cancel-invited-user
Cancel invited user
This commit is contained in:
@@ -4,8 +4,7 @@ from flask import (
|
||||
redirect,
|
||||
abort,
|
||||
url_for,
|
||||
flash
|
||||
)
|
||||
flash)
|
||||
|
||||
from flask_login import (
|
||||
login_required,
|
||||
@@ -79,7 +78,7 @@ def invite_user(service_id):
|
||||
|
||||
@main.route("/services/<service_id>/users/<user_id>", methods=['GET', 'POST'])
|
||||
@login_required
|
||||
def edit_user(service_id, user_id):
|
||||
def edit_user_permissions(service_id, user_id):
|
||||
|
||||
if request.method == 'POST':
|
||||
return redirect(url_for('.manage_users', service_id=service_id))
|
||||
@@ -116,6 +115,13 @@ def delete_user(service_id, user_id):
|
||||
)
|
||||
|
||||
|
||||
@main.route("/services/<service_id>/cancel-invited-user/<invited_user_id>", methods=['GET'])
|
||||
def cancel_invited_user(service_id, invited_user_id):
|
||||
invite_api_client.cancel_invited_user(service_id=service_id, invited_user_id=invited_user_id)
|
||||
|
||||
return redirect(url_for('main.manage_users', service_id=service_id))
|
||||
|
||||
|
||||
def _get_permissions(form):
|
||||
permissions = []
|
||||
if form.get('send_messages') and form['send_messages'] == 'yes':
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
from notifications_python_client.base import BaseAPIClient
|
||||
from app.notify_client.models import InvitedUser
|
||||
|
||||
@@ -27,17 +28,21 @@ class InviteApiClient(BaseAPIClient):
|
||||
endpoint = '/service/{}/invite'.format(service_id)
|
||||
resp = self.get(endpoint)
|
||||
invites = resp['data']
|
||||
invited_users = _get_invited_users(invites)
|
||||
invited_users = self._get_invited_users(invites)
|
||||
return invited_users
|
||||
|
||||
def accept_invite(self, token):
|
||||
resp = self.get(url='/invite/{}'.format(token))
|
||||
return InvitedUser(**resp['data'])
|
||||
|
||||
def cancel_invited_user(self, service_id, invited_user_id):
|
||||
data = {'status': 'cancelled'}
|
||||
self.post(url='/service/{0}/invite/{1}'.format(service_id, invited_user_id),
|
||||
data=data)
|
||||
|
||||
def _get_invited_users(invites):
|
||||
invited_users = []
|
||||
for invite in invites:
|
||||
invited_user = InvitedUser(**invite)
|
||||
invited_users.append(invited_user)
|
||||
return invited_users
|
||||
def _get_invited_users(self, invites):
|
||||
invited_users = []
|
||||
for invite in invites:
|
||||
invited_user = InvitedUser(**invite)
|
||||
invited_users.append(invited_user)
|
||||
return invited_users
|
||||
|
||||
@@ -31,9 +31,6 @@ Manage users – GOV.UK Notify
|
||||
{{ boolean_field(item.has_permissions(service_id, 'send_messages')) }}
|
||||
{{ boolean_field(item.has_permissions(service_id, 'manage_service')) }}
|
||||
{{ boolean_field(item.has_permissions(service_id, 'manage_api_keys')) }}
|
||||
{% call field(align='right') %}
|
||||
<a href="{{ url_for('.edit_user', service_id=service_id, user_id=item.id)}}">Change</a>
|
||||
{% endcall %}
|
||||
{% endcall %}
|
||||
|
||||
{% if invited_users %}
|
||||
@@ -46,9 +43,15 @@ Manage users – GOV.UK Notify
|
||||
{{ boolean_field(item.has_permissions('send_messages')) }}
|
||||
{{ boolean_field(item.has_permissions('manage_service')) }}
|
||||
{{ boolean_field(item.has_permissions('manage_api_keys')) }}
|
||||
{% call field(align='right') %}
|
||||
<a href="{{ url_for('.edit_user', service_id=service_id, user_id=item.id)}}">Change</a>
|
||||
{% endcall %}
|
||||
{% if item.status == 'pending' %}
|
||||
{% call field(align='right') %}
|
||||
<a href="{{ url_for('.cancel_invited_user', service_id=service_id, invited_user_id=item.id)}}">Cancel invitation</a>
|
||||
{% endcall %}
|
||||
{% else %}
|
||||
{% call field() %}
|
||||
{{ item.status }}
|
||||
{% endcall %}
|
||||
{% endif %}
|
||||
{% endcall %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user