mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-17 21:18:16 -06:00
14947 DRY save logic
This commit is contained in:
parent
6bed1cab1c
commit
110f963813
@ -70,6 +70,7 @@ def handle_changed_object(sender, instance, **kwargs):
|
||||
|
||||
# Record an ObjectChange if applicable
|
||||
objectchange = instance.to_objectchange(action)
|
||||
check_and_change = False
|
||||
if m2m_changed:
|
||||
qs = ObjectChange.objects.filter(
|
||||
changed_object_type=ContentType.objects.get_for_model(instance),
|
||||
@ -77,19 +78,18 @@ def handle_changed_object(sender, instance, **kwargs):
|
||||
request_id=request.id
|
||||
)
|
||||
if not qs:
|
||||
if objectchange and objectchange.has_changes:
|
||||
objectchange.user = request.user
|
||||
objectchange.request_id = request.id
|
||||
objectchange.save()
|
||||
check_and_change = True
|
||||
else:
|
||||
qs.update(
|
||||
postchange_data=objectchange.postchange_data
|
||||
)
|
||||
else:
|
||||
if objectchange and objectchange.has_changes:
|
||||
objectchange.user = request.user
|
||||
objectchange.request_id = request.id
|
||||
objectchange.save()
|
||||
check_and_change = True
|
||||
|
||||
if check_and_change and objectchange and objectchange.has_changes:
|
||||
objectchange.user = request.user
|
||||
objectchange.request_id = request.id
|
||||
objectchange.save()
|
||||
|
||||
# If this is an M2M change, update the previously queued webhook (from post_save)
|
||||
queue = events_queue.get()
|
||||
|
Loading…
Reference in New Issue
Block a user