aboutsummaryrefslogtreecommitdiffstats
path: root/layerindex/views.py
AgeCommit message (Collapse)Author
2017-06-15layerindex/views: support querying by layer nameJose Lamego
This change supports querying recipes that belong to a specific layer by using the prefix "layer:" + the desired layer name, for example: "layer: openembedded-core" and this string can be used by itself or combined with other supported options. A descriptive error message is displayed when the query string has an unexpected formatting or a non-valid layer name is searched. [YOCTO #6618] Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2017-03-14layerindex: add "No update" status to LayerItemPaul Eggleton
Add a status for a layer indicating it should not be updated. I don't expect this to be widely used (and is only settable from the admin interface) but would be useful if you have a legacy sub-layer that you want to prevent from being visible on certain branches - it will prevent the update script from doing anything with the layer and thus avoid branch records from being auto-created on branches where you've deleted it. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2017-03-14views.py: single result redirectAlex Franco
When the recipe search returns a single result, redirect to it instead of showing the full result list view. Part of the fix for [YOCTO #6618]. Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2017-01-16Sort higher preference layers first in layer listPaul Eggleton
On the main layer index page we want openembedded-core to appear before meta-oe - naturally openembedded-core is the layer everyone starts from. We already have an "index_preference" column that we use for search results, so just sort by that here before sorting by name. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2017-01-13views: Fix OE-Classic searchPaul Eggleton
You need to use a single = not == when filtering in Django. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-11-16views: support querying class inheritancePaul Eggleton
It's a little crude and certainly not optimal performance-wise, but we can support querying for recipes that inherit a particular class without too much trouble. This allows you to add "inherits:cmake" to the query and have it return only recipes that inherit the cmake class. You can use more than one inherits: item to filter down to recipes that inherit all of the specified classes. Note: this does not otherwise change the behaviour of specifying multiple words - all of the words other than those that start with "inherits:" are treated as part of a single phrase that will be searched for - not separate keywords. Fixes [YOCTO #9879]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-11-16Record and display update logsPaul Eggleton
At the moment it's a bit difficult to get update logs out of the environment in which the update script is being run. In order to make the logs more accessible, create a LayerUpdate model to record the output of update_layer.py separately for each layerbranch and tie the created LayerUpdates together with a single Update model per session. We provide two ways to look at this - a Tools->Updates page for logged-in users, and there's also an "Updates" tab on each layer that is accessible to anyone; which one is useful depends on whether you are looking at the index as a whole or an individual layer. Update records older than 30 days are deleted automatically by default. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-10-19views: ensure exact matches on name are shown first in recipe searchPaul Eggleton
Improves slightly on 3155206e54413f72df3b3b41280eafd332a58ba4 by doing an exact match on name and showing that first - now when you search for "git" you really do get the git recipe first in the list. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-10-19views: ensure we only show results once in recipe searchPaul Eggleton
Usage of itertools.chain() that was introduced in 3155206e54413f72df3b3b41280eafd332a58ba4 in order to prioritise matches in the recipe name resulted in recipes showing up twice in the results if they matched in both the name and the recipe name. Use a custom chaining function that skips duplicate results in order to fix this. Fixes [YOCTO #10177]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-10-18layerindex: Add distro to web interface and modelLiam R. Howlett
Add the distros to the index. This looks a lot like the machines and allows users to search for a particular distro. Signed-off-by: Liam R. Howlett <Liam.Howlett@WindRiver.com> Added associated migration. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2016-09-20Update to Django 1.8Paul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-08-01Fix output decoding/reporting for bulk change patch downloadPaul Eggleton
With Python 3 we need to take care of decoding the output so we can treat it as a string. At the same time, it's more useful to see the output string rather than the exception if there is some output. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-06-12Support (and require) Python 3Paul Eggleton
We need to be able to support Python 3 so that we can parse master of OE-Core with bitbake (which now requires it). This now means the interface itself and the update script require Python 3.4+. Part of the implementation for [YOCTO #9704]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-06-12Fix for changes in modern django-reversionPaul Eggleton
We have to upgrade django-reversion to 1.8 due to upgrading Django, but unfortunately in that same version the author has removed the type field on Version model, without a particularly good explanation as to why. This is really annoying as we were using it to provide a reasonable audit including for deletes. I suspect we'll need to move away from django-reversion and do our own thing in future, but for now at least allow the layer index to keep working. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-06-12Fix listing *_git.bbappend as appends for git recipePaul Eggleton
Fix a greedy regex in the recipe detail view resulting in the git recipe listing all bbappends named *_git.bbappend as its bbappends (quite a few in the public instance). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-05-30Allow blanking out field values in bulk changePaul Eggleton
If you're moving a short description value from DESCRIPTION to SUMMARY then part of that is setting DESCRIPTION to blank, however that wasn't possible - the code was assuming that a null value meant "keep the original value". Change the logic so that the value in the bulk change object is always set and is compared to the original value to see if it is different. This provides less safety against bulk change data going stale in the face of the metadata being updated, but without using an additional "magic" field value that's the price we have to pay, and it's unlikely to bother too many people I would imagine. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-05-23search: show matches against pn at top of recipe search resultsElliot Smith
Using the search box creates a query against the pns, summaries, descriptions and filenames of recipes. This results in a lot of spurious results for common terms like "git" when performing a recipe search. Make the results more useful by: * Only searching against pn, description and summary (not file). * Putting matches against pn at the top of the list, followed by matches against description and summary. [YOCTO #9159] Signed-off-by: Elliot Smith <elliot.smith@intel.com>
2015-01-23Hide "updated" field changes in change history pagePaul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2014-03-09recipes: preserve search keyword when switching between branchesPaul Eggleton
If you want to check what the same search returns on a different branch it makes things easier if you don't have to re-type the search after selecting the branch. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2014-03-09Fix append list name matchingPaul Eggleton
* Recipes without versions in the file name (such as alsa-state.bb) weren't having their bbappends listed. Use a regex match to fix this. * Use the prefix from the filename instead of PN, since that's how BitBake does it * List version matching bbappends first, then non-matching in muted colour Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2014-03-09duplicates: sort recipes by version (descending) after other sortsPaul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2014-03-09duplicates: add ability to select layersPaul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2014-03-03Fix OE-Classic stats page for update to latest django-nvd3 (0.6.0)Paul Eggleton
Update d3/nvd3 js files in the process, but hold off on nv.d3.css for now because the latest version breaks the formatting/fading on tooltips. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-09-13Fix error when editing layer from review pagePaul Eggleton
The layer_review URL does not take a branch argument, so we can't send one or it'll fail. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-09-05Show a coherent error on bulk change lock timeoutPaul Eggleton
Since it's possible that the user will try to get patches while the update script is running, ensure we show a sensible error if the script times out waiting for a lock. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-09-05Navigation improvementsPaul Eggleton
* Drop the front page - this just gets in the way. Redirect to the layers list instead. This has meant adding a touch more text to the about page and adding the FAQ link to the footer. * Use a separate navbar to hold the branch selector and the main top-level pages (Layers, Recipes, Machines) instead of tabs * All pages depending on a branch selection are now under branch/<branchname>/ so we don't need to have the branch selection on every page. * Use breadcrumbs on recipe detail and layer detail pages instead of tabs * Add title to recipe detail page Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-09-05Make machine search consistent with recipe searchPaul Eggleton
Don't start with all records being shown - only do this if the search button is pressed with no keyword. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-09-05Add support for importing OE-Classic recipesPaul Eggleton
Add a script for doing a one-time import of OE-Classic recipe information, so comparisons against OE-Core can be performed; this is stored using a new ClassicRecipe model supporting additional fields for tracking migration status. The migration status fields can be updated as well as viewed and summarised in graph format. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-08-11Show appends in recipe detailPaul Eggleton
Show the appends in other layers that apply to the recipe. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-08-11Add cancel button to edit layer formPaul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-08-11Return to appropriate page when saving a layerPaul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-08-11Enable messages framework and use it to display "layer saved" messagePaul Eggleton
The Django messages framework is the proper way to handle these kinds of messages. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-08-11Add recipe bulk change featurePaul Eggleton
This provides a way to set "meta" fields (SUMMARY, DESCRIPTION, HOMEPAGE, BUGTRACKER, SECTION, and LICENSE) for a number of recipes at once, and then download those changes in the form of one or more patch files which can be submitted for merging into the layer. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-06-17Add duplicate recipes/classes pagePaul Eggleton
Add page that lists recipes and classes "duplicated" across different layers. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-06-17Collect bbappends and bbclasses for each layerPaul Eggleton
Collect bbappend/bbclass info during the update process and display it on the layer detail page. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-06-03Add preference order fieldPaul Eggleton
Add an index_preference field to enable control over which layer's duplicate recipes get de-emphasised in the recipe search results. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-06-03Improve history collection and add link to history pagePaul Eggleton
Save individual field changes into revision comment and display this comment on the history page. Now we're ready to add a link at the bottom of every page so the history is easily visible. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-05-22Use user's first name or login name in review emailPaul Eggleton
It's not really appropriate to say "Hi Joe Bloggs" at the start of the email - we only need the user's first name or the login name if the first name hasn't been filled in. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-05-22Add user profile editing formPaul Eggleton
This form allows the user to change their email address, first and last name. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-04-05detail: ensure machine list is sorted by namePaul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-31Add basic change history pagePaul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-28Redirect to login page for review list/detail views if not logged inPaul Eggleton
This avoids showing a 403 error when a user clicks on a review link in the layer submission notification email but hasn't logged in yet. Also protect the review list view with a permission check; it's not that it's sensitive, but we should be consistent with the detail here. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-20De-emphasise recipes where there is a more preferred version availablePaul Eggleton
If another recipe exists with the same name in a different layer and that other layer is "older" (by layer ID) and is a software or base layer then lighten the recipe entry in the search results as it may not be the preferred version (e.g. recipes in BSP or distro layers may have been customised specifically for the machine or distro). This has had a performance impact on the recipes list; as a result showing all recipes by default has been disabled. If the user really wants to see all recipes they can just leave the search box blank and hit the search button. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-20Ensure entire layer gets refreshed on next update if repo fields changePaul Eggleton
If the user edits the layer and changes the repository URL, subdirectory, or dependencies, ensure that the entire layer gets refreshed the next time the update script runs by clearing out the last fetched revision field. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-20Sort layer list by layer type firstPaul Eggleton
The old layer index was sorted first by layer type so let's do the same here. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-20Move repo subdirectory to layerbranchPaul Eggleton
So it turns out that one or two layers have changed in structure between branches, so we need to be able to specify this on a per-branch basis. Good times... Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-06Add separate templates for review list and detailPaul Eggleton
This cuts out a lot of the elements that aren't needed for the review list, shows fields in a more suitable way for review purposes than the standard detail (and includes some fields that don't currently get shown on the standard detail e.g. layer type and short description). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-06Ensure we switch to the master branch for reviewingPaul Eggleton
Newly submitted layers don't have anything other than a master branch, so they won't display properly unless we have master selected; so just add a parameter to submission email and review URLs to ensure that is the case. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-06Use TemplateView for simple views instead of custom functionsPaul Eggleton
The simple views for about and the submit thanks pages don't need special views, so the standard TemplateView can be used. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-03-05Add support for handling multiple branchesPaul Eggleton
Change the data structure to support multiple branches. At the top level there is a set list of Branch objects, and then a LayerBranch object between each layer and the maintainers, dependencies, recipes and machines, so that the set of each can be different per branch. The branch is a session option, and can be selected via a drop-down that is shown for all pages. Additionally, with this change we avoid the need to run the update script within a build environment set up with oe-init-build-env - since we need a specific version of BitBake per branch we now use our own copy of BitBake which is fetched by the script itself. The update script will need to be called multiple times however - once per branch. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>