Fix bug in application member deletion
This commit is contained in:
parent
0bd9d4bbb6
commit
30ef2a67ef
@ -128,15 +128,11 @@ class Applications(BaseDomainClass):
|
|||||||
return invitation
|
return invitation
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def remove_member(cls, application, user_id):
|
def remove_member(cls, application_role):
|
||||||
application_role = ApplicationRoles.get(
|
|
||||||
user_id=user_id, application_id=application.id
|
|
||||||
)
|
|
||||||
|
|
||||||
application_role.status = ApplicationRoleStatus.DISABLED
|
application_role.status = ApplicationRoleStatus.DISABLED
|
||||||
application_role.deleted = True
|
application_role.deleted = True
|
||||||
|
|
||||||
for env in application.environments:
|
for env in application_role.application.environments:
|
||||||
EnvironmentRoles.delete(
|
EnvironmentRoles.delete(
|
||||||
application_role_id=application_role.id, environment_id=env.id
|
application_role_id=application_role.id, environment_id=env.id
|
||||||
)
|
)
|
||||||
|
@ -189,14 +189,15 @@ def create_member(application_id):
|
|||||||
def remove_member(application_id, application_role_id):
|
def remove_member(application_id, application_role_id):
|
||||||
application_role = ApplicationRoles.get_by_id(application_role_id)
|
application_role = ApplicationRoles.get_by_id(application_role_id)
|
||||||
|
|
||||||
Applications.remove_member(
|
user_name = "a user"
|
||||||
application=g.application, user_id=application_role.user_id
|
if application_role.user:
|
||||||
)
|
user_name = application_role.user.full_name
|
||||||
user = Users.get(application_role.user_id)
|
|
||||||
|
Applications.remove_member(application_role)
|
||||||
|
|
||||||
flash(
|
flash(
|
||||||
"application_member_removed",
|
"application_member_removed",
|
||||||
user_name=user.full_name,
|
user_name=user_name,
|
||||||
application_name=g.application.name,
|
application_name=g.application.name,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ def test_remove_member():
|
|||||||
user_id=user.id, application_id=application.id
|
user_id=user.id, application_id=application.id
|
||||||
)
|
)
|
||||||
|
|
||||||
Applications.remove_member(application=application, user_id=member_role.user.id)
|
Applications.remove_member(member_role)
|
||||||
|
|
||||||
assert (
|
assert (
|
||||||
ApplicationRoles.get(user_id=user.id, application_id=application.id).status
|
ApplicationRoles.get(user_id=user.id, application_id=application.id).status
|
||||||
|
@ -218,6 +218,30 @@ def test_remove_member_success(client, user_session):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_remove_new_member_success(client, user_session):
|
||||||
|
application = ApplicationFactory.create()
|
||||||
|
application_role = ApplicationRoleFactory.create(application=application, user=None)
|
||||||
|
|
||||||
|
user_session(application.portfolio.owner)
|
||||||
|
|
||||||
|
response = client.post(
|
||||||
|
url_for(
|
||||||
|
"applications.remove_member",
|
||||||
|
application_id=application.id,
|
||||||
|
application_role_id=application_role.id,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
assert response.status_code == 302
|
||||||
|
assert response.location == url_for(
|
||||||
|
"applications.team",
|
||||||
|
_anchor="application-members",
|
||||||
|
_external=True,
|
||||||
|
application_id=application.id,
|
||||||
|
fragment="application-members",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def test_remove_member_failure(client, user_session):
|
def test_remove_member_failure(client, user_session):
|
||||||
user = UserFactory.create()
|
user = UserFactory.create()
|
||||||
application = ApplicationFactory.create()
|
application = ApplicationFactory.create()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user