Merge pull request #1024 from dod-ccpo/167299614-deleted-app

Application members should not see deleted applications.
This commit is contained in:
dandds 2019-08-19 05:38:58 -04:00 committed by GitHub
commit 156025fb46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 0 deletions

View File

@ -63,6 +63,7 @@ class Applications(BaseDomainClass):
for role in application.roles:
role.deleted = True
role.status = ApplicationRoleStatus.DISABLED
db.session.add(role)
db.session.add(application)

View File

@ -35,6 +35,7 @@ class PortfoliosQuery(Query):
ApplicationRole.status
== ApplicationRoleStatus.ACTIVE
)
.filter(ApplicationRole.deleted == False)
.subquery()
)
)

View File

@ -225,3 +225,18 @@ def test_for_user_does_not_include_deleted_portfolios():
user = UserFactory.create()
PortfolioFactory.create(owner=user, deleted=True)
assert len(Portfolios.for_user(user)) == 0
def test_for_user_does_not_include_deleted_application_roles():
user1 = UserFactory.create()
user2 = UserFactory.create()
portfolio = PortfolioFactory.create()
app = ApplicationFactory.create(portfolio=portfolio)
ApplicationRoleFactory.create(
status=ApplicationRoleStatus.ACTIVE, user=user1, application=app
)
assert len(Portfolios.for_user(user1)) == 1
ApplicationRoleFactory.create(
status=ApplicationRoleStatus.ACTIVE, user=user2, application=app, deleted=True
)
assert len(Portfolios.for_user(user2)) == 0