diff --git a/bitbake/lib/toaster/toastergui/static/js/base.js b/bitbake/lib/toaster/toastergui/static/js/base.js index 864130def9..fac59e6458 100644 --- a/bitbake/lib/toaster/toastergui/static/js/base.js +++ b/bitbake/lib/toaster/toastergui/static/js/base.js @@ -3,10 +3,12 @@ function basePageInit (ctx) { var newBuildButton = $("#new-build-button"); - /* Hide the button if we're on the project,newproject or importlyaer page */ - if (ctx.currentUrl.search('newproject|project/\\d/$|importlayer/$') > 0){ - newBuildButton.hide(); - return; + /* Hide the button if we're on the project,newproject or importlyaer page + * or if there are no projects yet defined + */ + if (ctx.numProjects == 0 || ctx.currentUrl.search('newproject|project/\\d/$|importlayer/$') > 0){ + newBuildButton.hide(); + return; } @@ -17,6 +19,9 @@ function basePageInit (ctx) { function _checkProjectBuildable(){ + if (ctx.projectId == undefined) + return; + libtoaster.getProjectInfo(ctx.projectInfoUrl, ctx.projectId, function(data){ if (data.machine.name == undefined || data.layers.length == 0) { diff --git a/bitbake/lib/toaster/toastergui/templates/base.html b/bitbake/lib/toaster/toastergui/templates/base.html index 734d2ad8a2..f457b91dce 100644 --- a/bitbake/lib/toaster/toastergui/templates/base.html +++ b/bitbake/lib/toaster/toastergui/templates/base.html @@ -31,6 +31,7 @@ ctx.projectBuildUrl = "{% url 'xhr_build' %}"; ctx.projectPageUrl = "{% url 'project' %}"; ctx.projectInfoUrl = "{% url 'xhr_projectinfo' %}"; + ctx.numProjects = {{projects|length}}; {% if project %} ctx.projectId = {{project.id}}; {% endif %}