Set folder permissions when creating and accepting invites to services

Added a folder permissions form to the page to invite users to services.
This only shows if the service has 'edit_folder_permissions' enabled,
and all folder checkboxes are checked by default. This change means that
InviteApiClient.create_invite now sends folder_permissions through to
notifications_api (so invites get created with folder permissions).

Started passing the folder_permissions through to notifications-api when
accepting an invite. This changes UserApiClient.add_user_to_service to
send folder_permissions to notifications_api so that new users get folder
permissions when they are added to the service.
This commit is contained in:
Katie Smith
2019-03-15 14:57:39 +00:00
parent 782bd34394
commit c39f6d49ea
10 changed files with 82 additions and 24 deletions

View File

@@ -47,7 +47,11 @@ def manage_users(service_id):
@user_has_permissions('manage_service')
def invite_user(service_id):
form = InviteUserForm(invalid_email_address=current_user.email_address)
form = InviteUserForm(
invalid_email_address=current_user.email_address,
all_template_folders=current_service.all_template_folders,
folder_permissions=[f['id'] for f in current_service.all_template_folders]
)
service_has_email_auth = current_service.has_permission('email_auth')
if not service_has_email_auth:
@@ -60,7 +64,11 @@ def invite_user(service_id):
service_id,
email_address,
form.permissions,
form.login_authentication.data
form.login_authentication.data,
folder_permissions=(
form.folder_permissions.data
if current_service.has_permission('edit_folder_permissions') else []
),
)
flash('Invite sent to {}'.format(invited_user.email_address), 'default_with_tick')