Skip to contentSkip to conversation

Toaster UI fixes

PATCH New Ed Bartosh 1 participant 5 messages Aug 6, 2015

lore
Share & tools
lore

Ed Bartosh

author
#0 lore raw

cover Toaster UI fixes

Hi,

Please review 4 more fixes for Toaster UI.

The following changes since commit a8b723498c9a7106210db140452886894494b4d6:

bitbake: cooker: Resolve file monitoring race issues when using memres bitbake (2015-08-03 07:36:25 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib ed/toaster/submit/michaelw/toaster/layerdetails-btns-fix
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/toaster/submit/michaelw/toaster/layerdetails-btns-fix

Michael Wood (4):
bitbake: toastergui: Machine select button url parameters change
bitbake: toastergui: Move click disabled check after table ready event
bitbake: toastergui: Fix typo on layers in project filter condition
bitbake: toastergui: layerBtn Fix build trigger mechanism

 bitbake/lib/toaster/toastergui/static/js/layerBtn.js   | 13 +++++++++++++
 .../lib/toaster/toastergui/static/js/layerdetails.js   | 18 ++++++------------
 bitbake/lib/toaster/toastergui/tables.py               |  8 ++++----
 .../lib/toaster/toastergui/templates/recipe_btn.html   |  4 ++--
 4 files changed, 25 insertions(+), 18 deletions(-)

--
Regards,
Ed

author
#1 lore raw

PATCH 1/4 bitbake: toastergui: Machine select button url parameters change

From: Michael Wood <[email protected]>

Update the url for changing the machine in the project page.

[YOCTO #8113]

---
 bitbake/lib/toaster/toastergui/tables.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
bitbake/lib/toaster/toastergui/tables.py +1 -1
index 8d5166be..1187244 100644
@@ -323,7 +323,7 @@ class LayerMachinesTable(MachinesTable):
         self.add_column(title="Description",
                         field_name="description")
 
-        select_btn_template = '<a href="{% url "project" extra.pid %}#/machineselect={{data.name}}" class="btn btn-block select-machine-btn" {% if extra.in_prj == 0%}disabled="disabled"{%endif%}>Select machine</a>'
+        select_btn_template = '<a href="{% url "project" extra.pid %}?setMachine={{data.name}}" class="btn btn-block select-machine-btn" {% if extra.in_prj == 0%}disabled="disabled"{%endif%}>Select machine</a>'
 
         self.add_column(title="Select machine",
                         static_data_name="add-del-layers",
Signature · 1 line
2.1.4
author
#2 lore raw

PATCH 2/4 bitbake: toastergui: Move click disabled check after table ready event

From: Michael Wood <[email protected]>

We were attaching this handler before the elements were fully ready in the dom. Which allowed these links although disabled to take users to the change machine page.

---
 bitbake/lib/toaster/toastergui/static/js/layerdetails.js | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
bitbake/lib/toaster/toastergui/static/js/layerdetails.js +6 -4
index be6bbcd..d12d3ae 100644
@@ -202,6 +202,12 @@ function layerDetailsPageInit (ctx) {
       /* re run the machinesTabShow to update the text */
       machinesTabShow();
     }
+
+    $(".select-machine-btn").click(function(e){
+      if ($(this).attr("disabled") === "disabled")
+        e.preventDefault();
+    });
+
   });
 
   $("#targets-tab").on('show', targetsTabShow);
@@ -385,10 +391,6 @@ function layerDetailsPageInit (ctx) {
     $(this).parents("form").submit();
   });
 
-  $(".select-machine-btn").click(function(e){
-    if ($(this).attr("disabled") === "disabled")
-      e.preventDefault();
-  });
 
   layerDepsList.find(".icon-trash").click(layerDepRemoveClick);
   layerDepsList.find("a").tooltip();
Signature · 1 line
2.1.4
author
#3 lore raw

PATCH 3/4 bitbake: toastergui: Fix typo on layers in project filter condition

In reply to Ed Bartosh

From: Michael Wood <[email protected]>

Should be & rather than "and" which was returning the truth'd value of the and condition.

[YOCTO #8114]

---
 bitbake/lib/toaster/toastergui/tables.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
bitbake/lib/toaster/toastergui/tables.py +2 -2
index 1187244..51fe4b6 100644
@@ -312,7 +312,7 @@ class LayerMachinesTable(MachinesTable):
         MachinesTable.setup_queryset(self, *args, **kwargs)
 
         self.queryset = self.queryset.filter(layer_version__pk=int(kwargs['layerid']))
-        self.static_context_extra['in_prj'] = ProjectLayer.objects.filter(Q(project=kwargs['pid']) and Q(layercommit=kwargs['layerid'])).count()
+        self.static_context_extra['in_prj'] = ProjectLayer.objects.filter(Q(project=kwargs['pid']) & Q(layercommit=kwargs['layerid'])).count()
 
     def setup_columns(self, *args, **kwargs):
         self.add_column(title="Machine",
@@ -452,7 +452,7 @@ class LayerRecipesTable(RecipesTable):
         RecipesTable.setup_queryset(self, *args, **kwargs)
         self.queryset = self.queryset.filter(layer_version__pk=int(kwargs['layerid']))
 
-        self.static_context_extra['in_prj'] = ProjectLayer.objects.filter(Q(project=kwargs['pid']) and Q(layercommit=kwargs['layerid'])).count()
+        self.static_context_extra['in_prj'] = ProjectLayer.objects.filter(Q(project=kwargs['pid']) & Q(layercommit=kwargs['layerid'])).count()
 
     def setup_columns(self, *args, **kwargs):
         self.add_column(title="Recipe",
Signature · 1 line
2.1.4
author
#4 lore raw

PATCH 4/4 bitbake: toastergui: layerBtn Fix build trigger mechanism

In reply to Ed Bartosh

From: Michael Wood <[email protected]>

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.

---
 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(-)
bitbake/lib/toaster/toastergui/static/js/layerBtn.js +13 -0
index 4243c2b..a0509f9 100644
@@ -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){
bitbake/lib/toaster/toastergui/static/js/layerdetails.js +0 -8
index d12d3ae..3f5d7a9 100644
@@ -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){
bitbake/lib/toaster/toastergui/tables.py +1 -1
index 51fe4b6..810e101 100644
@@ -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",
bitbake/lib/toaster/toastergui/templates/recipe_btn.html +2 -2
index d9ec3fa..77c1b23 100644
@@ -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
Signature · 1 line
2.1.4