Merge branch 'master' of ssh://git.planet-lab.org/git/plstackapi
Conflicts:
planetstack/core/models/user.py
diff --git a/planetstack/core/models/__init__.py b/planetstack/core/models/__init__.py
index e31da37..4e76958 100644
--- a/planetstack/core/models/__init__.py
+++ b/planetstack/core/models/__init__.py
@@ -8,10 +8,11 @@
from .role import Role
from .site import Site,Deployment, DeploymentRole, DeploymentPrivilege, SiteDeployments
from .dashboard import DashboardView
-from .user import User, UserDeployments, UserDashboardView
+from .user import User, UserDashboardView
from .serviceclass import ServiceClass
from .slice import Slice, SliceDeployments
from .site import SitePrivilege, SiteDeployments
+from .userdeployments import UserDeployments
from .image import Image, ImageDeployments
from .node import Node
from .serviceresource import ServiceResource
diff --git a/planetstack/core/models/user.py b/planetstack/core/models/user.py
index a74ba78..3c4d377 100644
--- a/planetstack/core/models/user.py
+++ b/planetstack/core/models/user.py
@@ -164,24 +164,6 @@
qs = User.objects.filter(Q(site__in=sites) | Q(id__in=user_ids))
return qs
-
-
-class UserDeployments(PlCoreBase):
- user = models.ForeignKey(User)
- deployment = models.ForeignKey(Deployment)
- kuser_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone user id")
-
- def __unicode__(self): return u'%s %s' % (self.user, self.deployment.name)
-
- @staticmethod
- def select_by_user(user):
- if user.is_admin:
- qs = UserDeployments.objects.all()
- else:
- users = Users.select_by_user(user)
- qs = Usereployments.objects.filter(user__in=slices)
- return qs
-
class UserDashboardView(PlCoreBase):
user = models.ForeignKey(User, related_name="dashboardViews")
dashboardView = models.ForeignKey(DashboardView, related_name="dashboardViews")
diff --git a/planetstack/core/models/userdeployments.py b/planetstack/core/models/userdeployments.py
new file mode 100644
index 0000000..3422156
--- /dev/null
+++ b/planetstack/core/models/userdeployments.py
@@ -0,0 +1,22 @@
+import os
+import datetime
+from collections import defaultdict
+from django.db import models
+from django.db.models import F, Q
+from core.models import PlCoreBase,Site,User,Deployment
+
+class UserDeployments(PlCoreBase):
+ user = models.ForeignKey(User)
+ deployment = models.ForeignKey(Deployment)
+ kuser_id = models.CharField(null=True, blank=True, max_length=200, help_text="Keystone user id")
+
+ def __unicode__(self): return u'%s %s' % (self.user, self.deployment.name)
+
+ @staticmethod
+ def select_by_user(user):
+ if user.is_admin:
+ qs = UserDeployments.objects.all()
+ else:
+ users = Users.select_by_user(user)
+ qs = Usereployments.objects.filter(user__in=slices)
+ return qs