Many of the tables displayed by Toaster are backed by ToasterTable, but some of the key ones (like "projects", "all builds", and "project builds") aren't.
This makes it difficult to keep styling consistent between tables, as some are styled by making changes to ToasterTable, while others are styled by modifying Django templates. Improve the consistency and maintainability of these tables by converting them to use ToasterTable. Note that this patchset also reworks the ToasterTable API so that we can easily support different column filter types. To test: 1. Open the "projects", "all builds" and "project builds" pages in Toaster. 2. Check that the column filtering and sorting works correctly, and projects/builds display correctly. Changes since 81850bb (toaster-next) are in git://git.yoctoproject.org/poky-contrib, elliot/toaster/tables-8738 http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=elliot/toaster/tables-8738 Related bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=8738 Elliot Smith (22): toaster: toastergui Use ToasterTable for projects page toaster: Move image file suffix list to model toaster: Check inferred file suffixes against list of known types toaster: toastergui Switch projects/ view to ToasterTable toaster: toastergui Use event delegates for hover help elements toaster: toastergui Convert all builds page to ToasterTable toaster: toastergui Refactor ToasterTable filtering toaster: toastergui Switch off filter highlights when inactive toaster: toastergui Show recent builds on all builds page toaster: toastergui Implement date range filters for builds toaster: toastergui Implement "today" and "yesterday" filters toaster: toastergui Convert project builds page to ToasterTable toaster: toastergui Don't hide all elements with .col class toaster: toastergui Ensure filter_value updates toaster: toastergui Streamline construction of filter objects toaster: toastergui Serialise decimals correctly toaster: toastergui Set default visible and hideable columns toaster: toastergui Mute label for filter actions with no records toaster: toastergui Make "Apply" button state depend on filter range toaster: toastergui Fix error and warning counts for builds toaster: toastergui Remove unused views and template code toaster: tests Fix Django tests for new ToasterTable pages .../contrib/django-aggregate-if-master/.gitignore | 10 - .../contrib/django-aggregate-if-master/.travis.yml | 50 -- .../contrib/django-aggregate-if-master/LICENSE | 21 - .../contrib/django-aggregate-if-master/README.rst | 156 ---- .../django-aggregate-if-master/aggregate_if.py | 164 ---- .../contrib/django-aggregate-if-master/runtests.py | 48 -- .../contrib/django-aggregate-if-master/setup.py | 33 - .../contrib/django-aggregate-if-master/tox.ini | 198 ----- bitbake/lib/toaster/orm/models.py | 109 ++- .../lib/toaster/toastergui/static/js/libtoaster.js | 6 +- .../toaster/toastergui/static/js/projecttopbar.js | 9 + bitbake/lib/toaster/toastergui/static/js/table.js | 325 ++++++-- bitbake/lib/toaster/toastergui/tablefilter.py | 292 +++++++ bitbake/lib/toaster/toastergui/tables.py | 858 +++++++++++++++++++-- .../toastergui/templates/baseprojectpage.html | 1 + .../toastergui/templates/builds-toastertable.html | 48 ++ .../lib/toaster/toastergui/templates/builds.html | 125 --- .../toaster/toastergui/templates/mrb_section.html | 4 +- .../templates/projectbuilds-toastertable.html | 56 ++ .../templates/projects-toastertable.html | 36 + .../lib/toaster/toastergui/templates/projects.html | 92 --- .../toastergui/templates/toastertable-filter.html | 4 +- .../toaster/toastergui/templates/toastertable.html | 7 +- bitbake/lib/toaster/toastergui/tests.py | 265 +++++-- bitbake/lib/toaster/toastergui/urls.py | 14 +- bitbake/lib/toaster/toastergui/views.py | 486 +----------- bitbake/lib/toaster/toastergui/widgets.py | 112 +-- bitbake/lib/toaster/toastermain/settings.py | 9 - 28 files changed, 1902 insertions(+), 1636 deletions(-) delete mode 100644 bitbake/lib/toaster/contrib/django-aggregate-if-master/.gitignore delete mode 100644 bitbake/lib/toaster/contrib/django-aggregate-if-master/.travis.yml delete mode 100644 bitbake/lib/toaster/contrib/django-aggregate-if-master/LICENSE delete mode 100644 bitbake/lib/toaster/contrib/django-aggregate-if-master/README.rst delete mode 100644 bitbake/lib/toaster/contrib/django-aggregate-if-master/aggregate_if.py delete mode 100755 bitbake/lib/toaster/contrib/django-aggregate-if-master/runtests.py delete mode 100644 bitbake/lib/toaster/contrib/django-aggregate-if-master/setup.py delete mode 100644 bitbake/lib/toaster/contrib/django-aggregate-if-master/tox.ini create mode 100644 bitbake/lib/toaster/toastergui/tablefilter.py create mode 100644 bitbake/lib/toaster/toastergui/templates/builds-toastertable.html delete mode 100644 bitbake/lib/toaster/toastergui/templates/builds.html create mode 100644 bitbake/lib/toaster/toastergui/templates/projectbuilds-toastertable.html create mode 100644 bitbake/lib/toaster/toastergui/templates/projects-toastertable.html delete mode 100644 bitbake/lib/toaster/toastergui/templates/projects.html -- 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
