Add button for search instead of did with keyUp function in the input
this avoid overprocessing and icrements usability.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Show percentage sign for every item in percentage column.
Don't display zero's in week columns instead use blank '' to
avoid noisy.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Now filter recipes are done by JS this avoid to made request for every
change in the filters also add support for share filters between pages.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
templates/base.html: Disable login button and set content class
type to container-fluid when app is RRS.
templates/rrs/base_toplevel.html: Disable top functions.
templates/rrs/recipedetail.html: Fix class type for different
upstream status and better display of recipe info don't display
element if no have content.
rrs/views.py: Don't display percentages with two decimals and
separate filters for set and elements.
templates/rrs/recipes.html: Add support for display filters with
set and element separation.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
In order to provide only one status when recipe upstream backend
script fails display display Unknown as Unknown + Downgrade.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Maintainer statistics page gives information by Milestone and
Maintainers assigned recipes, status of recipes (up-to-date,
not-update, unknown) and percertange of work done.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Modularize get milestone statistics not at private function in order
to use in Manitainers view.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
rrs/views.py: Now is necessary to test if a RecipeMaintainer exists by
milestone to avoid errors for undefined variables.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
If not maintainer info is found return None instead of the first
one entry in the table, this made reporting more consistency.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Now can you get maintainers based on Milestones.
Feature changes,
rrs/models.py: Add RecipeMaintainerHistory to store maintainer updates.
rrs/admin.py: Add admin site for RecipeMaintainerHistory.
Adapt changes,
Now you need to specify RecipeMaintainerHistory to get RecipeMaintainer,
changes into rrs/view.py.
These set of changes are incompatible with the previous version you need
to do initial setup described in README.rrs.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
When setting up the rrs application you must uncomment
the 'rrs' line in INSTALLED_APPS. Adding that to the
settings.py configuration instructions.
Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Improve CSS in order to handle column width better also
use styles to display upstream status column.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Recipe detail page gives information about Recipe like summary,
section, license, file, etc. also display's upgrade history.
rrs/models.py: Milestone add get_by_date and rewrite get_current
for use get_by_date and RecipeDistro add get_distros_by_recipe.
rrs/urls.py: Add url for recipe_detail with pk.
rrs/views.py: Add RecipeUpgradeDetail view.
templates/rrs/recipedetail.html: Add recipedetail template.
templates/rrs/recipes.html: Add link to Recipe detail by row.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Add url validation for Milestone and Upstream status and maintainer name
params if isn't valid raise HTTP 404.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
templates/rrs/base_toplevel.html: Add support for display statistics by
Milestone.
templates/rrs/recipes.html: Add initial page that display Recipe
status by Milestone also details of every recipe.
rrs/views.py: Add RecipeLitView for support recipes page.
rrs/models.py: Add helper functions.
rrs/static/*: Add css and js resources.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
To provide statistics about RecipeUpstream information based on
Milestones we need to store RecipeUpstreamHistory that contains when the
update script was executed.
rrs/admin.py: Add admin page for RecipeUpstreamHistory.
rrs/models.py: Add model for RecipeUpstreamHistory with helper functions
for get last and last by date range also add migration.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
templates/base.html: Discard bulk change and submit layer when app is
rrs.
templates/rrs/about.html: Add about page that extends of base.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
settings.py: Add APPLICATION variable to switch between layerindex
rrs also add context_processors decision layerindex or rrs.
urls.py: Add decision for load urls for layerindex or rrs.
layerindex/context_processors.py: Add application variable for use
templates.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Add models for store Milestone, Maintainer and Recipe{Maintainer,
Upgrade, Upstream, Distro}, add initial data for Milestone and
Maintainer, initial migration and admin sites.
Add rrs/context_processors.py for return the site_name and application
for use in templates.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
If you specify what fields are non readonly using get_all_field_names()
causes a fail when have two Apps because this method returns reference
to models in other App (foregin keys) that isn't defined.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Some layers use an older-style method to append a value to BBFILES,
namely BBFILES := "${BBFILES} ..." - this normally works fine, but in
our environment we don't order parsing of layers. That's probably wrong,
but for now just ensure BBFILES has a value to begin with as a
workaround.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Fix up memory leak fix for bitbake in daisy and earlier which did not
have bb.codeparser.codecache.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
We're kind of abusing some bitbake internals here and the result is that
there are a bunch of global lists and caches that simply grow as we
parse more layers, until available memory is exhausted. We don't care
about the contents of any of these within the layer index update script
so just clear them out between layers.
Should fix [YOCTO #7663].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Add default = datetime.now attr to updated field of Branch
model because it fails when try to insert inital data with NULL.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
We add an automatically-updateing "updated" datetime
field to Branch, LayerItem, LayerBranch, Recipe and
Machine models to allow date-based incremental updates
through the API.
The added field does not interfere with the existing
form-based pages (auto_now sets editable to false).
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
We add the corsheaders application in order to
enable the CORS policy for the read-only REST API.
This is needed to allow AJAX queries to the layerindex
application from a browser environment.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
This patch enables a read-only REST API for the layerindex
application using Django REST Framework.
The objects of types Branch, LayerBranch and LayerItem are
exposed to queries so that the layerindex application can
function as a Layer Source in Toaster.
The library dependencies are documented in the requirements.txt
file.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
General practice influenced by heroku.com is to create
a requirements.txt documenting the python library dependencies
for the project. This allows a user to easy setup a running
environment for the project using virtualenv and pip.
Extending .gitignore to ignore venv (reserved for virtualenv
use) and vim swap files.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
* Fix "sre_constants.error: nothing to repeat" error due to .* inside
group made optional with ? in regex
* Avoid error if maintainer responsibility is not specified
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
When we did a full reload this list wasn't getting cleared for the next
layer, and we look at the contents of the list unconditionally later to
determine which files need to be added. Given that the list items are
full paths, this is unlikely to have caused any problems; however it
could possibly have been an issue for nested layers with the right
update order, or lead to issues if the usage of the list changes in
future.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Some layers, such as meta-intel, also contain other layers. We don't
want recipes/classes/appends in those child layers to appear in the
parent layer so ignore any that appear within subdirectories that
contain a conf/layer.conf file.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
There was a logic error here - we were checking to see if the layer
directory existed before actually checking out the branch, which means
we were looking at the state of whatever branch was previously checked
out. Replace this with some validation of the last revision check and an
additional check for the directory after checking out the branch.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>