2020-03-11 09:08:28 +00:00
|
|
|
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
|
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
2020-03-11 10:15:03 +00:00
|
|
|
from django_filters.rest_framework import DjangoFilterBackend
|
2020-03-11 11:41:44 +00:00
|
|
|
from rest_framework.filters import OrderingFilter
|
2020-03-18 13:42:35 +00:00
|
|
|
from api.viewsets import ReadOnlyProtectedModelViewSet
|
2020-03-20 01:14:43 +00:00
|
|
|
|
2020-03-11 09:08:28 +00:00
|
|
|
from .serializers import ChangelogSerializer
|
|
|
|
from ..models import Changelog
|
|
|
|
|
|
|
|
|
2020-03-18 13:42:35 +00:00
|
|
|
class ChangelogViewSet(ReadOnlyProtectedModelViewSet):
|
2020-03-11 09:08:28 +00:00
|
|
|
"""
|
|
|
|
REST API View set.
|
|
|
|
The djangorestframework plugin will get all `Changelog` objects, serialize it to JSON with the given serializer,
|
|
|
|
then render it on /api/logs/
|
|
|
|
"""
|
|
|
|
queryset = Changelog.objects.all()
|
|
|
|
serializer_class = ChangelogSerializer
|
2020-03-11 11:41:44 +00:00
|
|
|
filter_backends = [DjangoFilterBackend, OrderingFilter]
|
|
|
|
filterset_fields = ['model', 'action', "instance_pk", 'user', 'ip', ]
|
|
|
|
ordering_fields = ['timestamp', ]
|
|
|
|
ordering = ['-timestamp', ]
|