Toaster UI fixes
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
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
@@ -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
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
@@ -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
PATCH 4/4 bitbake: toastergui: layerBtn Fix build trigger mechanism
In reply to Ed BartoshFrom: 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
@@ -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
@@ -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
@@ -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
@@ -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
PATCH 3/4 bitbake: toastergui: Fix typo on layers in project filter condition
In reply to Ed BartoshFrom: 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
@@ -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