diff --git a/netbox/circuits/__init__.py b/netbox/circuits/__init__.py index e69de29bb..e5400337f 100644 --- a/netbox/circuits/__init__.py +++ b/netbox/circuits/__init__.py @@ -0,0 +1 @@ +default_app_config = 'circuits.apps.CircuitsConfig' diff --git a/netbox/circuits/apps.py b/netbox/circuits/apps.py new file mode 100644 index 000000000..bc0b7d87d --- /dev/null +++ b/netbox/circuits/apps.py @@ -0,0 +1,9 @@ +from django.apps import AppConfig + + +class CircuitsConfig(AppConfig): + name = "circuits" + verbose_name = "Circuits" + + def ready(self): + import circuits.signals diff --git a/netbox/circuits/signals.py b/netbox/circuits/signals.py new file mode 100644 index 000000000..bdfe8c0b6 --- /dev/null +++ b/netbox/circuits/signals.py @@ -0,0 +1,13 @@ +from django.db.models.signals import post_delete, post_save +from django.dispatch import receiver +from django.utils import timezone + +from .models import Circuit, CircuitTermination + + +@receiver((post_save, post_delete), sender=CircuitTermination) +def update_circuit(instance, **kwargs): + """ + When a CircuitTermination has been modified, update the last_updated time of its parent Circuit. + """ + Circuit.objects.filter(pk=instance.circuit_id).update(last_updated=timezone.now())