summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/tables.py
AgeCommit message (Collapse)Author
2016-01-15bitbake: toastergui: implement "today" and "yesterday" filtersElliot Smith
Add the "today" and "yesterday" filters to the started_on and completed_on columns in the builds table. During this work, some minor adjustments were made to the behaviour of the builds table: * Amend filter action variable names so they're more succinct. * Retain order in which actions are added to a filter, as this ordering is used in the UI when displaying the filter actions. * Always show the table chrome, otherwise it's not possible to edit the columns shown until there are 10 or more results. * Because date range searches may return no results, make sure that the search bar and "show all results" link are visible when the query returns no results. [YOCTO #8738] (Bitbake rev: f17cfa009e58833e0e55884fa04de8abd522b6bc) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15bitbake: toastergui: implement date range filters for buildsElliot Smith
Implement the completed_on and started_on filtering for builds. Also separate the name of a filter ("filter" in the querystring) from its value ("filter_value" in the querystring). This enables filtering to be defined in the querystring more intuitively, and also makes it easier to add other types of filter (e.g. by day). [YOCTO #8738] (Bitbake rev: d47c32e88c2d4a423f4d94d49759e557f425a539) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15bitbake: toastergui: show recent builds on all builds pageElliot Smith
The recent builds section was disabled while converting the all builds page to ToasterTable. Re-enable the recent builds area and add the data it requires to the ToasterTable context. [YOCTO #8738] (Bitbake rev: d6df4545bd134a23c9bd3cd1ba3b61ddb26545e4) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15bitbake: toastergui: refactor ToasterTable filteringElliot Smith
The filter code for ToasterTable was difficult to follow and inflexible (not allowing different types of filter, for example). Refactor to a set of filter classes to make the structure cleaner and provide the flexibility needed for other filter types (e.g. date range filter). [YOCTO #8738] (Bitbake rev: 94031bb30bdaf665d0c8c68b591fcb7a17b6674d) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15bitbake: toastergui: convert all builds page to ToasterTableElliot Smith
For better long-term maintainability, use ToasterTable instead of Django template and view code to display the all builds page. NB the builds.html template has been left in, as this will otherwise cause conflicts when merging the new theme. [YOCTO #8738] (Bitbake rev: e0590fc8103afeb4c5e613a826057555c8193d59) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15bitbake: toastergui: switch projects/ view to ToasterTableElliot Smith
Remove the old projects page and replace with the new ToasterTable-based version. NB although the projects.html template is no longer required, it's been left in as there will be changes applied to it for the new theme. These changes will have to then be transferred from the projects.html template to projects-toastertable.html. Similarly, the code for the projects page in views.py has been retained. [YOCTO #8738] (Bitbake rev: ebe7831ef65e78a9d100f29a63311518577fc838) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15bitbake: toaster: check inferred file suffixes against list of known typesElliot Smith
The algorithm for finding the suffix for image files produced by the build doesn't reference a list of known file suffixes, so could be prone to error. Modify how file suffixes are parsed from the file path so that they are compared against a list of known types; if this fails, use the part of the basename of the file path after the first '.' character. Also rationalise the places in the views code where we extract the file name extensions for builds, so they both use the same algorithm (before, the same code was duplicated in two places). [YOCTO #8417] (Bitbake rev: dd1c509696b8ab5e593cc64637060a58e95fcd1f) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-15bitbake: toastergui: use ToasterTable for projects pageElliot Smith
The projects page uses the old approach for showing tables, which means a template for each table. This means that applying changes to ToasterTable (which is used for most tables) has no effect on the layout, styling and behaviour for these older tables, and requires additional duplicated effort. Move the projects page to use ToasterTable instead, to remove the duplication of effort. [YOCTO #8738] (Bitbake rev: df56a35bc71639457329c4b58839976c5ee40106) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14bitbake: toaster: tables Set a default order for the software recipes tableBelen Barros Pena
Add default order by recipe name, so that the table content is sorted when the page loads. [YOCTO #8791] (Bitbake rev: 36cc814b64bcf3825ed096ade0b8c590e497259f) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07bitbake: toaster: tables Fix invalid field name on NewCustomImagesTableMichael Wood
Correct the field name in the NewCustomImagesTable as it is a Recipe object it's self and not a container. (Bitbake rev: ebd1c493d8b7fb9ee7b3e40c17165dc9c22ca795) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07bitbake: toaster: tables Add default_orderby field where it was missing or unsetMichael Wood
This value is used to set the default ordering of the model that is used for ToasterTables, it is picked up client side to set the ordering indicator. [YOCTO #8695] (Bitbake rev: f1c91bff810a579b169c46b7710e22f5553b484e) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-07bitbake: toaster: machines table Fix missing layers information needed for ↵Michael Wood
filter The current layers information wasn't being passed to the template for the Select/Add button for the Compatible machines filter. (Bitbake rev: 559102984d3f62a7675899e058166bdf4d552c46) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-16bitbake: toaster: Have 'Version' next to recipe nameBelen Barros Pena
In all Toaster tables we show the version next to the recipe or package names, with one exception: the recipes table in the layer details page, where we are showing the version next to the recipe description. This patch moves the version column next to the recipe name, for consistency with all other Toaster tables. (Bitbake rev: b5af7084b28158a8a9eaf78db463555ae8e0f620) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-11bitbake: toaster: Fix stale layer state buttonsMichael Wood
Move the "is available to the project" state computation to the template for the Layer add/remove buttons, Recipe build/Add layer as done for the Package add/remove. This is more reliable as we can get an inconsistent state on the front end JS as there are many opportunities for hitting out of date project information. [YOCTO #8294] (Bitbake rev: 43469c3360566ad4897785f14f8717a9bc8b6078) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-11bitbake: toaster: tables Add the recipe filter back into the Recipe tableMichael Wood
Add the "Is recipe currently available in the project" filter back to the Recipe table which was removed when we had intermediate AvailableRecipe tables. (Bitbake rev: b3682d1d851e616efa0715f9d43815a92e259432) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-11bitbake: toaster: Set default columns in recipes tablesBelen Barros Pena
The compatible image recipes and software recipes tables show pretty much all their columns by default. That's a few too many columns. The default columns in both tables should be: recipe, version, description, layer and build. This patch sets the above as the default columns. It also changes the table heading 'Recipe Version' to just 'Version', which is shorter and self-explanatory. [YOCTO #8421] (Bitbake rev: 1f7bfe5e13bc39bb7eb6e039fe4b6291fc95d531) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-29bitbake: toaster: orm remove the complicated querying on the ORMMichael Wood
We no longer need to compute each layer_version and all the recipes which belong to this. [YOCTO #8147] (Bitbake rev: 505979ab931e3a2a218d7030d6064987e8f9ff14) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-29bitbake: toaster: tables show all recipes in the layerdetails even duplicatesMichael Wood
For some layers we have multiple recipes for the same software with differing versions. Change to showing all versions and add a version column to the table instead. (Bitbake rev: 8480e275e87275921d0dd54f2a7a445b1cd40203) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-29bitbake: toaster: Add ToasterTables for Image customisation featureMichael Wood
- Split up the recipes tables into Image recipes and Software Recipes - Add CustomImageRecipe table - Add SelectPackagesTable table - Add NewCustomImagesTable table (Bitbake rev: 4e5472e9ba6850081baa9d56fabc4ddb1aa24846) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-29bitbake: toaster: tables Move the title and name into the widgetMichael Wood
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. (Bitbake rev: 2f7949caec3c9194328c35b2e075eaae85409efe) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: brian avery <avery.brian@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-06bitbake: toastergui: layerBtn Fix build trigger mechanismMichael Wood
The new project page is no longer responsible for triggering the build so add a handler for this in layerBtn which is used in the layerdetails and layers pages. This also removes the conflicting and redundant handler for this in the layerdetails. (Bitbake rev: b4c389443bdd121121fd1d1a9006a9f1f63f186f) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-06bitbake: toastergui: Fix typo on layers in project filter conditionMichael Wood
Should be & rather than "and" which was returning the truth'd value of the and condition. [YOCTO #8114] (Bitbake rev: 58035667e433f2b77f5cd48240dd051c35476284) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-06bitbake: toastergui: Machine select button url parameters changeMichael Wood
Update the url for changing the machine in the project page. [YOCTO #8113] (Bitbake rev: 6e46ad4aa404d80fded27db1fb072d35250cfcfb) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-06bitbake: toastergui: Move layerdetails view definition to the views.pyMichael Wood
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. (Bitbake rev: b5100bfd4cb32a9b59b0554c6dbc3a4295da7d8e) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-06bitbake: toastergui: tables Use util functions for the common querysetsMichael Wood
Use the new utils functions on the project object to get the common querysets that we also use in tables. (Bitbake rev: 5e013a9bc3deb03bd6bac357b9ecb81c3c77b255) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-01bitbake: toastergui: tables Add name field to layers tableMichael Wood
This field is required by the typeahead in the new project page to do the name matching on. (Bitbake rev: dbce3b43094b0a123b0d63aa07cc4f9547630094) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-01bitbake: toastergui: Standardise the layer object property layerdetailurlMichael Wood
To be able to use the utility functions in libtoaster we need to have a single property name for the value that represents the url for the layer details in the layer object. (Bitbake rev: 4d64fd0d1236d342b29537f601a68cd23a8255ea) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-26bitbake: toaster: Restore 'in project' filters to main tablesMichael Wood
Restores the previously removed filters from recipes, machines and layers table. These filters allow filtering down the results to just displaying the current added layers, machines or recipes in the project. [YOCTO #7851] (Bitbake rev: 04a3e4614aae8ba794a3b8ac9083e723de7ca522) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-12bitbake: toaster: tables: Remove obsolete field_name for select columnVlad Fulgeanu
field_name is no longer used for this kind of column. So no need to specify it here. (Bitbake rev: 058e9db05767f2d46d46c02dd5043bb0f6b8e460) Signed-off-by: Vlad Fulgeanu <andrei-vlad.fulgeanu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-12bitbake: toaster: fixes after refactoringAlexandru DAMIAN
This patch fixes issues brought in by refactoring: * the New Build button is working with pre-set projects * the xhr_datatypeahead is exposed for calls that are not mapable to the REST objects * a new table returing recipes provided by layers currently selected in the project is used to provide recipe suggestions * the field names in json are switched from "list" to "rows" as to maintain consistency with the ToasterTables * the "value" field in xhr_ calls is now named "search" to maintain consistency (Bitbake rev: a5bc29083d4f85a5695f3f62d5badb783c6f7224) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-12bitbake: toastergui: remove xhr_datatypeahaed layerdeps callAlexandru DAMIAN
This patch removes the url-constructing calls to get the layer details in favor of embedding the look-up URL in the JSON data on the layer list page. This allows further removal of the XHR-specific code for layer dependencies in favor of REST calls to layer details data. (Bitbake rev: 33d2b87aca667d72262a3928deaf35414b46a7c1) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-12bitbake: toaster: add class template view for single-object pagesAlexandru DAMIAN
Adding ToasterTemplateView as prototype for all class-based views that display single objects; equivalent to ToasterTable for object lists. (Bitbake rev: d3edea773000a663f5883e04f477d853bff64cf6) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-12bitbake: toaster: ToasterTables add computational fieldsAlexandru DAMIAN
This patch adds the ability to pass a function to be computed for generating a field value in setting up a column in ToasterTables. Also adding "displayable" property that can be turned False for columns that are present in JSON data but are not part of the UI. Add the "id" column by default for all rows. (Bitbake rev: fb683135348b074412da154585c75865aad1eab0) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-12bitbake: toaster: toastertables REST refactoringAlexandru DAMIAN
This patch refactors the ToasterTables to bring them in line with REST principles - - all table pages now support the "format=json" GET parameter that returns the data in JSON format - the tables themselves This cleans up the URL namespace by aleviating the need to have two URLS for each table (one for the template and one for the data loading), and fixes minor things in the ToasterTable implementation. (Bitbake rev: 1778dac9fd39dae75c55bf2cf836cdd488dbc265) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-29bitbake: toaster: Add an invalidate cache method on data update signalMichael Wood
Instead of relying on the cache expiring over an amount of time we can listen to the changed notification on the models to invalidate the cache. Also fixes overlapping cache names. (Bitbake rev: eb0b1450e421cf65b407b1ac0336ac24ffc626e8) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-29bitbake: toaster: Port layerdetails to ToasterTablesMichael Wood
This ports the layerdetails page to using ToasterTables Also some whitespace and strict clean ups in the existing layerdetails js and html template. (Bitbake rev: 8ce35f81631e31539aeb82f8a85abbb3312e5097) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-14bitbake: toaster: Port All recipes, layers and machines to ToasterTablesMichael Wood
Port of the main tables to the new ToasterTable widget. (Bitbake rev: 6de539d5953b2dca2a9ed75556a59764337a194c) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>