rrs: Fix frontpage redirect

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 <anibal.limon@linux.intel.com>
This commit is contained in:
Aníbal Limón 2016-03-22 12:08:21 -06:00
parent 066b17adb3
commit 5cdce74b3e
2 changed files with 13 additions and 16 deletions

View File

@ -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<release_name>.*)/(?P<milestone_name>.*)/$',
RecipeListView.as_view(

View File

@ -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)