All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] toaster: fix progress bar in MySQL environment
@ 2016-05-13 10:40 Elliot Smith
  2016-05-13 10:43 ` Smith, Elliot
  0 siblings, 1 reply; 4+ messages in thread
From: Elliot Smith @ 2016-05-13 10:40 UTC (permalink / raw)
  To: toaster

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]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
---
 bitbake/lib/toaster/orm/models.py                      | 1 +
 bitbake/lib/toaster/toastergui/static/js/mrbsection.js | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index 2669606..88967a2 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -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
 
diff --git a/bitbake/lib/toaster/toastergui/static/js/mrbsection.js b/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
index 09117e1..9a76ee6 100644
--- a/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
+++ b/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
@@ -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
                 */
-- 
1.9.3

---------------------------------------------------------------------
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.



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] toaster: fix progress bar in MySQL environment
  2016-05-13 10:40 [PATCH] toaster: fix progress bar in MySQL environment Elliot Smith
@ 2016-05-13 10:43 ` Smith, Elliot
  2016-05-13 16:14   ` Michael Wood
  0 siblings, 1 reply; 4+ messages in thread
From: Smith, Elliot @ 2016-05-13 10:43 UTC (permalink / raw)
  To: toaster

[-- Attachment #1: Type: text/plain, Size: 3045 bytes --]

On 13 May 2016 at 11:40, Elliot Smith <elliot.smith@intel.com> wrote:

> 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.
>


This patch also applies to krogoth, so it could be back-ported to that if
we wanted to fix krogoth's support for production environments.

Elliot



>
> 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]
>
> Signed-off-by: Elliot Smith <elliot.smith@intel.com>
> ---
>  bitbake/lib/toaster/orm/models.py                      | 1 +
>  bitbake/lib/toaster/toastergui/static/js/mrbsection.js | 4 ++--
>  2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/bitbake/lib/toaster/orm/models.py
> b/bitbake/lib/toaster/orm/models.py
> index 2669606..88967a2 100644
> --- a/bitbake/lib/toaster/orm/models.py
> +++ b/bitbake/lib/toaster/orm/models.py
> @@ -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
>
> diff --git a/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
> b/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
> index 09117e1..9a76ee6 100644
> --- a/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
> +++ b/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
> @@ -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
>                  */
> --
> 1.9.3
>
> ---------------------------------------------------------------------
> 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.
>
>


-- 
Elliot Smith
Software Engineer
Intel Open Source Technology Centre

[-- Attachment #2: Type: text/html, Size: 3998 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] toaster: fix progress bar in MySQL environment
@ 2016-05-13 16:02 Michael Wood
  0 siblings, 0 replies; 4+ messages in thread
From: Michael Wood @ 2016-05-13 16:02 UTC (permalink / raw)
  To: bitbake-devel

From: Elliot Smith <elliot.smith@intel.com>

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]

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
---
 lib/toaster/orm/models.py                      | 1 +
 lib/toaster/toastergui/static/js/mrbsection.js | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py
index 2669606..88967a2 100644
--- a/lib/toaster/orm/models.py
+++ b/lib/toaster/orm/models.py
@@ -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
 
diff --git a/lib/toaster/toastergui/static/js/mrbsection.js b/lib/toaster/toastergui/static/js/mrbsection.js
index 09117e1..9a76ee6 100644
--- a/lib/toaster/toastergui/static/js/mrbsection.js
+++ b/lib/toaster/toastergui/static/js/mrbsection.js
@@ -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
                 */
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] toaster: fix progress bar in MySQL environment
  2016-05-13 10:43 ` Smith, Elliot
@ 2016-05-13 16:14   ` Michael Wood
  0 siblings, 0 replies; 4+ messages in thread
From: Michael Wood @ 2016-05-13 16:14 UTC (permalink / raw)
  To: toaster

On 13/05/16 11:43, Smith, Elliot wrote:
> On 13 May 2016 at 11:40, Elliot Smith <elliot.smith@intel.com 
> <mailto:elliot.smith@intel.com>> wrote:
>
>     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.
>
>
>
> This patch also applies to krogoth, so it could be back-ported to that 
> if we wanted to fix krogoth's support for production environments.
>

Thanks I've pushed it to toaster-next and also sent it upstream to 
bitbake master and 1.30

> Elliot
>
>
>     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]
>
>     Signed-off-by: Elliot Smith <elliot.smith@intel.com
>     <mailto:elliot.smith@intel.com>>
>     ---
>      bitbake/lib/toaster/orm/models.py                      | 1 +
>      bitbake/lib/toaster/toastergui/static/js/mrbsection.js | 4 ++--
>      2 files changed, 3 insertions(+), 2 deletions(-)
>
>     diff --git a/bitbake/lib/toaster/orm/models.py
>     b/bitbake/lib/toaster/orm/models.py
>     index 2669606..88967a2 100644
>     --- a/bitbake/lib/toaster/orm/models.py
>     +++ b/bitbake/lib/toaster/orm/models.py
>     @@ -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
>
>     diff --git
>     a/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
>     b/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
>     index 09117e1..9a76ee6 100644
>     --- a/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
>     +++ b/bitbake/lib/toaster/toastergui/static/js/mrbsection.js
>     @@ -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
>                      */
>     --
>     1.9.3
>
>     ---------------------------------------------------------------------
>     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.
>
>
>
>
> -- 
> Elliot Smith
> Software Engineer
> Intel Open Source Technology Centre
>
>



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-05-13 16:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-13 10:40 [PATCH] toaster: fix progress bar in MySQL environment Elliot Smith
2016-05-13 10:43 ` Smith, Elliot
2016-05-13 16:14   ` Michael Wood
  -- strict thread matches above, loose matches on Subject: below --
2016-05-13 16:02 Michael Wood

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.