Fix jobset input handling in the API
Signed-off-by: Shea Levy <shea@shealevy.com>
This commit is contained in:
@ -178,13 +178,41 @@
|
||||
});
|
||||
|
||||
$("#submit-jobset").click(function() {
|
||||
var formElements = $(this).parents("form").serializeArray();
|
||||
var data = { 'inputs': {} };
|
||||
var inputs = {};
|
||||
for (var i = 0; i < formElements.length; i++) {
|
||||
var elem = formElements[i];
|
||||
var match = elem.name.match(/^input-(\w+)-(\w+)$/);
|
||||
if (match === null) {
|
||||
data[elem.name] = elem.value;
|
||||
} else {
|
||||
var baseName = match[1];
|
||||
var param = match[2];
|
||||
|
||||
if (baseName === "template") {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!(baseName in inputs)) {
|
||||
inputs[baseName] = {};
|
||||
}
|
||||
|
||||
if (param === "name") {
|
||||
data.inputs[elem.value] = inputs[baseName];
|
||||
} else {
|
||||
inputs[baseName][param] = elem.value;
|
||||
}
|
||||
}
|
||||
}
|
||||
redirectJSON({
|
||||
[% IF create || clone %]
|
||||
url: "[% c.uri_for('/jobset' project.name '.new') %]",
|
||||
[% ELSE %]
|
||||
url: "[% c.uri_for('/jobset' project.name jobset.name) %]",
|
||||
[% END %]
|
||||
data: $(this).parents("form").serialize(),
|
||||
data: JSON.stringify(data),
|
||||
contentType: 'application/json',
|
||||
type: 'PUT'
|
||||
});
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user