Incorrect columns were shown by default in the "all builds",
"project builds" and "all projects" pages.

Set the "hidden" property on columns in these tables to hide the
correct columns.

Add a set_column_hidden() method to ToasterTable so that the
"hidden" property can be overridden for the machines column
in the project builds page (it shares a superclass with
all builds).

Make the time column on all builds page hideable.

[YOCTO #8738]

Signed-off-by: Elliot Smith <[email protected]>
---
 bitbake/lib/toaster/toastergui/tables.py  | 23 ++++++++++++++++++++---
 bitbake/lib/toaster/toastergui/widgets.py | 18 ++++++++++++++++++
 2 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/bitbake/lib/toaster/toastergui/tables.py 
b/bitbake/lib/toaster/toastergui/tables.py
index a3568a7..caf7e8d 100644
--- a/bitbake/lib/toaster/toastergui/tables.py
+++ b/bitbake/lib/toaster/toastergui/tables.py
@@ -814,7 +814,7 @@ class ProjectsTable(ToasterTable):
                                    last project build. If the project has no \
                                    builds, this shows the date the project was 
\
                                    created.',
-                        hideable=True,
+                        hideable=False,
                         orderable=True,
                         static_data_name='updated',
                         static_data_template=last_activity_on_template)
@@ -838,7 +838,7 @@ class ProjectsTable(ToasterTable):
         self.add_column(title='Number of builds',
                         help_text='The number of builds which have been run \
                                    for the project',
-                        hideable=True,
+                        hideable=False,
                         orderable=False,
                         static_data_name='number_of_builds',
                         static_data_template=number_of_builds_template)
@@ -871,6 +871,7 @@ class ProjectsTable(ToasterTable):
                         help_text='The number of warnings encountered during \
                                    the last project build (if any)',
                         hideable=True,
+                        hidden=True,
                         orderable=False,
                         static_data_name='warnings',
                         static_data_template=warnings_template)
@@ -879,6 +880,7 @@ class ProjectsTable(ToasterTable):
                         help_text='The root file system types produced by \
                                    the last project build',
                         hideable=True,
+                        hidden=True,
                         orderable=False,
                         static_data_name='image_files',
                         static_data_template=image_files_template)
@@ -1078,6 +1080,7 @@ class BuildsTable(ToasterTable):
         self.add_column(title='Started on',
                         help_text='The date and time when the build started',
                         hideable=True,
+                        hidden=True,
                         orderable=True,
                         filter_name='started_on_filter',
                         static_data_name='started_on',
@@ -1118,7 +1121,8 @@ class BuildsTable(ToasterTable):
 
         self.add_column(title='Time',
                         help_text='How long the build took to finish',
-                        hideable=False,
+                        hideable=True,
+                        hidden=True,
                         orderable=False,
                         static_data_name='time',
                         static_data_template=time_template)
@@ -1330,6 +1334,19 @@ class ProjectBuildsTable(BuildsTable):
         # set from the querystring
         self.project_id = None
 
+    def setup_columns(self, *args, **kwargs):
+        """
+        Project builds table doesn't show the machines column by default
+        """
+
+        super(ProjectBuildsTable, self).setup_columns(*args, **kwargs)
+
+        # hide the machine column
+        self.set_column_hidden('Machine', True)
+
+        # allow the machine column to be hidden by the user
+        self.set_column_hideable('Machine', True)
+
     def setup_queryset(self, *args, **kwargs):
         """
         NOTE: self.project_id must be set before calling super(),
diff --git a/bitbake/lib/toaster/toastergui/widgets.py 
b/bitbake/lib/toaster/toastergui/widgets.py
index d9328d4..d2ef5d3 100644
--- a/bitbake/lib/toaster/toastergui/widgets.py
+++ b/bitbake/lib/toaster/toastergui/widgets.py
@@ -168,6 +168,24 @@ class ToasterTable(TemplateView):
                              'computation': computation,
                             })
 
+    def set_column_hidden(self, title, hidden):
+        """
+        Set the hidden state of the column to the value of hidden
+        """
+        for col in self.columns:
+            if col['title'] == title:
+                col['hidden'] = hidden
+                break
+
+    def set_column_hideable(self, title, hideable):
+        """
+        Set the hideable state of the column to the value of hideable
+        """
+        for col in self.columns:
+            if col['title'] == title:
+                col['hideable'] = hideable
+                break
+
     def render_static_data(self, template, row):
         """Utility function to render the static data template"""
 
-- 
Elliot Smith
Software Engineer
Intel OTC

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

-- 
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

Reply via email to