Merge pull request #817 from dod-ccpo/delete-user-from-application

Delete an application member
This commit is contained in:
George Drummond
2019-05-14 15:45:32 -04:00
committed by GitHub
12 changed files with 171 additions and 12 deletions

View File

@@ -3,6 +3,7 @@ from sqlalchemy.orm.exc import NoResultFound
from atst.database import db
from . import BaseDomainClass
from atst.domain.application_roles import ApplicationRoles
from atst.domain.environment_roles import EnvironmentRoles
from atst.domain.environments import Environments
from atst.domain.exceptions import NotFoundError
from atst.domain.users import Users
@@ -100,3 +101,16 @@ class Applications(BaseDomainClass):
Environments.add_member(environment, user, env_role_data.get("role"))
return application_role
@classmethod
def remove_member(cls, application, user_id):
application_role = ApplicationRoles.get(
user_id=user_id, application_id=application.id
)
application_role.status = ApplicationRoleStatus.DISABLED
db.session.add(application_role)
db.session.commit()
for env in application.environments:
EnvironmentRoles.delete(user_id=user_id, environment_id=env.id)

View File

@@ -88,6 +88,7 @@ _PORTFOLIO_APP_MGMT_PERMISSION_SETS = [
Permissions.CREATE_APPLICATION,
Permissions.DELETE_APPLICATION,
Permissions.EDIT_APPLICATION_MEMBER,
Permissions.DELETE_APPLICATION_MEMBER,
Permissions.CREATE_APPLICATION_MEMBER,
Permissions.EDIT_ENVIRONMENT,
Permissions.CREATE_ENVIRONMENT,
@@ -205,6 +206,7 @@ _APPLICATION_TEAM_PERMISSION_SET = {
"display_name": "Manage team",
"permissions": [
Permissions.EDIT_APPLICATION_MEMBER,
Permissions.DELETE_APPLICATION_MEMBER,
Permissions.CREATE_APPLICATION_MEMBER,
Permissions.ASSIGN_ENVIRONMENT_MEMBER,
],