2024-02-07 02:26:49 +01:00
|
|
|
# Copyright (C) 2018-2024 by BDE ENS Paris-Saclay
|
2020-03-11 10:08:28 +01:00
|
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
2020-03-11 11:15:03 +01:00
|
|
|
from django_filters.rest_framework import DjangoFilterBackend
|
2020-03-11 12:41:44 +01:00
|
|
|
from rest_framework.filters import OrderingFilter
|
2020-03-18 14:42:35 +01:00
|
|
|
from api.viewsets import ReadOnlyProtectedModelViewSet
|
2020-03-20 02:14:43 +01:00
|
|
|
|
2020-03-11 10:08:28 +01:00
|
|
|
from .serializers import ChangelogSerializer
|
|
|
|
from ..models import Changelog
|
|
|
|
|
|
|
|
|
2020-03-18 14:42:35 +01:00
|
|
|
class ChangelogViewSet(ReadOnlyProtectedModelViewSet):
|
2020-03-11 10:08:28 +01: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 14:54:21 +01:00
|
|
|
queryset = Changelog.objects.order_by('id')
|
2020-03-11 10:08:28 +01:00
|
|
|
serializer_class = ChangelogSerializer
|
2020-03-11 12:41:44 +01:00
|
|
|
filter_backends = [DjangoFilterBackend, OrderingFilter]
|
|
|
|
filterset_fields = ['model', 'action', "instance_pk", 'user', 'ip', ]
|
2020-08-13 17:04:10 +02:00
|
|
|
ordering_fields = ['timestamp', 'id', ]
|
|
|
|
ordering = ['-id', ]
|