From a38baa0bd8a9f4164c42c9eda1d54bcd31d31b7e Mon Sep 17 00:00:00 2001 From: Ben Thorner Date: Thu, 22 Jul 2021 14:15:24 +0100 Subject: [PATCH] Rename unclear "permissions" attributes These are more than a list of permissions: each item includes the label to use when displaying it as an option on a form. Switching to a name that reflects how the attributes are used will help to avoid confusion when we rename some of the other attributes in the same file in later commits. --- app/main/forms.py | 16 ++++++++++------ app/main/views/manage_users.py | 7 +++++-- app/utils/user_permissions.py | 4 ++-- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/app/main/forms.py b/app/main/forms.py index bd8f572dd..9f45bead9 100644 --- a/app/main/forms.py +++ b/app/main/forms.py @@ -58,7 +58,11 @@ from app.models.feedback import PROBLEM_TICKET_TYPE, QUESTION_TICKET_TYPE from app.models.organisation import Organisation from app.utils import merge_jsonlike from app.utils.user import distinct_email_addresses -from app.utils.user_permissions import broadcast_permissions, permissions, roles +from app.utils.user_permissions import ( + broadcast_permission_options, + permission_options, + roles, +) def get_time_value_and_label(future_time): @@ -946,15 +950,15 @@ def filter_by_permissions(valuelist): if valuelist is None: return None else: - return [entry for entry in valuelist if any(entry in role for role in permissions)] + return [entry for entry in valuelist if any(entry in role for role in permission_options)] -# guard against data entries that aren't a role in broadcast_permissions +# guard against data entries that aren't a role in broadcast_permission_options def filter_by_broadcast_permissions(valuelist): if valuelist is None: return None else: - return [entry for entry in valuelist if any(entry in role for role in broadcast_permissions)] + return [entry for entry in valuelist if any(entry in role for role in broadcast_permission_options)] class BasePermissionsForm(StripWhitespaceForm): @@ -985,7 +989,7 @@ class BasePermissionsForm(StripWhitespaceForm): 'Permissions', filters=[filter_by_permissions], choices=[ - (value, label) for value, label in permissions + (value, label) for value, label in permission_options ], param_extensions={ "hint": {"text": "All team members can see sent messages."} @@ -1023,7 +1027,7 @@ class BroadcastPermissionsForm(BasePermissionsForm): permissions_field = GovukCheckboxesField( 'Permissions', choices=[ - (value, label) for value, label in broadcast_permissions + (value, label) for value, label in broadcast_permission_options ], filters=[filter_by_broadcast_permissions], param_extensions={ diff --git a/app/main/views/manage_users.py b/app/main/views/manage_users.py index 13327ded2..42d5c5bba 100644 --- a/app/main/views/manage_users.py +++ b/app/main/views/manage_users.py @@ -30,7 +30,10 @@ from app.main.forms import ( ) from app.models.user import InvitedUser, User from app.utils.user import is_gov_user, user_has_permissions -from app.utils.user_permissions import broadcast_permissions, permissions +from app.utils.user_permissions import ( + broadcast_permission_options, + permission_options, +) @main.route("/services//users") @@ -43,7 +46,7 @@ def manage_users(service_id): show_search_box=(len(current_service.team_members) > 7), form=SearchUsersForm(), permissions=( - broadcast_permissions if current_service.has_permission('broadcast') else permissions + broadcast_permission_options if current_service.has_permission('broadcast') else permission_options ), ) diff --git a/app/utils/user_permissions.py b/app/utils/user_permissions.py index 124b55e8b..c484d0ff1 100644 --- a/app/utils/user_permissions.py +++ b/app/utils/user_permissions.py @@ -13,7 +13,7 @@ roles = { all_permissions = set(roles.keys()) all_database_permissions = set(chain(*roles.values())) -permissions = ( +permission_options = ( ('view_activity', 'See dashboard'), ('send_messages', 'Send messages'), ('manage_templates', 'Add and edit templates'), @@ -21,7 +21,7 @@ permissions = ( ('manage_api_keys', 'Manage API integration'), ) -broadcast_permissions = ( +broadcast_permission_options = ( ('manage_templates', 'Add and edit templates'), ('create_broadcasts', 'Create new alerts'), ('approve_broadcasts', 'Approve alerts'),