diff --git a/atst/domain/environments.py b/atst/domain/environments.py index 69ba8ab3..3e2024a8 100644 --- a/atst/domain/environments.py +++ b/atst/domain/environments.py @@ -66,7 +66,7 @@ class Environments(object): def update_env_role(cls, environment, user, new_role): updated = False - if new_role is None or new_role == "No access": + if new_role is None: role_deleted = EnvironmentRoles.delete(user.id, environment.id) if role_deleted: updated = True diff --git a/atst/forms/app_settings.py b/atst/forms/app_settings.py index cdc20b0d..4c9b4c3c 100644 --- a/atst/forms/app_settings.py +++ b/atst/forms/app_settings.py @@ -9,6 +9,13 @@ class EnvMemberRoleForm(BaseForm): user_id = HiddenField() role = RadioField(choices=ENV_ROLES) + @property + def data(self): + _data = super().data + if _data["role"] == "": + _data["role"] = None + return _data + class EnvironmentRolesForm(BaseForm): team_roles = FieldList(FormField(EnvMemberRoleForm)) diff --git a/atst/forms/data.py b/atst/forms/data.py index 85826ada..20f9a2ff 100644 --- a/atst/forms/data.py +++ b/atst/forms/data.py @@ -217,6 +217,4 @@ REQUIRED_DISTRIBUTIONS = [ ("other", "Other as necessary"), ] -ENV_ROLES = [(role.value, role.value) for role in CSPRole] + [ - ("No access", "No access") -] +ENV_ROLES = [(role.value, role.value) for role in CSPRole] + [("", "No access")] diff --git a/tests/domain/test_environments.py b/tests/domain/test_environments.py index 18027fd8..7d959874 100644 --- a/tests/domain/test_environments.py +++ b/tests/domain/test_environments.py @@ -34,9 +34,7 @@ def test_update_env_role(): def test_update_env_role_no_access(): env_role = EnvironmentRoleFactory.create(role=CSPRole.BASIC_ACCESS.value) - assert Environments.update_env_role( - env_role.environment, env_role.user, "No access" - ) + assert Environments.update_env_role(env_role.environment, env_role.user, None) assert not EnvironmentRoles.get(env_role.user.id, env_role.environment.id) @@ -84,7 +82,7 @@ def test_update_env_roles_by_environment(): { "user_id": env_role_3.user.id, "name": env_role_3.user.full_name, - "role": "No access", + "role": None, }, ] @@ -119,7 +117,7 @@ def test_update_env_roles_by_member(): {"id": dev.id, "role": CSPRole.NETWORK_ADMIN.value}, {"id": staging.id, "role": CSPRole.BUSINESS_READ.value}, {"id": prod.id, "role": CSPRole.TECHNICAL_READ.value}, - {"id": testing.id, "role": "No access"}, + {"id": testing.id, "role": None}, ] Environments.update_env_roles_by_member(user, env_roles) diff --git a/tests/routes/applications/test_settings.py b/tests/routes/applications/test_settings.py index ff8025b0..9bc2953a 100644 --- a/tests/routes/applications/test_settings.py +++ b/tests/routes/applications/test_settings.py @@ -189,7 +189,7 @@ def test_user_with_permission_can_update_team_env_roles(client, user_session): "team_roles-1-role": CSPRole.BASIC_ACCESS.value, "team_roles-2-user_id": env_role_3.user.id, "team_roles-2-name": env_role_3.user.full_name, - "team_roles-2-role": "No access", + "team_roles-2-role": "", "team_roles-3-user_id": app_role.user.id, "team_roles-3-name": app_role.user.full_name, "team_roles-3-role": CSPRole.TECHNICAL_READ.value, @@ -227,7 +227,7 @@ def test_user_without_permission_cannot_update_team_env_roles(client, user_sessi "team_roles-0-role": CSPRole.NETWORK_ADMIN.value, "team_roles-1-user_id": env_role_2.user.id, "team_roles-1-name": env_role_2.user.full_name, - "team_roles-1-role": "No access", + "team_roles-1-role": "", "team_roles-2-user_id": app_role.user.id, "team_roles-2-name": app_role.user.full_name, "team_roles-2-role": CSPRole.TECHNICAL_READ.value,