V2: Minor code formatting and fixes in line with code review by Ed Bartosh.
V1: 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 ea666f6 (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 (23): 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 toaster: toastergui: code formatting and clean-up .../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 | 103 ++- .../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 | 491 +----------- bitbake/lib/toaster/toastergui/widgets.py | 112 +-- bitbake/lib/toaster/toastermain/settings.py | 9 - 28 files changed, 1898 insertions(+), 1639 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
