2021-06-14 19:45:36 +00:00
|
|
|
# Copyright (C) 2018-2021 by BDE ENS Paris-Saclay
|
2020-03-11 09:08:28 +00:00
|
|
|
# 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
|
2022-03-10 15:11:01 +00:00
|
|
|
|
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/
|
|
|
|
"""
|
2020-12-23 13:54:21 +00:00
|
|
|
queryset = Changelog.objects.order_by('id')
|
2020-03-11 09:08:28 +00:00
|
|
|
serializer_class = ChangelogSerializer
|
2020-03-11 11:41:44 +00:00
|
|
|
filter_backends = [DjangoFilterBackend, OrderingFilter]
|
|
|
|
filterset_fields = ['model', 'action', "instance_pk", 'user', 'ip', ]
|
2020-08-13 15:04:10 +00:00
|
|
|
ordering_fields = ['timestamp', 'id', ]
|
|
|
|
ordering = ['-id', ]
|