Closes #7812: Enable change logging for image attachments

This commit is contained in:
jeremystretch 2021-11-17 11:49:11 -05:00
parent b7b5a5788f
commit 424ac29131
4 changed files with 29 additions and 2 deletions

View File

@ -11,6 +11,7 @@
* [#7761](https://github.com/netbox-community/netbox/issues/7761) - Extend cable tracing across bridged interfaces * [#7761](https://github.com/netbox-community/netbox/issues/7761) - Extend cable tracing across bridged interfaces
* [#7769](https://github.com/netbox-community/netbox/issues/7769) - Enable assignment of IP addresses to an existing FHRP group * [#7769](https://github.com/netbox-community/netbox/issues/7769) - Enable assignment of IP addresses to an existing FHRP group
* [#7775](https://github.com/netbox-community/netbox/issues/7775) - Enable dynamic config for `CHANGELOG_RETENTION`, `CUSTOM_VALIDATORS`, and `GRAPHQL_ENABLED` * [#7775](https://github.com/netbox-community/netbox/issues/7775) - Enable dynamic config for `CHANGELOG_RETENTION`, `CUSTOM_VALIDATORS`, and `GRAPHQL_ENABLED`
* [#7812](https://github.com/netbox-community/netbox/issues/7812) - Enable change logging for image attachments
* [#7858](https://github.com/netbox-community/netbox/issues/7858) - Standardize the representation of content types across import & export functions * [#7858](https://github.com/netbox-community/netbox/issues/7858) - Standardize the representation of content types across import & export functions
### Bug Fixes ### Bug Fixes
@ -22,6 +23,11 @@
* [#7771](https://github.com/netbox-community/netbox/issues/7771) - Group assignment should be optional when creating contacts via REST API * [#7771](https://github.com/netbox-community/netbox/issues/7771) - Group assignment should be optional when creating contacts via REST API
* [#7849](https://github.com/netbox-community/netbox/issues/7849) - Fix exception when creating an FHRPGroup with an invalid IP address * [#7849](https://github.com/netbox-community/netbox/issues/7849) - Fix exception when creating an FHRPGroup with an invalid IP address
### REST API Changes
* extras.ImageAttachment
* Added the `last_updated` field
--- ---
## v3.1-beta1 (2021-11-05) ## v3.1-beta1 (2021-11-05)

View File

@ -150,7 +150,7 @@ class ImageAttachmentSerializer(ValidatedModelSerializer):
model = ImageAttachment model = ImageAttachment
fields = [ fields = [
'id', 'url', 'display', 'content_type', 'object_id', 'parent', 'name', 'image', 'image_height', 'id', 'url', 'display', 'content_type', 'object_id', 'parent', 'name', 'image', 'image_height',
'image_width', 'created', 'image_width', 'created', 'last_updated',
] ]
def validate(self, data): def validate(self, data):

View File

@ -0,0 +1,16 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('extras', '0064_configrevision'),
]
operations = [
migrations.AddField(
model_name='imageattachment',
name='last_updated',
field=models.DateTimeField(auto_now=True, null=True),
),
]

View File

@ -317,7 +317,8 @@ class ExportTemplate(ChangeLoggedModel):
return response return response
class ImageAttachment(BigIDModel): @extras_features('webhooks')
class ImageAttachment(ChangeLoggedModel):
""" """
An uploaded image which is associated with an object. An uploaded image which is associated with an object.
""" """
@ -341,6 +342,7 @@ class ImageAttachment(BigIDModel):
max_length=50, max_length=50,
blank=True blank=True
) )
# ChangeLoggingMixin.created is a DateField
created = models.DateTimeField( created = models.DateTimeField(
auto_now_add=True auto_now_add=True
) )
@ -390,6 +392,9 @@ class ImageAttachment(BigIDModel):
except tuple(expected_exceptions): except tuple(expected_exceptions):
return None return None
def to_objectchange(self, action):
return super().to_objectchange(action, related_object=self.parent)
@extras_features('webhooks') @extras_features('webhooks')
class JournalEntry(ChangeLoggedModel): class JournalEntry(ChangeLoggedModel):