From 4df786ffd7b10707a21667dfb4494b1d05ff4eae Mon Sep 17 00:00:00 2001 From: Scott Baker Date: Fri, 3 Oct 2014 14:48:06 -0700 Subject: [PATCH] add default select_by_user to plcorebase, hunt down and destroy select_by_user methods in other classes that were redundant with the new default --- planetstack/core/models/flavor.py | 4 ---- planetstack/core/models/network.py | 4 ---- planetstack/core/models/node.py | 4 ---- planetstack/core/models/plcorebase.py | 8 +++++++- planetstack/core/models/site.py | 8 -------- 5 files changed, 7 insertions(+), 21 deletions(-) diff --git a/planetstack/core/models/flavor.py b/planetstack/core/models/flavor.py index 84a5427..27b2642 100644 --- a/planetstack/core/models/flavor.py +++ b/planetstack/core/models/flavor.py @@ -19,10 +19,6 @@ class Flavor(PlCoreBase): def __unicode__(self): return u'%s' % (self.name) - @staticmethod - def select_by_user(user): - return Flavor.objects.all() - """ FlavorParameterType and FlavorParameter are below for completeness sake, waiting for the day we might want to add parameters to flavors. diff --git a/planetstack/core/models/network.py b/planetstack/core/models/network.py index 1010cae..51cc0c8 100644 --- a/planetstack/core/models/network.py +++ b/planetstack/core/models/network.py @@ -24,10 +24,6 @@ class NetworkTemplate(PlCoreBase): def __unicode__(self): return u'%s' % (self.name) - @staticmethod - def select_by_user(user): - return NetworkTemplate.objects.all() - class Network(PlCoreBase): name = models.CharField(max_length=32) template = models.ForeignKey(NetworkTemplate) diff --git a/planetstack/core/models/node.py b/planetstack/core/models/node.py index 56aee68..9271268 100644 --- a/planetstack/core/models/node.py +++ b/planetstack/core/models/node.py @@ -15,7 +15,3 @@ class Node(PlCoreBase): def __unicode__(self): return u'%s' % (self.name) - @staticmethod - def select_by_user(user): - qs = Node.objects.all() - return qs diff --git a/planetstack/core/models/plcorebase.py b/planetstack/core/models/plcorebase.py index 51049a4..2ad6f76 100644 --- a/planetstack/core/models/plcorebase.py +++ b/planetstack/core/models/plcorebase.py @@ -149,7 +149,7 @@ class PlCoreBase(models.Model, DiffModelMixIn): if not silent: notify_observer() - self.__initial = self._dict + self._initial = self._dict def save_by_user(self, user, *args, **kwds): if not self.can_update(user): @@ -166,6 +166,12 @@ class PlCoreBase(models.Model, DiffModelMixIn): raise PermissionDenied("You do not have permission to delete %s objects" % self.__class__.__name__) self.delete(*args, **kwds) + @classmethod + def select_by_user(cls, user): + # This should be overridden by descendant classes that want to perform + # filtering of visible objects by user. + return cls.objects.all() + diff --git a/planetstack/core/models/site.py b/planetstack/core/models/site.py index 160b426..9f183b5 100644 --- a/planetstack/core/models/site.py +++ b/planetstack/core/models/site.py @@ -216,10 +216,6 @@ class Deployment(PlCoreBase): def __unicode__(self): return u'%s' % (self.name) - @staticmethod - def select_by_user(user): - return Deployment.objects.all() - class DeploymentRole(PlCoreBase): #objects = DeploymentLinkManager() #deleted_objects = DeploymentLinkDeletionManager() @@ -267,10 +263,6 @@ class SiteDeployments(PlCoreBase): deployment = models.ForeignKey(Deployment) tenant_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone tenant id") - @staticmethod - def select_by_user(user): - return SiteDeployments.objects.all() - #class Meta: # db_table = 'core_site_deployments' # #auto_created = Site -- 2.43.0