Merge pull request #817 from dod-ccpo/delete-user-from-application
Delete an application member
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user