diff --git a/atst/domain/environment_roles.py b/atst/domain/environment_roles.py index f2ed2988..02f97a41 100644 --- a/atst/domain/environment_roles.py +++ b/atst/domain/environment_roles.py @@ -57,6 +57,14 @@ class EnvironmentRoles(object): ) return existing_env_role + @classmethod + def _update_status(cls, environment_role, new_status): + environment_role.status = new_status + db.session.add(environment_role) + db.session.commit() + + return environment_role + @classmethod def delete(cls, application_role_id, environment_id): existing_env_role = EnvironmentRoles.get(application_role_id, environment_id) @@ -64,6 +72,7 @@ class EnvironmentRoles(object): if existing_env_role: # TODO: Implement suspension existing_env_role.deleted = True + cls._update_status(existing_env_role, EnvironmentRole.Status.DISABLED) db.session.add(existing_env_role) db.session.commit() return True diff --git a/static/icons/avatar.svg b/static/icons/avatar.svg index a3b68837..23737bfd 100644 --- a/static/icons/avatar.svg +++ b/static/icons/avatar.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/templates/applications/fragments/members.html b/templates/applications/fragments/members.html index ac4aaffb..c252f452 100644 --- a/templates/applications/fragments/members.html +++ b/templates/applications/fragments/members.html @@ -36,7 +36,7 @@ {% set modal_name = "edit_member-{}".format(loop.index) %} {% call Modal(modal_name, classes="form-content--app-mem") %} diff --git a/tests/domain/test_environment_roles.py b/tests/domain/test_environment_roles.py index 30f7a32b..f5459811 100644 --- a/tests/domain/test_environment_roles.py +++ b/tests/domain/test_environment_roles.py @@ -1,6 +1,7 @@ import pytest from atst.domain.environment_roles import EnvironmentRoles +from atst.models.environment_role import EnvironmentRole from tests.factories import * @@ -49,10 +50,12 @@ def test_get_by_user_and_environment(application_role, environment): def test_delete(application_role, environment, monkeypatch): - EnvironmentRoleFactory.create( + env_role = EnvironmentRoleFactory.create( application_role=application_role, environment=environment ) assert EnvironmentRoles.delete(application_role.id, environment.id) + assert env_role.status == EnvironmentRole.Status.DISABLED + assert env_role.deleted assert not EnvironmentRoles.delete(application_role.id, environment.id) diff --git a/translations.yaml b/translations.yaml index 360d1daa..5ddfb9c7 100644 --- a/translations.yaml +++ b/translations.yaml @@ -409,6 +409,9 @@ portfolios: app_perms: title: Application Permissions description: Application permissions allow users to provision and modify applications and teams. Learn More + edit_access_header: "Manage {user}'s Access" + env_access_text: "Add or revoke Environment access. Additional controls are available in the CSP console." + step_2_title: Set Permissions and Roles add_member: Add Member menu: edit: Edit Roles and Permissions