Merge pull request #172 from taigaio/bug/1700/delete-empty-memberships
If two pending memberships exist in the same projecto I can't delete themremotes/origin/enhancement/email-actions
commit
88568e0268
|
@ -242,7 +242,7 @@ class MembershipViewSet(ModelCrudViewSet):
|
|||
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
def pre_delete(self, obj):
|
||||
if not services.can_user_leave_project(obj.user, obj.project):
|
||||
if obj.user is not None and not services.can_user_leave_project(obj.user, obj.project):
|
||||
raise exc.BadRequest(_("At least one of the user must be an active admin"))
|
||||
|
||||
def pre_save(self, obj):
|
||||
|
|
|
@ -184,3 +184,14 @@ def test_api_delete_membership(client):
|
|||
response = client.json.delete(url)
|
||||
|
||||
assert response.status_code == 204
|
||||
|
||||
|
||||
def test_api_delete_membership_without_user(client):
|
||||
membership_owner = f.MembershipFactory(is_owner=True)
|
||||
membership_without_user_one = f.MembershipFactory(project=membership_owner.project, user=None)
|
||||
membership_without_user_two = f.MembershipFactory(project=membership_owner.project, user=None)
|
||||
client.login(membership_owner.user)
|
||||
url = reverse("memberships-detail", args=[membership_without_user_one.id])
|
||||
response = client.json.delete(url)
|
||||
|
||||
assert response.status_code == 204
|
||||
|
|
Loading…
Reference in New Issue