Merge branch 'development' of gitlab.ub.uni-bielefeld.de:sfb1288inf/opaque into development

This commit is contained in:
Stephan Porada 2019-10-23 13:31:01 +02:00
commit f324bc9f3b
2 changed files with 55 additions and 3 deletions

View File

@ -275,7 +275,8 @@ class JobInput(db.Model):
def to_dict(self): def to_dict(self):
return {'id': self.id, return {'id': self.id,
'filename': self.filename, 'filename': self.filename,
'job_id': self.job_id} 'job_id': self.job_id,
'results': [result.to_dict() for result in self.results]}
class JobResult(db.Model): class JobResult(db.Model):

View File

@ -50,14 +50,45 @@
serviceArgsElement.value = this.job.service_args; serviceArgsElement.value = this.job.service_args;
serviceVersionElement = document.getElementById("service-version"); serviceVersionElement = document.getElementById("service-version");
serviceVersionElement.value = this.job.service_version; serviceVersionElement.value = this.job.service_version;
statusColor = JobList.STATUS_COLORS[this.job.status] statusColor = JobList.STATUS_COLORS[this.job.status] || JobList.STATUS_COLORS['default'];
|| JobList.STATUS_COLORS['default'];
statusElement = document.getElementById("status"); statusElement = document.getElementById("status");
statusElement.classList.add(statusColor); statusElement.classList.add(statusColor);
statusElement.innerHTML = this.job.status; statusElement.innerHTML = this.job.status;
titleElement = document.getElementById("title"); titleElement = document.getElementById("title");
titleElement.innerHTML = this.job.title; titleElement.innerHTML = this.job.title;
var downloadIconElement, fileElement, filesElement, input, inputDownloadElement, inputElement, result, resultDownloadElement, resultsElement;
filesElement = document.getElementById("files");
downloadIconElement = document.createElement("i");
downloadIconElement.classList.add("material-icons", "left");
downloadIconElement.innerText = "file_download";
for (input of this.job.inputs) {
fileElement = document.createElement("tr");
inputDownloadElement = document.createElement("a");
inputDownloadElement.classList.add("waves-effect", "waves-light", "btn-small");
inputDownloadElement.href = `/jobs/${this.job.id}/download?file=${input.filename}`;
inputDownloadElement.innerText = input.filename;
inputDownloadElement.appendChild(downloadIconElement.cloneNode(true));
inputElement = document.createElement("td");
inputElement.id = `input-${input.id}`;
inputElement.appendChild(inputDownloadElement);
resultsElement = document.createElement("td");
resultsElement.id = `results-${input.id}`;
// add_results(input);
for (result of input.results) {
resultDownloadElement = document.createElement("a");
resultDownloadElement.classList.add("waves-effect", "waves-light", "btn-small");
resultDownloadElement.href = `/jobs/${this.job.id}/download?file=output/${input.filename}/${result.filename}`;
resultDownloadElement.innerText = result.filename.split(".").slice(-1)[0];
resultDownloadElement.appendChild(downloadIconElement.cloneNode(true));
resultsElement.appendChild(resultDownloadElement);
}
fileElement.appendChild(inputElement);
fileElement.appendChild(resultsElement);
filesElement.appendChild(fileElement);
}
M.updateTextFields(); M.updateTextFields();
} }
@ -68,8 +99,17 @@
for (operation of patch) { for (operation of patch) {
/* "/jobId/valueName" -> ["jobId", "valueName"] */ /* "/jobId/valueName" -> ["jobId", "valueName"] */
pathArray = operation.path.split("/").slice(1); pathArray = operation.path.split("/").slice(1);
console.log(operation);
console.log(pathArray);
if (pathArray[0] != this.jobId) {continue;} if (pathArray[0] != this.jobId) {continue;}
switch(operation.op) { switch(operation.op) {
case "add":
switch(pathArray[1]) {
case "input":
break;
}
break;
case "delete": case "delete":
location.reload(); location.reload();
break; break;
@ -208,6 +248,17 @@
<th style="width: 25%;"></th> <th style="width: 25%;"></th>
</tr> </tr>
</thead> </thead>
<tbody id="files"></tbody>
</table>
<span class="card-title">Files old</span>
<table>
<thead>
<tr>
<th style="width: 50%;">Inputs</th>
<th style="width: 50%;">Results</th>
</tr>
</thead>
<tbody> <tbody>
{% for file in files %} {% for file in files %}
<tr> <tr>