From ed116ee79174d6adec6be32f6babdf00ef1f923a Mon Sep 17 00:00:00 2001 From: leigh-mil Date: Fri, 20 Sep 2019 10:49:35 -0400 Subject: [PATCH] Delete env roles associated with disabled app role --- atst/domain/application_roles.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/atst/domain/application_roles.py b/atst/domain/application_roles.py index 76e81089..826f7f6c 100644 --- a/atst/domain/application_roles.py +++ b/atst/domain/application_roles.py @@ -1,6 +1,7 @@ from sqlalchemy.orm.exc import NoResultFound from atst.database import db +from atst.domain.environment_roles import EnvironmentRoles from atst.models import ApplicationRole, ApplicationRoleStatus from .permission_sets import PermissionSets from .exceptions import NotFoundError @@ -81,5 +82,13 @@ class ApplicationRoles(object): @classmethod def disable(cls, application_role): + cls._update_status(application_role, ApplicationRoleStatus.DISABLED) application_role.deleted = True - return cls._update_status(application_role, ApplicationRoleStatus.DISABLED) + + for env in application_role.application.environments: + EnvironmentRoles.delete( + application_role_id=application_role.id, environment_id=env.id + ) + + db.session.add(application_role) + db.session.commit()