Let inviting a user complete the go live checklist

At the moment you have to wait for whoever you’ve invited to accept the
invitation before you can go live. Since this check is mainly for the
benefit of the service, not us, we should trust that people’s intentions
are good when they invite someone.

So this commit also checks the invited users when counting how many team
members a service has.
This commit is contained in:
Chris Hill-Scott
2019-04-11 16:40:25 +01:00
parent e8b95f03c6
commit 116f36192f
4 changed files with 58 additions and 6 deletions

View File

@@ -1,5 +1,6 @@
from app.models.user import (
InvitedUser,
roles,
translate_permissions_from_admin_roles_to_db,
)
from app.notify_client import NotifyAdminAPIClient, _attach_current_user, cache
@@ -44,6 +45,14 @@ class InviteApiClient(NotifyAdminAPIClient):
'/service/{}/invite'.format(service_id)
)['data']
def get_count_of_invites_with_permission(self, service_id, permission):
if permission not in roles.keys():
raise TypeError('{} is not a valid permission'.format(permission))
return len([
invited_user for invited_user in self.get_invites_for_service(service_id)
if invited_user.has_permission_for_service(service_id, permission)
])
def check_token(self, token):
resp = self.get(url='/invite/service/{}'.format(token))
return InvitedUser(**resp['data'])