diff options
author | Michael Wood <michael.g.wood@intel.com> | 2016-04-06 17:46:32 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-04-06 23:10:29 +0100 |
commit | 0db62c54a4b2d89a42028d9263cb3f8a9fe93be0 (patch) | |
tree | c8c8789074d1bd2a483bfe4457783a9a38089cf0 /bitbake/lib/toaster/toastergui/static/js | |
parent | afab95c649c6e478f462a32e3d9831cb9007b0e4 (diff) | |
download | openembedded-core-contrib-0db62c54a4b2d89a42028d9263cb3f8a9fe93be0.tar.gz |
bitbake: toaster: libtoaster Update implementation of startABuild and cancelABuild
Update the implementation of startABuild and cancelAbuild to reflect
changes to the backend api. We now have a dedicated endpoint to make
calls into so add this url to libtoaster.ctx and allow passing null in
as a url value to indicate that we want to use the current project
Also:
- Fix some documentation comments
- Add the convenience of passing in an array of targets to startABuild
(Bitbake rev: 61a21d96abab113cbd13376cdb8b08a426b50538)
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/toastergui/static/js')
6 files changed, 33 insertions, 29 deletions
diff --git a/bitbake/lib/toaster/toastergui/static/js/customrecipe.js b/bitbake/lib/toaster/toastergui/static/js/customrecipe.js index f1b8afbf2f..a31c26834e 100644 --- a/bitbake/lib/toaster/toastergui/static/js/customrecipe.js +++ b/bitbake/lib/toaster/toastergui/static/js/customrecipe.js @@ -267,9 +267,7 @@ function customRecipePageInit(ctx) { /* Trigger a build of your custom image */ $(".build-custom-image").click(function(){ - libtoaster.startABuild(libtoaster.ctx.projectBuildsUrl, - libtoaster.ctx.projectId, - ctx.recipe.name, + libtoaster.startABuild(null, ctx.recipe.name, function(){ window.location.replace(libtoaster.ctx.projectBuildsUrl); }); diff --git a/bitbake/lib/toaster/toastergui/static/js/layerBtn.js b/bitbake/lib/toaster/toastergui/static/js/layerBtn.js index b2666ab92c..aa43284396 100644 --- a/bitbake/lib/toaster/toastergui/static/js/layerBtn.js +++ b/bitbake/lib/toaster/toastergui/static/js/layerBtn.js @@ -60,8 +60,7 @@ function layerBtnsInit() { e.preventDefault(); var recipe = $(this).data('recipe-name'); - libtoaster.startABuild(libtoaster.ctx.projectBuildsUrl, - libtoaster.ctx.projectId, recipe, + libtoaster.startABuild(null, recipe, function(){ /* Success */ window.location.replace(libtoaster.ctx.projectBuildsUrl); diff --git a/bitbake/lib/toaster/toastergui/static/js/libtoaster.js b/bitbake/lib/toaster/toastergui/static/js/libtoaster.js index b6b49b6b4d..8d1d20f133 100644 --- a/bitbake/lib/toaster/toastergui/static/js/libtoaster.js +++ b/bitbake/lib/toaster/toastergui/static/js/libtoaster.js @@ -90,27 +90,35 @@ var libtoaster = (function (){ jQElement.data('typeahead').render = customRenderFunc; } - /* - * url - the url of the xhr build */ - function _startABuild (url, project_id, targets, onsuccess, onfail) { + /* startABuild: + * url: xhr_buildrequest or null for current project + * targets: an array or space separated list of targets to build + * onsuccess: callback for successful execution + * onfail: callback for failed execution + */ + function _startABuild (url, targets, onsuccess, onfail) { - var data = { - project_id : project_id, - targets : targets, + if (!url) + url = libtoaster.ctx.xhrBuildRequestUrl; + + /* Flatten the array of targets into a space spearated list */ + if (targets instanceof Array){ + targets = targets.reduce(function(prevV, nextV){ + return prev + ' ' + next; + }); } $.ajax( { type: "POST", url: url, - data: data, + data: { 'targets' : targets }, headers: { 'X-CSRFToken' : $.cookie('csrftoken')}, success: function (_data) { - /* No proper reponse YOCTO #7995 if (_data.error !== "ok") { console.warn(_data.error); - } else { */ + } else { if (onsuccess !== undefined) onsuccess(_data); - // } + } }, error: function (_data) { console.warn("Call failed"); @@ -120,22 +128,25 @@ var libtoaster = (function (){ } /* cancelABuild: - * url: projectbuilds - * builds_ids: space separated list of build request ids + * url: xhr_buildrequest url or null for current project + * buildRequestIds: space separated list of build request ids * onsuccess: callback for successful execution * onfail: callback for failed execution */ - function _cancelABuild(url, build_ids, onsuccess, onfail){ + function _cancelABuild(url, buildRequestIds, onsuccess, onfail){ + if (!url) + url = libtoaster.ctx.xhrBuildRequestUrl; + $.ajax( { type: "POST", url: url, - data: { 'buildCancel': build_ids }, + data: { 'buildCancel': buildRequestIds }, headers: { 'X-CSRFToken' : $.cookie('csrftoken')}, success: function (_data) { if (_data.error !== "ok") { console.warn(_data.error); } else { - if (onsuccess !== undefined) onsuccess(_data); + if (onsuccess) onsuccess(_data); } }, error: function (_data) { diff --git a/bitbake/lib/toaster/toastergui/static/js/projectpage.js b/bitbake/lib/toaster/toastergui/static/js/projectpage.js index 6655a189a1..3013416dd1 100644 --- a/bitbake/lib/toaster/toastergui/static/js/projectpage.js +++ b/bitbake/lib/toaster/toastergui/static/js/projectpage.js @@ -232,9 +232,7 @@ function projectPageInit(ctx) { toBuild = toBuild.trim(); - libtoaster.startABuild(libtoaster.ctx.projectBuildsUrl, - libtoaster.ctx.projectId, - toBuild, + libtoaster.startABuild(null, toBuild, function(){ /* Build request started */ window.location.replace(libtoaster.ctx.projectBuildsUrl); diff --git a/bitbake/lib/toaster/toastergui/static/js/projecttopbar.js b/bitbake/lib/toaster/toastergui/static/js/projecttopbar.js index 58a32a056e..b09f974e47 100644 --- a/bitbake/lib/toaster/toastergui/static/js/projecttopbar.js +++ b/bitbake/lib/toaster/toastergui/static/js/projecttopbar.js @@ -82,9 +82,9 @@ function projectTopBarInit(ctx) { selectedTarget = { name: newBuildTargetInput.val() }; /* Fire off the build */ - libtoaster.startABuild(libtoaster.ctx.projectBuildsUrl, - null, selectedTarget.name, function(){ - window.location.replace(libtoaster.ctx.projectBuildsUrl); + libtoaster.startABuild(null, selectedTarget.name, + function(){ + window.location.replace(libtoaster.ctx.projectBuildsUrl); }, null); }); } diff --git a/bitbake/lib/toaster/toastergui/static/js/recipedetails.js b/bitbake/lib/toaster/toastergui/static/js/recipedetails.js index 2bfd0a4b2c..d5f9eacdce 100644 --- a/bitbake/lib/toaster/toastergui/static/js/recipedetails.js +++ b/bitbake/lib/toaster/toastergui/static/js/recipedetails.js @@ -42,9 +42,7 @@ function recipeDetailsPageInit(ctx){ /* Trigger a build of your custom image */ $(".build-recipe-btn").click(function(){ - libtoaster.startABuild(libtoaster.ctx.projectBuildsUrl, - libtoaster.ctx.projectId, - ctx.recipe.name, + libtoaster.startABuild(null, ctx.recipe.name, function(){ window.location.replace(libtoaster.ctx.projectBuildsUrl); }); |