Fix up front end so you can navigate to the edit page.

This commit is contained in:
Nicholas Staples
2016-03-03 15:43:53 +00:00
parent e5e9db88fd
commit b3249831cf
5 changed files with 23 additions and 13 deletions

View File

@@ -108,13 +108,13 @@ class RegisterUserFromInviteForm(Form):
class InviteUserForm(Form):
email_address = email_address('Their email address')
email_address = email_address('Their email address')
# TODO fix this Radio field so we are not having to test for yes or no rather
# use operator equality.
send_messages = RadioField("Send messages", choices=[('yes', 'Yes'), ('no', 'No')])
manage_service = RadioField("Manage service", choices=[('yes', 'Yes'), ('no', 'No')])
manage_api_keys = RadioField("Manage API keys", choices=[('yes', 'Yes'), ('no', 'No')])
send_messages = RadioField("Send messages", choices=[('yes', 'yes'), ('no', 'no')])
manage_service = RadioField("Manage service", choices=[('yes', 'yes'), ('no', 'no')])
manage_api_keys = RadioField("Manage API keys", choices=[('yes', 'yes'), ('no', 'no')])
class TwoFactorForm(Form):

View File

@@ -66,13 +66,18 @@ def edit_user_permissions(service_id, user_id):
# call as well. eg. /user/<user_id>?&service_id=service_id
user = user_api_client.get_user(user_id)
service = get_service_by_id(service_id)
# Need to make the email address read only, or a disabled field?
# Do it through the template or the form class?
form = InviteUserForm(**{
'email_address': user.email_address,
'send_messages': user.has_permissions(['send_texts', 'send_emails', 'send_letters']),
'manage_service': user.has_permissions(['manage_users', 'manage_templates', 'manage_settings']),
'manage_api_keys': user.has_permissions(['manage_api_keys', 'access_developer_docs'])
'send_messages': 'yes' if user.has_permissions(
['send_texts', 'send_emails', 'send_letters']) else 'no',
'manage_service': 'yes' if user.has_permissions(
['manage_users', 'manage_templates', 'manage_settings']) else 'no',
'manage_api_keys': 'yes' if user.has_permissions(
['manage_api_keys', 'access_developer_docs']) else 'no'
})
if form.validate_on_submit():
permissions = []
permissions.extend(

View File

@@ -5,11 +5,11 @@
</legend>
<div class='yes-no-fields inline'>
<label class='block-label'>
<input type='radio' name='{{ name }}' value='yes' {% if current_value == True %}checked{% endif %} />
<input type='radio' name='{{ name }}' value='yes' {% if current_value == 'yes' %}checked{% endif %} />
Yes
</label>
<label class='block-label'>
<input type='radio' name='{{ name }}' value='no' {% if current_value == False %}checked{% endif %} />
<input type='radio' name='{{ name }}' value='no' {% if current_value == 'no' %}checked{% endif %} />
No
</label>
</div>

View File

@@ -23,9 +23,9 @@ Manage users GOV.UK Notify
Permissions
</legend>
<span class="form-hint">All team members can see message history</span>
{{ yes_no(form.send_messages.name, form.send_messages.label, form.send_messages.value) }}
{{ yes_no(form.manage_service.name, form.manage_service.label, form.manage_service.value) }}
{{ yes_no(form.manage_api_keys, form.manage_api_keys, form.manage_api_keys.value) }}
{{ yes_no(form.send_messages.name, form.send_messages.label, form.send_messages.data) }}
{{ yes_no(form.manage_service.name, form.manage_service.label, form.manage_service.data) }}
{{ yes_no(form.manage_api_keys.name, form.manage_api_keys.label, form.manage_api_keys.data) }}
</fieldset>
{% if user %}

View File

@@ -31,6 +31,11 @@ Manage users GOV.UK Notify
{{ boolean_field(item.has_permissions(['send_texts', 'send_emails', 'send_letters'], service_id=service_id)) }}
{{ boolean_field(item.has_permissions(['manage_users', 'manage_templates', 'manage_settings'], service_id=service_id)) }}
{{ boolean_field(item.has_permissions(['manage_api_keys', 'access_developer_docs'], service_id=service_id)) }}
{% call field(align='right') %}
{% if current_user.id != item.id %}
<a href="{{ url_for('.edit_user_permissions', service_id=service_id, user_id=item.id)}}">Edit permission</a>
{% endif %}
{% endcall %}
{% endcall %}
{% if invited_users %}