[WIP] Post does not need any data

Invites rest module can use invited user object instead
of dict.
This commit is contained in:
Adam Shimali
2016-03-01 17:23:23 +00:00
parent 5f3c72729e
commit 5f02d4cefe
5 changed files with 20 additions and 13 deletions

View File

@@ -17,13 +17,13 @@ from app import (
def accept_invite(token):
try:
invited_user = invite_api_client.accept_invite(token)
existing_user = user_api_client.get_user_by_email(invited_user['email_address'])
existing_user = user_api_client.get_user_by_email(invited_user.email_address)
if existing_user:
user_api_client.add_user_to_service(invited_user['service'],
existing_user.id,
invited_user)
return redirect(url_for('main.service_dashboard', service_id=invited_user['service']))
user_api_client.add_user_to_service(invited_user.service,
existing_user.id)
return redirect(url_for('main.service_dashboard', service_id=invited_user.service))
else:
# TODO implement registration flow for new users
abort(404)

View File

@@ -1,3 +1,5 @@
import json
from notifications_python_client.notifications import BaseAPIClient
from notifications_python_client.errors import HTTPError
@@ -86,7 +88,7 @@ class UserApiClient(BaseAPIClient):
resp = self.get(endpoint)
return [User(data) for data in resp['data']]
def add_user_to_service(self, service_id, user_id, invited_user):
def add_user_to_service(self, service_id, user_id):
endpoint = '/service/{}/users/{}'.format(service_id, user_id)
resp = self.post(endpoint, data=invited_user)
resp = self.post(endpoint)
return User(resp['data'], max_failed_login_count=self.max_failed_login_count)

View File

@@ -45,7 +45,7 @@ Manage users GOV.UK Notify
{% endcall %}
{{ boolean_field(item.has_permissions('send_messages')) }}
{{ boolean_field(item.has_permissions('manage_service')) }}
{{ boolean_field(item.has_permissions('api_keys')) }}
{{ 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 %}