DeploymentLinkDeletionManager for filtering deployment-linked objects
authorSapan Bhatia <gwsapan@gmail.com>
Fri, 19 Sep 2014 20:48:36 +0000 (16:48 -0400)
committerSapan Bhatia <gwsapan@gmail.com>
Fri, 19 Sep 2014 20:48:36 +0000 (16:48 -0400)
such as UserDeployments and SliceDeployments.

planetstack/core/models/site.py

index 282368f..a5cea69 100644 (file)
@@ -6,6 +6,19 @@ from django.contrib.contenttypes import generic
 from geoposition.fields import GeopositionField
 from core.acl import AccessControlList
 
+class DeploymentLinkDeletionManager(PlCoreBaseDeletionManager):
+    def get_queryset(self):
+        parent=super(DeploymentLinkDeletionManager, self)
+        if hasattr(parent, "get_queryset"):
+            return parent.get_queryset().filter(Q(deployment__backend_type=config.observer_backend_type)|Q(backend_type=None))
+        else:
+            return parent.get_queryset().filter(Q(deployment__backend_type=config.observer_backend_type)|Q(backend_type=None))
+
+    # deprecated in django 1.7 in favor of get_queryset().
+    def get_query_set(self):
+        return self.get_queryset()
+
+
 class DeploymentDeletionManager(PlCoreBaseDeletionManager):
     def get_queryset(self):
         parent=super(DeploymentDeletionManager, self)