1 from core.models.slice import Slice
2 from plus import PlusObjectMixin
4 class SlicePlus(Slice, PlusObjectMixin):
8 def getSliceInfo(self, user=None):
12 for sliver in self.slivers.all():
13 site = sliver.node.site
14 deployment = sliver.node.deployment
15 used_sites[site.name] = used_sites.get(site.name, 0) + 1
16 used_deployments[deployment.name] = used_deployments.get(deployment.name, 0) + 1
17 sliverCount = sliverCount + 1
21 roles = [x.role for x in self.slice_privileges.filter(user=user)]
23 return {"sitesUsed": used_sites,
24 "deploymentsUsed": used_deployments,
25 "sliverCount": sliverCount,
26 "siteCount": len(used_sites.keys()),
30 def select_by_user(user):
32 qs = SlicePlus.objects.all()
34 slice_ids = [sp.slice.id for sp in SlicePrivilege.objects.filter(user=user)]
35 qs = SlicePlus.objects.filter(id__in=slice_ids)