I did test this patch and it passed! Oddly, my emailed version of the patch (below) got mangled, but the version submitted to patchwork was correct.
- David -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Awais Belal Sent: Monday, February 27, 2017 4:03 AM To: [email protected] Subject: [Toaster] [PATCH] toaster: toastergui: implement machine name validation Valid machine names cannot include spaces anywhere in the name and doing so will result in a build failure. This implements a mechanism to alert the user against such a misconfiguration and does not allow input of such machine names. [YOCTO #8721] Signed-off-by: Awais Belal <[email protected]> --- bitbake/lib/toaster/toastergui/static/js/projectpage.js | 17 +++++++++++++++++ bitbake/lib/toaster/toastergui/templates/project.html | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/bitbake/lib/toaster/toastergui/static/js/projectpage.js b/bitbake/lib/toaster/toastergui/static/js/projectpage.js index 4536703..21adf81 100644 --- a/bitbake/lib/toaster/toastergui/static/js/projectpage.js +++ b/bitbake/lib/toaster/toastergui/static/js/projectpage.js @@ -12,6 +12,8 @@ function projectPageInit(ctx) { var machineChangeFormToggle = $("#change-machine-toggle"); var machineNameTitle = $("#project-machine-name"); var machineChangeCancel = $("#cancel-machine-change"); + var machineInputForm = $("#machine-input-form"); var + invalidMachineNameHelp = $("#invalid-machine-name-help"); var freqBuildBtn = $("#freq-build-btn"); var freqBuildList = $("#freq-build-list"); @@ -208,8 +210,23 @@ function projectPageInit(ctx) { /* Change machine functionality */ + machineChangeInput.keyup(function(){ + if ($(this).val().indexOf(' ') >= 0) { + machineChangeBtn.attr("disabled", "disabled"); + invalidMachineNameHelp.show(); + machineInputForm.addClass('has-error'); + } else { + machineChangeBtn.removeAttr("disabled"); + invalidMachineNameHelp.hide(); + machineInputForm.removeClass('has-error'); + } + }); machineChangeFormToggle.click(function(){ + machineChangeInput.val(machineNameTitle.text()); + machineChangeBtn.removeAttr("disabled"); + invalidMachineNameHelp.hide(); + machineInputForm.removeClass('has-error'); machineForm.slideDown(); machineNameTitle.hide(); $(this).hide(); diff --git a/bitbake/lib/toaster/toastergui/templates/project.html b/bitbake/lib/toaster/toastergui/templates/project.html index 5abe241..ab7e665 100644 --- a/bitbake/lib/toaster/toastergui/templates/project.html +++ b/bitbake/lib/toaster/toastergui/templates/project.html @@ -67,11 +67,12 @@ <form id="select-machine-form" style="display:none;" class="form-inline"> <span class="help-block">Machine suggestions come from the list of layers added to your project. If you don't see the machine you are looking for, <a href="{% url 'projectmachines' project.id %}">check the full list of machines</a></span> - <div class="form-group"> + <div class="form-group" id="machine-input-form"> <input class="form-control" id="machine-change-input" autocomplete="off" value="" data-provide="typeahead" data-minlength="1" data-autocomplete="off" type="text"> </div> <button id="machine-change-btn" class="btn btn-default" type="button">Save</button> <a href="#" id="cancel-machine-change" class="btn btn-link">Cancel</a> + <span class="help-block text-danger" + id="invalid-machine-name-help" style="display:none">A valid machine + name cannot include spaces.</span> <p class="form-link"><a href="{% url 'projectmachines' project.id %}">View compatible machines</a></p> </form> </div> -- 2.7.4 -- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster -- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
