The layerdetails view definition was moved to tables though it isn't a table. We have a mechanism for the JSON response for this page so use this instead of a custom class.
Signed-off-by: Michael Wood <[email protected]> --- bitbake/lib/toaster/toastergui/tables.py | 21 +-------------------- bitbake/lib/toaster/toastergui/urls.py | 4 +--- bitbake/lib/toaster/toastergui/views.py | 15 +++++++++++++++ bitbake/lib/toaster/toastergui/widgets.py | 26 -------------------------- 4 files changed, 17 insertions(+), 49 deletions(-) diff --git a/bitbake/lib/toaster/toastergui/tables.py b/bitbake/lib/toaster/toastergui/tables.py index 146a8dd..b6c91ed 100644 --- a/bitbake/lib/toaster/toastergui/tables.py +++ b/bitbake/lib/toaster/toastergui/tables.py @@ -19,7 +19,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -from toastergui.widgets import ToasterTable, ToasterTemplateView +from toastergui.widgets import ToasterTable from orm.models import Recipe, ProjectLayer, Layer_Version, Machine, Project from django.db.models import Q, Max from django.conf.urls import url @@ -197,25 +197,6 @@ class LayersTable(ToasterTable): computation = lambda x: reverse('layerdetails', args=(project.id, x.id))) - - -class LayerDetails(ToasterTemplateView): - def get_context_data(self, **kwargs): - context = super(LayerDetails, self).get_context_data(**kwargs) - from toastergui.views import _lv_to_dict - - context['project'] = Project.objects.get(pk=kwargs['pid']) - context['layerversion'] = Layer_Version.objects.get(pk=kwargs['layerid']) - context['layerdict'] = _lv_to_dict(context['project'], context['layerversion']) - context['layerdeps'] = {"list": [ - [{"id": y.id, "name": y.layer.name} for y in x.depends_on.get_equivalents_wpriority(context['project'])][0] for x in context['layerversion'].dependencies.all()]} - context['projectlayers'] = map(lambda prjlayer: prjlayer.layercommit.id, ProjectLayer.objects.filter(project=context['project'])) - - self.context_entries = ['project', 'layerversion', 'projectlayers', 'layerdict', 'layerdeps'] - - return context - - class MachinesTable(ToasterTable, ProjectFiltersMixin): """Table of Machines in Toaster""" diff --git a/bitbake/lib/toaster/toastergui/urls.py b/bitbake/lib/toaster/toastergui/urls.py index feb1513..3429929 100644 --- a/bitbake/lib/toaster/toastergui/urls.py +++ b/bitbake/lib/toaster/toastergui/urls.py @@ -108,9 +108,7 @@ urlpatterns = patterns('toastergui.views', 'title' : 'All compatible layers' }, name="projectlayers"), - url(r'^project/(?P<pid>\d+)/layer/(?P<layerid>\d+)$', - tables.LayerDetails.as_view(template_name='layerdetails.html'), - name='layerdetails'), + url(r'^project/(?P<pid>\d+)/layer/(?P<layerid>\d+)$', 'layerdetails', name='layerdetails'), url(r'^project/(?P<pid>\d+)/layer/(?P<layerid>\d+)/recipes/$', tables.LayerRecipesTable.as_view(template_name="generic-toastertable-page.html"), diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py index 82650d0..d694438 100755 --- a/bitbake/lib/toaster/toastergui/views.py +++ b/bitbake/lib/toaster/toastergui/views.py @@ -2509,6 +2509,21 @@ if True: } return render(request, template, context) + @_template_renderer('layerdetails.html') + def layerdetails(request, pid, layerid): + project = Project.objects.get(pk=pid) + layer_version = Layer_Version.objects.get(pk=layerid) + + context = { 'project' : project, + 'layerversion' : layer_version, + 'layerdeps' : { "list": [ + [{"id": y.id, "name": y.layer.name} for y in x.depends_on.get_equivalents_wpriority(project)][0] for x in layer_version.dependencies.all()]}, + 'projectlayers': map(lambda prjlayer: prjlayer.layercommit.id, ProjectLayer.objects.filter(project=project)) + } + + return context + + def get_project_configvars_context(): # Vars managed outside of this view vars_managed = { diff --git a/bitbake/lib/toaster/toastergui/widgets.py b/bitbake/lib/toaster/toastergui/widgets.py index 5f6b47b..fa0eb77 100644 --- a/bitbake/lib/toaster/toastergui/widgets.py +++ b/bitbake/lib/toaster/toastergui/widgets.py @@ -328,29 +328,3 @@ class ToasterTable(TemplateView): cache.set(cache_name, data, 60*30) return data - - -class ToasterTemplateView(TemplateView): - # renders a instance in a template, or returns the context as json - # the class-equivalent of the _template_renderer decorator for views - - - def get(self, *args, **kwargs): - if self.request.GET.get('format', None) == 'json': - from django.core.urlresolvers import reverse - from django.shortcuts import HttpResponse - from views import objtojson - from toastergui.templatetags.projecttags import json as jsonfilter - - context = self.get_context_data(**kwargs) - - for x in context.keys(): - if x not in self.context_entries: - del context[x] - - context["error"] = "ok" - - return HttpResponse(jsonfilter(context, default=objtojson ), - content_type = "application/json; charset=utf-8") - - return super(ToasterTemplateView, self).get(*args, **kwargs) -- 2.1.4 -- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
