* [fix] get only valid role images * [up] add post delete signals for device roles * [fix] move signal registration in `apps.py` * [fix] register signals in plugin config & filter valid role images * [fix] undo role image filter as it is wrong and unnecessary * [up] revert formatting with black
This commit is contained in:
@@ -14,8 +14,12 @@ class TopologyViewsConfig(PluginConfig):
|
|||||||
"static_image_directory": "netbox_topology_views/img",
|
"static_image_directory": "netbox_topology_views/img",
|
||||||
"allow_coordinates_saving": False,
|
"allow_coordinates_saving": False,
|
||||||
"always_save_coordinates": False,
|
"always_save_coordinates": False,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def ready(self):
|
||||||
|
from . import signals
|
||||||
|
|
||||||
|
super().ready()
|
||||||
|
|
||||||
|
|
||||||
config = TopologyViewsConfig
|
config = TopologyViewsConfig
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
from typing import Type
|
||||||
|
|
||||||
|
from dcim.models import DeviceRole
|
||||||
|
from django.contrib.contenttypes.models import ContentType
|
||||||
|
from django.db.models.signals import pre_delete
|
||||||
|
from django.dispatch import receiver
|
||||||
|
|
||||||
|
from netbox_topology_views.models import RoleImage
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(pre_delete, sender=DeviceRole, dispatch_uid="delete_hanging_role_image")
|
||||||
|
def delete_hanging_role_image(sender: Type[DeviceRole], instance: DeviceRole, **kwargs):
|
||||||
|
ct = ContentType.objects.get_for_model(sender)
|
||||||
|
RoleImage.objects.filter(content_type=ct, object_id=instance.id).delete()
|
||||||
Reference in New Issue
Block a user