mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-28 10:16:10 -06:00
Merge pull request #20026 from netbox-community/19998-fixes-missing-changelog-cleared-tags
Fixes: #19998 - Add changelog entry when clearing M2M fields
This commit is contained in:
commit
2d495d4f32
@ -13,6 +13,7 @@ from django_prometheus.models import model_deletes, model_inserts, model_updates
|
|||||||
from core.choices import JobStatusChoices, ObjectChangeActionChoices
|
from core.choices import JobStatusChoices, ObjectChangeActionChoices
|
||||||
from core.events import *
|
from core.events import *
|
||||||
from extras.events import enqueue_event
|
from extras.events import enqueue_event
|
||||||
|
from extras.models import Tag
|
||||||
from extras.utils import run_validators
|
from extras.utils import run_validators
|
||||||
from netbox.config import get_config
|
from netbox.config import get_config
|
||||||
from netbox.context import current_request, events_queue
|
from netbox.context import current_request, events_queue
|
||||||
@ -72,6 +73,17 @@ def handle_changed_object(sender, instance, **kwargs):
|
|||||||
# m2m_changed with objects added or removed
|
# m2m_changed with objects added or removed
|
||||||
m2m_changed = True
|
m2m_changed = True
|
||||||
event_type = OBJECT_UPDATED
|
event_type = OBJECT_UPDATED
|
||||||
|
elif kwargs.get('action') == 'post_clear':
|
||||||
|
# Handle clearing of an M2M field
|
||||||
|
if kwargs.get('model') == Tag and getattr(instance, '_prechange_snapshot', {}).get('tags'):
|
||||||
|
# Handle generation of M2M changes for Tags which have a previous value (ignoring changes where the
|
||||||
|
# prechange snapshot is empty)
|
||||||
|
m2m_changed = True
|
||||||
|
event_type = OBJECT_UPDATED
|
||||||
|
else:
|
||||||
|
# Other endpoints are unimpacted as they send post_add and post_remove
|
||||||
|
# This will impact changes that utilize clear() however so we may want to give consideration for this branch
|
||||||
|
return
|
||||||
else:
|
else:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user