Update form to handle No access
This commit is contained in:
parent
9b426bbde4
commit
5e415edaef
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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")]
|
||||
|
@ -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)
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user