Files
website-v2/versions/api.py
Natalia a8cd8f507a Ran pre-commit run -a
Completed runs of black and rest of pre-commit checks.
2023-05-30 23:21:53 -03:00

28 lines
883 B
Python
Executable File

from rest_framework import viewsets
from rest_framework import permissions
from versions.permissions import SuperUserOrVersionManager
from versions.models import Version
from versions.serializers import VersionSerializer
class VersionViewSet(viewsets.ModelViewSet):
model = Version
serializer_class = VersionSerializer
def get_queryset(self):
if self.request.user.is_authenticated:
return Version.objects.all()
else:
return Version.objects.active()
def get_permissions(self):
"""
Allow anyone in the public to view the list of active Versions, but
only allow SueprUsers or VersionManagers to create or update data
"""
if self.action == "list":
return [permissions.AllowAny()]
else:
return [permissions.IsAuthenticated(), SuperUserOrVersionManager()]