mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-18 08:16:07 +00:00
add delete reviewer api (#2556)
This commit is contained in:
@@ -120,3 +120,32 @@ class DraftReviewReviewerView(APIView):
|
||||
to_user=reviewer, review_id=r.id)
|
||||
|
||||
return Response(result)
|
||||
|
||||
def delete(self, request, pk):
|
||||
"""Delete a reviewer
|
||||
"""
|
||||
try:
|
||||
r = DraftReview.objects.get(pk=pk)
|
||||
except DraftReview.DoesNotExist:
|
||||
return api_error(status.HTTP_404_NOT_FOUND,
|
||||
'Review %s not found' % pk)
|
||||
|
||||
perm = check_folder_permission(request, r.origin_repo_id, '/')
|
||||
|
||||
if perm is None:
|
||||
error_msg = 'Permission denied.'
|
||||
return api_error(status.HTTP_403_FORBIDDEN, error_msg)
|
||||
|
||||
reviewer = request.GET.get('username')
|
||||
|
||||
if reviewer is None:
|
||||
return api_error(status.HTTP_400_BAD_REQUEST, 'Email %s invalid.' % reviewer)
|
||||
|
||||
try:
|
||||
reviewer_obj = ReviewReviewer.objects.get(reviewer=reviewer, review_id=r)
|
||||
except ReviewReviewer.DoesNotExist:
|
||||
return Response(status.HTTP_200_OK)
|
||||
|
||||
reviewer_obj.delete()
|
||||
|
||||
return Response(status.HTTP_200_OK)
|
||||
|
@@ -34,3 +34,17 @@ class ReviewReviewerViewTest(BaseTestCase):
|
||||
assert json_resp['success'][0]['user_info']['name'] == self.share_to
|
||||
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
def test_can_delete(self):
|
||||
self.client.post(self.url, {
|
||||
'reviewer': [self.share_to]
|
||||
})
|
||||
|
||||
assert len(ReviewReviewer.objects.all()) == 1
|
||||
|
||||
url = self.url + '?username=' + self.share_to
|
||||
resp = self.client.delete(url)
|
||||
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
assert len(ReviewReviewer.objects.all()) == 0
|
||||
|
Reference in New Issue
Block a user