Show appends in recipe detail

Show the appends in other layers that apply to the recipe.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
This commit is contained in:
Paul Eggleton 2013-07-14 20:02:00 +01:00
parent 3dfca5a250
commit 571e85416a
3 changed files with 32 additions and 4 deletions

View File

@ -7,7 +7,7 @@
from django.conf.urls.defaults import *
from django.views.generic import TemplateView, DetailView, ListView
from django.views.defaults import page_not_found
from layerindex.views import LayerListView, LayerReviewListView, LayerReviewDetailView, RecipeSearchView, MachineSearchView, PlainTextListView, LayerDetailView, edit_layer_view, delete_layer_view, edit_layernote_view, delete_layernote_view, switch_branch_view, HistoryListView, EditProfileFormView, DuplicatesView, AdvancedRecipeSearchView, BulkChangeView, BulkChangeSearchView, bulk_change_edit_view, bulk_change_patch_view, BulkChangeDeleteView
from layerindex.views import LayerListView, LayerReviewListView, LayerReviewDetailView, RecipeSearchView, MachineSearchView, PlainTextListView, LayerDetailView, edit_layer_view, delete_layer_view, edit_layernote_view, delete_layernote_view, switch_branch_view, HistoryListView, EditProfileFormView, DuplicatesView, AdvancedRecipeSearchView, BulkChangeView, BulkChangeSearchView, bulk_change_edit_view, bulk_change_patch_view, BulkChangeDeleteView, RecipeDetailView
from layerindex.models import LayerItem, Recipe, RecipeChangeset
urlpatterns = patterns('',
@ -54,8 +54,7 @@ urlpatterns = patterns('',
url(r'^layer/(?P<slug>[-\w]+)/delete/$',
delete_layer_view, {'template_name': 'layerindex/deleteconfirm.html'}, name="delete_layer"),
url(r'^recipe/(?P<pk>[-\w]+)/$',
DetailView.as_view(
model=Recipe,
RecipeDetailView.as_view(
template_name='layerindex/recipedetail.html'),
name='recipe'),
url(r'^layer/(?P<name>[-\w]+)/publish/$', 'layerindex.views.publish', name="publish"),

View File

@ -9,7 +9,7 @@ from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidde
from django.core.urlresolvers import reverse, reverse_lazy
from django.core.exceptions import PermissionDenied
from django.template import RequestContext
from layerindex.models import Branch, LayerItem, LayerMaintainer, LayerBranch, LayerDependency, LayerNote, Recipe, Machine, BBClass, RecipeChange, RecipeChangeset
from layerindex.models import Branch, LayerItem, LayerMaintainer, LayerBranch, LayerDependency, LayerNote, Recipe, Machine, BBClass, BBAppend, RecipeChange, RecipeChangeset
from datetime import datetime
from django.views.generic import TemplateView, DetailView, ListView
from django.views.generic.edit import CreateView, DeleteView, UpdateView
@ -595,3 +595,15 @@ def annotate_revision(sender, **kwargs):
revision.comment = comment
revision.save()
kwargs['revision'] = revision
class RecipeDetailView(DetailView):
model = Recipe
def get_context_data(self, **kwargs):
context = super(RecipeDetailView, self).get_context_data(**kwargs)
recipe = self.get_object()
if recipe:
appendprefix = "%s_" % recipe.pn
context['appends'] = BBAppend.objects.filter(layerbranch__branch__name=self.request.session.get('branch', 'master')).filter(filename__startswith=appendprefix)
return context

View File

@ -90,6 +90,23 @@
</tr>
</tbody>
</table>
{% if appends %}
<h2>bbappends</h2>
<p>This recipe is appended by:</p>
<table class="table table-bordered">
{% for append in appends %}
<tr>
<td>
<a href="{% url layer_item append.layerbranch.layer.name %}">{{ append.layerbranch.layer.name }}</a>
</td>
<td>
<a href="{{ append.vcs_web_url }}">{{ append.filename }}</a>
</td>
</tr>
{% endfor %}
</table>
{% endif %}
</div>
</div>