Project: add declfile, decltype, declvalue to API

This makes it possible to create declarative projects via a PUT request, and
also exposes the currently-configured values to GET requests.
This commit is contained in:
Cole Helbling
2021-05-01 23:27:47 -07:00
parent e9a06113c9
commit ad13d13436
5 changed files with 70 additions and 23 deletions

View File

@ -79,13 +79,28 @@
<script type="text/javascript">
$("#submit-project").click(function() {
var formElements = $(this).parents("form").serializeArray();
var data = { 'declarative': {} };
var decl = {};
for (var i = 0; formElements.length > i; i++) {
var elem = formElements[i];
var match = elem.name.match(/^decl(file|type|value)$/);
if (match === null) {
data[elem.name] = elem.value;
} else {
var param = match[1];
decl[param] = elem.value;
}
}
data.declarative = decl;
redirectJSON({
[% IF create %]
url: "[% c.uri_for('/project' '.new') %]",
[% ELSE %]
url: "[% c.uri_for('/project' project.name) %]",
[% END %]
data: $(this).parents("form").serialize(),
data: JSON.stringify(data),
contentType: 'application/json',
type: 'PUT'
});
return false;