From 2fd4015834f063de9b371106123e51c3f8649107 Mon Sep 17 00:00:00 2001 From: Őry Máté <ory.mate@cloud.bme.hu> Date: Mon, 22 Sep 2014 10:21:33 +0200 Subject: [PATCH] dashboard: fix redirects --- circle/dashboard/views/template.py | 9 +++++---- circle/dashboard/views/util.py | 5 +++-- circle/dashboard/views/vm.py | 16 +++++++++------- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/circle/dashboard/views/template.py b/circle/dashboard/views/template.py index 13d8f7f..4d0e9fb 100644 --- a/circle/dashboard/views/template.py +++ b/circle/dashboard/views/template.py @@ -24,7 +24,7 @@ from django.contrib.auth.models import User from django.contrib.messages.views import SuccessMessageMixin from django.core.urlresolvers import reverse, reverse_lazy from django.core.exceptions import PermissionDenied, SuspiciousOperation -from django.http import HttpResponse +from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import redirect, get_object_or_404 from django.utils.translation import ugettext as _ from django.views.generic import ( @@ -145,7 +145,8 @@ class TemplateCreate(SuccessMessageMixin, CreateView): networks=networks, tags=tags, req_traits=req_traits) - return redirect("%s#resources" % inst.get_absolute_url()) + return HttpResponseRedirect("%s#resources" % + inst.get_absolute_url()) def __create_networks(self, vlans, user): networks = [] @@ -255,7 +256,7 @@ class TemplateDelete(LoginRequiredMixin, DeleteView): ) else: messages.success(request, success_message) - return redirect(success_url) + return HttpResponseRedirect(success_url) class TemplateDetail(LoginRequiredMixin, SuccessMessageMixin, UpdateView): @@ -394,4 +395,4 @@ class LeaseDelete(LoginRequiredMixin, SuperuserRequiredMixin, DeleteView): ) else: messages.success(request, success_message) - return redirect(success_url) + return HttpResponseRedirect(success_url) diff --git a/circle/dashboard/views/util.py b/circle/dashboard/views/util.py index 47c6dbb..c5b058d 100644 --- a/circle/dashboard/views/util.py +++ b/circle/dashboard/views/util.py @@ -31,7 +31,7 @@ from django.core.urlresolvers import reverse from django.contrib import messages from django.contrib.auth.views import redirect_to_login from django.db.models import Q -from django.http import HttpResponse, Http404 +from django.http import HttpResponse, Http404, HttpResponseRedirect from django.shortcuts import redirect from django.utils.translation import ugettext as _ from django.views.generic import DetailView, View @@ -299,7 +299,8 @@ class OperationView(RedirectToLoginMixin, DetailView): return HttpResponse(json.dumps(data), content_type="application/json") else: - return redirect("%s#activity" % self.object.get_absolute_url()) + return HttpResponseRedirect("%s#activity" % + self.object.get_absolute_url()) @classmethod def factory(cls, op, icon='cog', effect='info', extra_bases=(), **kwargs): diff --git a/circle/dashboard/views/vm.py b/circle/dashboard/views/vm.py index 5712cfe..7fcbe57 100644 --- a/circle/dashboard/views/vm.py +++ b/circle/dashboard/views/vm.py @@ -27,7 +27,7 @@ from django.contrib.auth.models import User from django.core import signing from django.core.exceptions import PermissionDenied, SuspiciousOperation from django.core.urlresolvers import reverse, reverse_lazy -from django.http import HttpResponse, Http404 +from django.http import HttpResponse, Http404, HttpResponseRedirect from django.shortcuts import redirect, get_object_or_404, render from django.template import RequestContext from django.template.loader import render_to_string @@ -302,7 +302,8 @@ class VmDetailView(CheckedDetailView): if not activity.is_abortable_for(request.user): raise PermissionDenied() activity.abort() - return redirect("%s#activity" % self.object.get_absolute_url()) + return HttpResponseRedirect("%s#activity" % + self.object.get_absolute_url()) class VmTraitsUpdate(SuperuserRequiredMixin, UpdateView): @@ -442,7 +443,8 @@ class VmResourcesChangeView(VmOperationView): content_type="application=json" ) else: - return redirect(instance.get_absolute_url() + "#resources") + return HttpResponseRedirect(instance.get_absolute_url() + + "#resources") else: extra = form.cleaned_data extra['max_ram_size'] = extra['ram_size'] @@ -946,7 +948,7 @@ class VmCreate(LoginRequiredMixin, TemplateView): return HttpResponse(json.dumps({'redirect': path}), content_type="application/json") else: - return redirect("%s#activity" % path) + return HttpResponseRedirect("%s#activity" % path) def post(self, request, *args, **kwargs): user = request.user @@ -1057,7 +1059,7 @@ class InterfaceDeleteView(DeleteView): ) else: messages.success(request, success_message) - return redirect("%s#network" % success_url) + return HttpResponseRedirect("%s#network" % success_url) def get_success_url(self): redirect = self.request.POST.get("next") @@ -1124,7 +1126,7 @@ class DiskRemoveView(DeleteView): ) else: messages.success(request, success_message) - return redirect("%s#resources" % success_url) + return HttpResponseRedirect("%s#resources" % success_url) @require_GET @@ -1181,7 +1183,7 @@ class PortDelete(LoginRequiredMixin, DeleteView): ) else: messages.success(request, success_message) - return redirect("%s#network" % success_url) + return HttpResponseRedirect("%s#network" % success_url) def get_success_url(self): return reverse_lazy('dashboard.views.detail', -- libgit2 0.26.0