Delete env roles associated with disabled app role

This commit is contained in:
leigh-mil 2019-09-20 10:49:35 -04:00
parent 5c54c043c0
commit ed116ee791

View File

@ -1,6 +1,7 @@
from sqlalchemy.orm.exc import NoResultFound from sqlalchemy.orm.exc import NoResultFound
from atst.database import db from atst.database import db
from atst.domain.environment_roles import EnvironmentRoles
from atst.models import ApplicationRole, ApplicationRoleStatus from atst.models import ApplicationRole, ApplicationRoleStatus
from .permission_sets import PermissionSets from .permission_sets import PermissionSets
from .exceptions import NotFoundError from .exceptions import NotFoundError
@ -81,5 +82,13 @@ class ApplicationRoles(object):
@classmethod @classmethod
def disable(cls, application_role): def disable(cls, application_role):
cls._update_status(application_role, ApplicationRoleStatus.DISABLED)
application_role.deleted = True 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()