From 5cdce74b3efbcd25c7e775bfd0a85e99ef276fdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= Date: Tue, 22 Mar 2016 12:08:21 -0600 Subject: [PATCH] rrs: Fix frontpage redirect MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We was experimenting fixed redirects due to urls are cached at init of rrs. Move the redirect Release, Milestone selection to a view called FrontPageRedirect. Signed-off-by: Aníbal Limón --- rrs/urls.py | 17 +++-------------- rrs/views.py | 12 ++++++++++-- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/rrs/urls.py b/rrs/urls.py index 923d9e6..eb11a28 100644 --- a/rrs/urls.py +++ b/rrs/urls.py @@ -1,25 +1,14 @@ from django.views.generic import TemplateView -from django.views.generic.simple import redirect_to -from django.core.urlresolvers import reverse_lazy - from django.conf.urls import patterns, url from layerindex.views import EditProfileFormView from rrs.models import Release, Milestone -from rrs.views import RecipeListView, recipes_report, RecipeDetailView, MaintainerListView +from rrs.views import RecipeListView, recipes_report, RecipeDetailView, \ + MaintainerListView, FrontPageRedirect urlpatterns = patterns('', - url(r'^$', redirect_to, - {'url' : - reverse_lazy('recipes', - args = ( - Release.get_current().name, - Milestone.get_current(Release.get_current()).name, - ) - ), - 'permanent' : False - }, + url(r'^$', FrontPageRedirect.as_view(), name='frontpage'), url(r'^recipes/(?P.*)/(?P.*)/$', RecipeListView.as_view( diff --git a/rrs/views.py b/rrs/views.py index 957529c..3a4034a 100644 --- a/rrs/views.py +++ b/rrs/views.py @@ -6,14 +6,22 @@ from django.http import HttpResponse from datetime import date, datetime from django.http import Http404 from django.shortcuts import get_object_or_404 -from django.views.generic import ListView, DetailView -from django.core.urlresolvers import resolve +from django.views.generic import ListView, DetailView, RedirectView +from django.core.urlresolvers import resolve, reverse from layerindex.models import Recipe from rrs.models import Release, Milestone, Maintainer, RecipeMaintainerHistory, \ RecipeMaintainer, RecipeUpstreamHistory, RecipeUpstream, \ RecipeDistro, RecipeUpgrade, Raw +class FrontPageRedirect(RedirectView): + permanent = False + + def get_redirect_url(self): + release_name = Release.get_current().name + milestone_name = Milestone.get_current(Release.get_current()).name + return reverse('recipes', args=(release_name, milestone_name)) + def _check_url_params(upstream_status, maintainer_name): get_object_or_404(Maintainer, name=maintainer_name)