From 2f7949caec3c9194328c35b2e075eaae85409efe Mon Sep 17 00:00:00 2001 From: Michael Wood Date: Mon, 28 Sep 2015 21:45:12 -0700 Subject: [PATCH] toaster: tables Move the title and name into the widget For historical reasons this was being set in the urls definition. We can set this in the actual definition of the table and defaults in the widget. Signed-off-by: Michael Wood Signed-off-by: brian avery Signed-off-by: Richard Purdie --- lib/toaster/toastergui/tables.py | 2 ++ lib/toaster/toastergui/urls.py | 22 +++++++++++++--------- lib/toaster/toastergui/widgets.py | 9 ++++++++- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/lib/toaster/toastergui/tables.py b/lib/toaster/toastergui/tables.py index 92e3b5c6670..70e4b6d7826 100644 --- a/lib/toaster/toastergui/tables.py +++ b/lib/toaster/toastergui/tables.py @@ -50,6 +50,7 @@ class LayersTable(ToasterTable): def __init__(self, *args, **kwargs): super(LayersTable, self).__init__(*args, **kwargs) self.default_orderby = "layer__name" + self.title = "Compatible layers" def get_context_data(self, **kwargs): context = super(LayersTable, self).get_context_data(**kwargs) @@ -208,6 +209,7 @@ class MachinesTable(ToasterTable, ProjectFiltersMixin): def __init__(self, *args, **kwargs): super(MachinesTable, self).__init__(*args, **kwargs) self.empty_state = "No machines maybe you need to do a build?" + self.title = "Compatible machines" self.default_orderby = "name" def get_context_data(self, **kwargs): diff --git a/lib/toaster/toastergui/urls.py b/lib/toaster/toastergui/urls.py index 46e5761443a..55f325d0d6d 100644 --- a/lib/toaster/toastergui/urls.py +++ b/lib/toaster/toastergui/urls.py @@ -87,15 +87,21 @@ urlpatterns = patterns('toastergui.views', # the table pages that have been converted to ToasterTable widget url(r'^project/(?P\d+)/machines/$', tables.MachinesTable.as_view(template_name="generic-toastertable-page.html"), - { 'table_name': tables.MachinesTable.__name__.lower(), - 'title' : 'Compatible machines' }, name="projectmachines"), - url(r'^project/(?P\d+)/recipes/$', - tables.RecipesTable.as_view(template_name="generic-toastertable-page.html"), - { 'table_name': tables.RecipesTable.__name__.lower(), - 'title' : 'Compatible recipes' }, - name="projecttargets"), + url(r'^project/(?P\d+)/softwarerecipes/$', + tables.SoftwareRecipesTable.as_view(template_name="generic-toastertable-page.html"), + name="projectsoftwarerecipes"), + + url(r'^project/(?P\d+)/images/$', + tables.ImageRecipesTable.as_view(template_name="generic-toastertable-page.html"), name="projectimagerecipes"), + + url(r'^project/(?P\d+)/customimages/$', + tables.CustomImagesTable.as_view(template_name="generic-toastertable-page.html"), name="projectcustomimages"), + + url(r'^project/(?P\d+)/newcustomimage/$', + tables.NewCustomImagesTable.as_view(template_name="newcustomimage.html"), + name="newcustomimage"), url(r'^project/(?P\d+)/availablerecipes/$', tables.ProjectLayersRecipesTable.as_view(template_name="generic-toastertable-page.html"), @@ -105,8 +111,6 @@ urlpatterns = patterns('toastergui.views', url(r'^project/(?P\d+)/layers/$', tables.LayersTable.as_view(template_name="generic-toastertable-page.html"), - { 'table_name': tables.LayersTable.__name__.lower(), - 'title' : 'Compatible layers' }, name="projectlayers"), url(r'^project/(?P\d+)/layer/(?P\d+)$', diff --git a/lib/toaster/toastergui/widgets.py b/lib/toaster/toastergui/widgets.py index eb2914d87c2..eb4969214fe 100644 --- a/lib/toaster/toastergui/widgets.py +++ b/lib/toaster/toastergui/widgets.py @@ -45,7 +45,7 @@ class ToasterTable(TemplateView): super(ToasterTable, self).__init__() if 'template_name' in kwargs: self.template_name = kwargs['template_name'] - self.title = None + self.title = "Table" self.queryset = None self.columns = [] self.filters = {} @@ -61,6 +61,13 @@ class ToasterTable(TemplateView): orderable=True, field_name="id") + def get_context_data(self, **kwargs): + context = super(ToasterTable, self).get_context_data(**kwargs) + context['title'] = self.title + context['table_name'] = type(self).__name__.lower() + + return context + def get(self, request, *args, **kwargs): if request.GET.get('format', None) == 'json': -- 2.47.3