Allowing destroy roles with move memberships to other role
parent
31d6185dd0
commit
7b2349b366
|
@ -248,6 +248,21 @@ class RolesViewSet(ModelCrudViewSet):
|
||||||
filter_backends = (filters.CanViewProjectFilterBackend,)
|
filter_backends = (filters.CanViewProjectFilterBackend,)
|
||||||
filter_fields = ('project',)
|
filter_fields = ('project',)
|
||||||
|
|
||||||
|
@tx.atomic
|
||||||
|
def destroy(self, request, *args, **kwargs):
|
||||||
|
moveTo = self.request.QUERY_PARAMS.get('moveTo', None)
|
||||||
|
if moveTo is None:
|
||||||
|
return super().destroy(request, *args, **kwargs)
|
||||||
|
|
||||||
|
obj = self.get_object_or_none()
|
||||||
|
|
||||||
|
moveItem = get_object_or_404(self.model, project=obj.project, id=moveTo)
|
||||||
|
|
||||||
|
self.check_permissions(request, 'destroy', obj)
|
||||||
|
|
||||||
|
models.Membership.objects.filter(project=obj.project, role=obj).update(role=moveItem)
|
||||||
|
return super().destroy(request, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
# User Stories commin ViewSets
|
# User Stories commin ViewSets
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue