mirror of
git://git.yoctoproject.org/layerindex-web.git
synced 2025-07-19 20:59:01 +02:00
Add link to maintenance plan in layer detail
If the RRS is enabled, then add a way to get from the layer detail page to any maintenance plans in which the layer is included. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
This commit is contained in:
parent
88467d1ab9
commit
b2a67d718c
|
@ -368,6 +368,10 @@ class LayerDetailView(DetailView):
|
|||
context['updates'] = layerbranch.layerupdate_set.order_by('-started')
|
||||
context['url_branch'] = self.kwargs['branch']
|
||||
context['this_url_name'] = resolve(self.request.path_info).url_name
|
||||
if 'rrs' in settings.INSTALLED_APPS:
|
||||
from rrs.models import MaintenancePlanLayerBranch
|
||||
# We don't care about branch, only that the layer is included
|
||||
context['rrs_maintplans'] = [m.plan for m in MaintenancePlanLayerBranch.objects.filter(layerbranch__layer=layer)]
|
||||
return context
|
||||
|
||||
class LayerReviewDetailView(LayerDetailView):
|
||||
|
|
|
@ -2,11 +2,14 @@ from django.conf.urls import patterns, include, url
|
|||
|
||||
from rrs.models import Release, Milestone
|
||||
from rrs.views import RecipeListView, recipes_report, RecipeDetailView, \
|
||||
MaintainerListView, FrontPageRedirect
|
||||
MaintainerListView, FrontPageRedirect, MaintenancePlanRedirect
|
||||
|
||||
urlpatterns = patterns('',
|
||||
url(r'^$', FrontPageRedirect.as_view(),
|
||||
name='rrs_frontpage'),
|
||||
url(r'^maintplan/(?P<maintplan_name>.*)/$',
|
||||
MaintenancePlanRedirect.as_view(),
|
||||
name='rrs_maintplan'),
|
||||
url(r'^recipes/(?P<maintplan_name>.*)/(?P<release_name>.*)/(?P<milestone_name>.*)/$',
|
||||
RecipeListView.as_view(
|
||||
template_name='rrs/recipes.html'),
|
||||
|
|
14
rrs/views.py
14
rrs/views.py
|
@ -32,6 +32,20 @@ class FrontPageRedirect(RedirectView):
|
|||
raise Exception('No milestones defined for release %s' % release.name)
|
||||
return reverse('rrs_recipes', args=(maintplan.name, release.name, milestone.name))
|
||||
|
||||
class MaintenancePlanRedirect(RedirectView):
|
||||
permanent = False
|
||||
|
||||
def get_redirect_url(self, maintplan_name):
|
||||
maintplan = get_object_or_404(MaintenancePlan, name=maintplan_name)
|
||||
release = Release.get_current(maintplan)
|
||||
if not release:
|
||||
raise Exception('No releases defined for maintenance plan %s' % maintplan.name)
|
||||
milestone = Milestone.get_current(release)
|
||||
if not milestone:
|
||||
raise Exception('No milestones defined for release %s' % release.name)
|
||||
return reverse('rrs_recipes', args=(maintplan.name, release.name, milestone.name))
|
||||
|
||||
|
||||
def _check_url_params(upstream_status, maintainer_name):
|
||||
get_object_or_404(Maintainer, name=maintainer_name)
|
||||
|
||||
|
|
|
@ -136,6 +136,17 @@
|
|||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if rrs_maintplans %}
|
||||
<h3>{{ rrs_maintplans|pluralize:"Maintenance Plan,Maintenance Plans" }}</h3>
|
||||
<ul>
|
||||
{% for maintplan in rrs_maintplans %}
|
||||
<li>
|
||||
<a href="{% url 'rrs_maintplan' maintplan.name %}">{{ maintplan.name }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
</div> <!-- end of span7 -->
|
||||
|
||||
<div class="span4 pull-right description">
|
||||
|
|
Loading…
Reference in New Issue
Block a user