[bitbake-devel] [PATCH 4/4] bitbake: toastergui: layerBtn Fix build trigger mechanism

Ed Bartosh ed.bartosh at linux.intel.com
Thu Aug 6 16:23:49 UTC 2015


From: Michael Wood <michael.g.wood at intel.com>

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.

Signed-off-by: Michael Wood <michael.g.wood at intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
---
 bitbake/lib/toaster/toastergui/static/js/layerBtn.js     | 13 +++++++++++++
 bitbake/lib/toaster/toastergui/static/js/layerdetails.js |  8 --------
 bitbake/lib/toaster/toastergui/tables.py                 |  2 +-
 bitbake/lib/toaster/toastergui/templates/recipe_btn.html |  4 ++--
 4 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/bitbake/lib/toaster/toastergui/static/js/layerBtn.js b/bitbake/lib/toaster/toastergui/static/js/layerBtn.js
index 4243c2b..a0509f9 100644
--- a/bitbake/lib/toaster/toastergui/static/js/layerBtn.js
+++ b/bitbake/lib/toaster/toastergui/static/js/layerBtn.js
@@ -55,6 +55,19 @@ function layerBtnsInit(ctx) {
     });
   });
 
+  $(".build-recipe-btn").unbind('click');
+  $(".build-recipe-btn").click(function(e){
+    e.preventDefault();
+    var recipe = $(this).data('recipe-name');
+
+    libtoaster.startABuild(libtoaster.ctx.projectBuildsUrl,
+      libtoaster.ctx.projectId, recipe,
+      function(){
+        /* Success */
+        window.location.replace(libtoaster.ctx.projectBuildsUrl);
+      });
+  });
+
   /* Setup the initial state of the buttons */
 
   for (var i in ctx.projectLayers){
diff --git a/bitbake/lib/toaster/toastergui/static/js/layerdetails.js b/bitbake/lib/toaster/toastergui/static/js/layerdetails.js
index d12d3ae..3f5d7a9 100644
--- a/bitbake/lib/toaster/toastergui/static/js/layerdetails.js
+++ b/bitbake/lib/toaster/toastergui/static/js/layerdetails.js
@@ -179,14 +179,6 @@ function layerDetailsPageInit (ctx) {
       /* re run the machinesTabShow to update the text */
       targetsTabShow();
     }
-
-    $(".build-target-btn").unbind('click');
-    $(".build-target-btn").click(function(){
-      /* fire a build */
-      var target = $(this).data('target-name');
-      libtoaster.startABuild(ctx.projectBuildsUrl, libtoaster.ctx.projectId, target, null, null);
-      window.location.replace(libtoaster.ctx.projectPageUrl);
-    });
   });
 
   $("#machinestable").on('table-done', function(e, total, tableParams){
diff --git a/bitbake/lib/toaster/toastergui/tables.py b/bitbake/lib/toaster/toastergui/tables.py
index 51fe4b6..810e101 100644
--- a/bitbake/lib/toaster/toastergui/tables.py
+++ b/bitbake/lib/toaster/toastergui/tables.py
@@ -465,7 +465,7 @@ class LayerRecipesTable(RecipesTable):
                         field_name="get_description_or_summary")
 
 
-        build_recipe_template ='<button class="btn btn-block build-target-btn" data-target-name="{{data.name}}" {%if extra.in_prj == 0 %}disabled="disabled"{%endif%}>Build recipe</button>'
+        build_recipe_template ='<button class="btn btn-block build-recipe-btn" data-recipe-name="{{data.name}}" {%if extra.in_prj == 0 %}disabled="disabled"{%endif%}>Build recipe</button>'
 
         self.add_column(title="Build recipe",
                         static_data_name="add-del-layers",
diff --git a/bitbake/lib/toaster/toastergui/templates/recipe_btn.html b/bitbake/lib/toaster/toastergui/templates/recipe_btn.html
index d9ec3fa..77c1b23 100644
--- a/bitbake/lib/toaster/toastergui/templates/recipe_btn.html
+++ b/bitbake/lib/toaster/toastergui/templates/recipe_btn.html
@@ -1,6 +1,6 @@
-<a href="{% url 'project' extra.pid %}#/targetbuild={{data.name}}" class="btn btn-block layer-exists-{{data.layer_version.pk}}" style="display:none; margin-top: 5px;" >
+<button data-recipe-name="{{data.name}}" class="btn btn-block layer-exists-{{data.layer_version.pk}} build-recipe-btn" style="display:none; margin-top: 5px;" >
   Build recipe
-</a>
+</button>
 <button class="btn btn-block layerbtn layer-add-{{data.layer_version.pk}}" data-layer='{ "id": {{data.layer_version.pk}}, "name":  "{{data.layer_version.layer.name}}", "layerdetailurl": "{%url 'layerdetails' extra.pid data.layer_version.pk%}"}' data-directive="add">
   <i class="icon-plus"></i>
   Add layer
-- 
2.1.4




More information about the bitbake-devel mailing list