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)
+ if hasattr(parent, "get_queryset"):
+ return parent.get_queryset().filter(Q(backend_type=config.observer_backend_type)|Q(backend_type=None))
+ else:
+ return parent.get_queryset().filter(Q(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 DeploymentLinkManager(PlCoreBaseManager):
+ def get_queryset(self):
+ parent=super(DeploymentLinkManager, 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 DeploymentManager(PlCoreBaseManager):
def get_queryset(self):
parent=super(DeploymentManager, self)
return qs
class Deployment(PlCoreBase):
+ objects = DeploymentManager()
+ deleted_objects = DeploymentDeletionManager()
name = models.CharField(max_length=200, unique=True, help_text="Name of the Deployment")
admin_user = models.CharField(max_length=200, null=True, blank=True, help_text="Username of an admin user at this deployment")
admin_password = models.CharField(max_length=200, null=True, blank=True, help_text="Password of theadmin user at this deployment")\r
return Deployment.objects.all()
class DeploymentRole(PlCoreBase):
+ objects = DeploymentLinkManager()
+ deleted_objects = DeploymentLinkDeletionManager()
ROLE_CHOICES = (('admin','Admin'),)
role = models.CharField(choices=ROLE_CHOICES, unique=True, max_length=30)
def __unicode__(self): return u'%s' % (self.role)
class DeploymentPrivilege(PlCoreBase):
+ objects = DeploymentLinkManager()
+ deleted_objects = DeploymentLinkDeletionManager()
user = models.ForeignKey('User', related_name='deployment_privileges')
deployment = models.ForeignKey('Deployment', related_name='deployment_privileges')
return qs
class SiteDeployments(PlCoreBase):
+ objects = DeploymentLinkManager()
+ deleted_objects = DeploymentLinkDeletionManager()
+
site = models.ForeignKey(Site)
deployment = models.ForeignKey(Deployment)
tenant_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone tenant id")