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)