Browse Source

Fixes #817: Update last_updated time of a circuit when editing a child termination

Jeremy Stretch 8 years ago
parent
commit
d36923e47d
3 changed files with 23 additions and 0 deletions
  1. 1 0
      netbox/circuits/__init__.py
  2. 9 0
      netbox/circuits/apps.py
  3. 13 0
      netbox/circuits/signals.py

+ 1 - 0
netbox/circuits/__init__.py

@@ -0,0 +1 @@
+default_app_config = 'circuits.apps.CircuitsConfig'

+ 9 - 0
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

+ 13 - 0
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())