add dashboardview support to tosca
diff --git a/xos/tosca/resources/user.py b/xos/tosca/resources/user.py
index 53323c5..2b2a787 100644
--- a/xos/tosca/resources/user.py
+++ b/xos/tosca/resources/user.py
@@ -5,7 +5,7 @@
sys.path.append("/opt/tosca")
from translator.toscalib.tosca_template import ToscaTemplate
-from core.models import User, Site, SiteRole, SliceRole, SlicePrivilege, SitePrivilege
+from core.models import User, Site, SiteRole, SliceRole, SlicePrivilege, SitePrivilege, DashboardView, UserDashboardView
from xosresource import XOSResource
@@ -46,6 +46,19 @@
sp.save()
self.info("Added site privilege on %s role %s for %s" % (str(dest), str(role), str(obj)))
+ for reqs in self.nodetemplate.requirements:
+ for (k,v) in reqs.items():
+ if (v["relationship"] == "tosca.relationships.UsesDashboard"):
+ dashboard_name = v["node"]
+ dashboard = self.get_xos_object(DashboardView, name=dashboard_name)
+
+ udvs = UserDashboardView.objects.filter(user=obj, dashboardView=dashboard)
+ if not udvs:
+ self.info("Adding UserDashboardView from %s to %s" % (obj, dashboard))
+
+ udv = UserDashboardView(user=obj, dashboardView=dashboard)
+ udv.save()
+
def create(self):
nodetemplate = self.nodetemplate