1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fixes #3001: Fix API representation of ObjectChange action and add changed_object_type

This commit is contained in:
Jeremy Stretch
2019-03-28 09:57:26 -04:00
parent 2e1887eb0e
commit 3f5f75c71f
3 changed files with 18 additions and 5 deletions

View File

@ -13,6 +13,7 @@ v2.5.9 (FUTURE)
* [#2924](https://github.com/digitalocean/netbox/issues/2924) - Add interface type for QSFP28 50GE * [#2924](https://github.com/digitalocean/netbox/issues/2924) - Add interface type for QSFP28 50GE
* [#2936](https://github.com/digitalocean/netbox/issues/2936) - Fix device role selection showing duplicate first entry * [#2936](https://github.com/digitalocean/netbox/issues/2936) - Fix device role selection showing duplicate first entry
* [#2998](https://github.com/digitalocean/netbox/issues/2998) - Limit device query to non-racked devices if no rack selected when creating a cable * [#2998](https://github.com/digitalocean/netbox/issues/2998) - Limit device query to non-racked devices if no rack selected when creating a cable
* [#3001](https://github.com/digitalocean/netbox/issues/3001) - Fix API representation of ObjectChange `action` and add `changed_object_type`
* [#3014](https://github.com/digitalocean/netbox/issues/3014) - Fixes VM Role filtering * [#3014](https://github.com/digitalocean/netbox/issues/3014) - Fixes VM Role filtering
* [#3022](https://github.com/digitalocean/netbox/issues/3022) - Add missing cable termination types to DCIM `_choices` endpoint * [#3022](https://github.com/digitalocean/netbox/issues/3022) - Add missing cable termination types to DCIM `_choices` endpoint

View File

@ -208,14 +208,25 @@ class ReportDetailSerializer(ReportSerializer):
# #
class ObjectChangeSerializer(serializers.ModelSerializer): class ObjectChangeSerializer(serializers.ModelSerializer):
user = NestedUserSerializer(read_only=True) user = NestedUserSerializer(
content_type = ContentTypeField(read_only=True) read_only=True
changed_object = serializers.SerializerMethodField(read_only=True) )
action = ChoiceField(
choices=OBJECTCHANGE_ACTION_CHOICES,
read_only=True
)
changed_object_type = ContentTypeField(
read_only=True
)
changed_object = serializers.SerializerMethodField(
read_only=True
)
class Meta: class Meta:
model = ObjectChange model = ObjectChange
fields = [ fields = [
'id', 'time', 'user', 'user_name', 'request_id', 'action', 'content_type', 'changed_object', 'object_data', 'id', 'time', 'user', 'user_name', 'request_id', 'action', 'changed_object_type', 'changed_object',
'object_data',
] ]
def get_changed_object(self, obj): def get_changed_object(self, obj):

View File

@ -10,7 +10,7 @@ from taggit.models import Tag
from extras import filters from extras import filters
from extras.models import ( from extras.models import (
ConfigContext, CustomField, ExportTemplate, Graph, ImageAttachment, ObjectChange, ReportResult, TopologyMap, ConfigContext, ExportTemplate, Graph, ImageAttachment, ObjectChange, ReportResult, TopologyMap,
) )
from extras.reports import get_report, get_reports from extras.reports import get_report, get_reports
from utilities.api import FieldChoicesViewSet, IsAuthenticatedOrLoginNotRequired, ModelViewSet from utilities.api import FieldChoicesViewSet, IsAuthenticatedOrLoginNotRequired, ModelViewSet
@ -24,6 +24,7 @@ from . import serializers
class ExtrasFieldChoicesViewSet(FieldChoicesViewSet): class ExtrasFieldChoicesViewSet(FieldChoicesViewSet):
fields = ( fields = (
(Graph, ['type']), (Graph, ['type']),
(ObjectChange, ['action']),
) )