bitbake: toaster: fix progress bar in MySQL environment

When using MySQL, the project builds info delivered by MySQL
differs from that delivered by SQLite: the former returns text
values from the enumeration for Build outcomes, while the latter
returns the integer value. This causes the progress bar JS to
break, as it is expecting outcome strings.

Modify the recent_build() method to include an outcomeText property
for each Build object, then use this in the conditionals in the
progress bar JS.

[YOCTO #9498]

(Bitbake rev: 7ac374adf1cc70173ff6cc492bc078bba1cf500b)

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Elliot Smith 2016-05-13 17:02:58 +01:00 committed by Richard Purdie
parent c0db739f35
commit 3d11229aa1
2 changed files with 3 additions and 2 deletions

View File

@ -416,6 +416,7 @@ class Build(models.Model):
# to show build progress in mrb_section.html
for build in recent_builds:
build.percentDone = build.completeper()
build.outcomeText = build.get_outcome_text()
return recent_builds

View File

@ -57,12 +57,12 @@ function mrbSectionInit(ctx){
for (var i in prjInfo.builds){
var build = prjInfo.builds[i];
if (build.outcome === "In Progress" ||
if (build.outcomeText === "In Progress" ||
$(".progress .bar").length > 0){
/* Update the build progress */
var percentDone;
if (build.outcome !== "In Progress"){
if (build.outcomeText !== "In Progress"){
/* We have to ignore the value when it's Succeeded because it
* goes back to 0
*/