SciPost Code Repository

Skip to content
Snippets Groups Projects
viewsets.py 1.75 KiB
Newer Older
Jorran de Wit's avatar
Jorran de Wit committed
__copyright__ = "Copyright 2016-2018, Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"


from django.shortcuts import get_object_or_404
from rest_framework import viewsets, permissions, response, serializers
from rest_framework.decorators import action

from .constants import STATUS_VERIFIED, STATUS_DEPRECATED
Jorran de Wit's avatar
Jorran de Wit committed
# from .models import ConflictOfInterest
# from .serializers import ConflictOfInterestSerializer
#
#
# class IsEditorialAdministrator(permissions.BasePermission):
#     """Check if User is Editorial Administrator to allow permission to API."""
#
#     def has_object_permission(self, request, view, obj):
#         """Check user's permissions."""
#         return request.user.has_perm('scipost.can_oversee_refereeing')
#
#
# class ConflictOfInterestViewSet(viewsets.ModelViewSet):
#     """API view for ConflictOfInterest."""
#
#     queryset = ConflictOfInterest.objects.all()
#     serializer_class = ConflictOfInterestSerializer
#     permission_classes = [permissions.IsAuthenticated, IsEditorialAdministrator]
#
#     @action(methods=['post'], detail=True, permission_classes=[IsEditorialAdministrator],
#             url_path='verify-conflict', url_name='verify_conflict')
#     def verify_conflict(self, request, pk=None):
#         """Verify a ConflictOfInterest or delete."""
#         coi = get_object_or_404(ConflictOfInterest.objects.unverified(), pk=pk)
#         if request.POST['status'] == 'verified':
#             coi.status = STATUS_VERIFIED
#         elif request.POST['status'] == 'delete':
#             coi.status = STATUS_DEPRECATED
#         else:
#             raise serializers.ValidationError('Invalid status value.')
#         coi.save()
#         serializer = self.serializer_class(coi)
#         return response.Response(serializer.data)