From: Scott Baker Date: Thu, 19 Jun 2014 01:26:45 +0000 (-0700) Subject: iframe view support X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=bb53ee8e259496d15023d5621c298ff933fd716b;p=plstackapi.git iframe view support --- diff --git a/planetstack/core/dashboard/views/home.py b/planetstack/core/dashboard/views/home.py index 06e2c5f..6cb25a0 100644 --- a/planetstack/core/dashboard/views/home.py +++ b/planetstack/core/dashboard/views/home.py @@ -25,7 +25,7 @@ class DashboardDynamicView(TemplateView): else: return self.singleDashboardView(request, name, context) - def readDashboard(self, fn): + def readTemplate(self, fn): try: template= open("/opt/planetstack/templates/admin/dashboard/%s.html" % fn, "r").read() if (fn=="tenant"): @@ -35,6 +35,13 @@ class DashboardDynamicView(TemplateView): except: return "failed to open %s" % fn + def embedDashboard(self, url): + if url.startswith("template:"): + fn = url[9:] + return self.readTemplate(fn) + elif url.startswith("http"): + return '' % url + def multiDashboardView(self, request, context): head_template = self.head_template tail_template = self.tail_template @@ -59,9 +66,7 @@ class DashboardDynamicView(TemplateView): for i,view in enumerate(dashboards): url = view.url body = body + '
\n' % i - if url.startswith("template:"): - fn = url[9:] - body = body + self.readDashboard(fn) + body = body + self.embedDashboard(url) body = body + '
\n' body=body+"\n" @@ -80,7 +85,7 @@ class DashboardDynamicView(TemplateView): head_template = self.head_template tail_template = self.tail_template - t = template.Template(head_template + self.readDashboard(name) + self.tail_template) + t = template.Template(head_template + self.readTemplate(name) + self.tail_template) response_kwargs = {} response_kwargs.setdefault('content_type', self.content_type)