| from core.models.slice import Slice |
| |
| class SlicePlus(Slice): |
| def getSliceInfo(self, user=None): |
| used_sites = [] |
| used_deployments = [] |
| sliverCount = 0 |
| for sliver in self.slivers.all(): |
| site = sliver.node.site |
| deployment = sliver.node.deployment |
| used_sites[site.name] = used.sites.get(site.name, 0) + 1 |
| used_deployments[deployment.name] = used_deployments.get(deployment.name, 0) + 1 |
| |
| roles = [] |
| if (user!=None): |
| roles = [x.role for x in self.slice_privileges.filter(user=user)] |
| |
| return {"sitesUsed": used_sites, |
| "deploymentsUsed": used_deployments, |
| "sliverCount": sliceCount, |
| "siteCount": len(used_sites.keys()), |
| "roles": roles} |