From 2c1e47d5c5410de9f9a02dffddc62f4a00e2b85b Mon Sep 17 00:00:00 2001 From: Tim Schnell Date: Thu, 18 Jul 2013 10:02:07 -0500 Subject: [PATCH] Fixing the AJAX function location This bug addresses the incorrect location of the AJAX function call in api.py and moves it to the correct location in views.py It also standardizes the AJAX JSON function to use a generic Django class instead of a function. Change-Id: I445ca58d1e05187c9d05fdb6814039c69543324c Fixes: bug #1201980 --- openstack_dashboard/dashboards/project/stacks/api.py | 7 ------- openstack_dashboard/dashboards/project/stacks/urls.py | 7 +++---- openstack_dashboard/dashboards/project/stacks/views.py | 9 +++++++++ 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/openstack_dashboard/dashboards/project/stacks/api.py b/openstack_dashboard/dashboards/project/stacks/api.py index 1572b5a984..319bfe23fc 100644 --- a/openstack_dashboard/dashboards/project/stacks/api.py +++ b/openstack_dashboard/dashboards/project/stacks/api.py @@ -1,8 +1,6 @@ import json import logging -from django.http import HttpResponse - from openstack_dashboard.api.heat import resources_list from openstack_dashboard.api.heat import stack_get @@ -77,8 +75,3 @@ def d3_data(request, stack_id=''): } d3_data['nodes'].append(resource_node) return json.dumps(d3_data) - - -def get_d3_data(request, stack_id=''): - return HttpResponse(d3_data(request, stack_id=stack_id), - content_type="application/json") diff --git a/openstack_dashboard/dashboards/project/stacks/urls.py b/openstack_dashboard/dashboards/project/stacks/urls.py index 157f386097..82e0bcf3f5 100644 --- a/openstack_dashboard/dashboards/project/stacks/urls.py +++ b/openstack_dashboard/dashboards/project/stacks/urls.py @@ -15,10 +15,10 @@ from django.conf.urls.defaults import patterns from django.conf.urls.defaults import url -from openstack_dashboard.dashboards.project.stacks.api import get_d3_data from openstack_dashboard.dashboards.project.stacks.views import CreateStackView from openstack_dashboard.dashboards.project.stacks.views import DetailView from openstack_dashboard.dashboards.project.stacks.views import IndexView +from openstack_dashboard.dashboards.project.stacks.views import JSONView from openstack_dashboard.dashboards.project.stacks.views import ResourceView from openstack_dashboard.dashboards.project.stacks.views \ import SelectTemplateView @@ -33,7 +33,6 @@ urlpatterns = patterns( url(r'^stack/(?P[^/]+)/$', DetailView.as_view(), name='detail'), url(r'^stack/(?P[^/]+)/(?P[^/]+)/$', ResourceView.as_view(), name='resource'), - - #AJAX urls - url(r'^get_d3_data/(?P[^/]+)/$', get_d3_data, name='d3_data') + url(r'^get_d3_data/(?P[^/]+)/$', + JSONView.as_view(), name='d3_data'), ) diff --git a/openstack_dashboard/dashboards/project/stacks/views.py b/openstack_dashboard/dashboards/project/stacks/views.py index 97640dff33..3dfb2906a8 100644 --- a/openstack_dashboard/dashboards/project/stacks/views.py +++ b/openstack_dashboard/dashboards/project/stacks/views.py @@ -22,10 +22,13 @@ from horizon import tabs from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse_lazy +from django.http import HttpResponse from django.utils.translation import ugettext_lazy as _ +from django.views import generic from openstack_dashboard import api +from openstack_dashboard.dashboards.project.stacks.api import d3_data from openstack_dashboard.dashboards.project.stacks.forms import StackCreateForm from openstack_dashboard.dashboards.project.stacks.forms import TemplateForm from openstack_dashboard.dashboards.project.stacks.tables import StacksTable @@ -158,3 +161,9 @@ class ResourceView(tabs.TabView): metadata = self.get_metadata(request, **kwargs) return self.tab_group_class( request, resource=resource, metadata=metadata, **kwargs) + + +class JSONView(generic.View): + def get(self, request, stack_id=''): + return HttpResponse(d3_data(request, stack_id=stack_id), + content_type="application/json")