[Toaster] [PATCH] toaster: importlayer Update property names for importlayer api calls

Barros Pena, Belen belen.barros.pena at intel.com
Tue Sep 29 02:56:46 PDT 2015



On 28/09/2015 19:13, "toaster-bounces at yoctoproject.org on behalf of
Michael Wood" <toaster-bounces at yoctoproject.org on behalf of
michael.g.wood at intel.com> wrote:

>Update the property names used in checking for existing layers. The
>server side API changed but not all references were updated.
>
>[YOCTO #8300]

If I try to import a layer with the same name as a layer listed in the all
layers table for the project, I get the correct behaviour: the import
layer form disappears and I get the notification telling me that a layer
with that name already exists.

However, if I try to import a layer with a name I know exists in the
database, but the layer is not listed in the all layers table for the
project, and I provide a different Git URL to the one in the database for
the layer with that name, I am allowed to continue filling the form, but
when I click the import layer button nothing happens. The browser console
shows: 

importlayer.js:151 hint-layer-exists-with-different-url

To reproduce, create a project with the local release, go to the import
layer page, type meta-oe as the layer name, then some gibberish as the git
url. 

Ideally, if no layer with the name I've typed exists in the project, I
should be allowed to import it. If the name and the git url match the
entry in the database, maybe we create a new layer version. If the git url
is different, we create a different layer entry. If this is too
complicated, we can come up with a message explaining the issue and handle
the problem in the same way we handle the layer name.

Cheers

Belén

>
>Signed-off-by: Michael Wood <michael.g.wood at intel.com>
>---
> bitbake/lib/toaster/toastergui/static/js/importlayer.js | 13
>++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
>diff --git a/bitbake/lib/toaster/toastergui/static/js/importlayer.js
>b/bitbake/lib/toaster/toastergui/static/js/importlayer.js
>index 2fadbc0..c68f366 100644
>--- a/bitbake/lib/toaster/toastergui/static/js/importlayer.js
>+++ b/bitbake/lib/toaster/toastergui/static/js/importlayer.js
>@@ -195,8 +195,8 @@ function importLayerPageInit (ctx) {
>     var dupLayerInfo = $("#duplicate-layer-info");
>     dupLayerInfo.find(".dup-layer-name").text(layer.name);
>     dupLayerInfo.find(".dup-layer-link").attr("href",
>layer.layerdetailurl);
>-    dupLayerInfo.find("#dup-layer-vcs-url").text(layer.layer__vcs_url);
>-    dupLayerInfo.find("#dup-layer-revision").text(layer.revision.commit);
>+    dupLayerInfo.find("#dup-layer-vcs-url").text(layer.vcs_url);
>+    dupLayerInfo.find("#dup-layer-revision").text(layer.vcs_reference);
> 
>     $(".fields-apart-from-layer-name").fadeOut(function(){
> 
>@@ -214,11 +214,10 @@ function importLayerPageInit (ctx) {
>       $.getJSON(libtoaster.ctx.layersTypeAheadUrl,
>         { include_added: "true" , search: name, format: "json" },
>         function(layer) {
>-          if (layer.rows.length > 0) {
>-            for (var i in layer.rows){
>-              if (layer.rows[i].name == name) {
>-                console.log(layer.rows[i])
>-                layerExistsError(layer.rows[i]);
>+          if (layer.results.length > 0) {
>+            for (var i in layer.results){
>+              if (layer.results[i].name == name) {
>+                layerExistsError(layer.results[i]);
>               }
>             }
>           }
>-- 
>2.1.4
>
>-- 
>_______________________________________________
>toaster mailing list
>toaster at yoctoproject.org
>https://lists.yoctoproject.org/listinfo/toaster



More information about the toaster mailing list