Skip to content

Commit eb1423c

Browse files
Fix processing job list (#8323)
* include backend organization name in frontend orga id and improve conditions for job description rendering * remove dev edits * format comment * format comment * address review: improve if condition * remove application.conf edit
1 parent be83f8e commit eb1423c

File tree

2 files changed

+23
-42
lines changed

2 files changed

+23
-42
lines changed

frontend/javascripts/admin/api/jobs.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ function transformBackendJobToAPIJob(job: any): APIJob {
2121
type: job.command,
2222
datasetName: job.commandArgs.dataset_name,
2323
datasetDirectoryName: job.commandArgs.dataset_directory_name,
24-
organizationId: job.commandArgs.organization_id,
24+
organizationId: job.commandArgs.organization_id || job.commandArgs.organization_name,
2525
layerName: job.commandArgs.layer_name || job.commandArgs.volume_layer_name,
2626
annotationLayerName: job.commandArgs.annotation_layer_name,
2727
boundingBox: job.commandArgs.bbox,

frontend/javascripts/admin/job/job_list_view.tsx

Lines changed: 22 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -157,14 +157,20 @@ function JobListView() {
157157
setSearchQuery(event.target.value);
158158
}
159159

160+
function getLinkToDataset(job: APIJob) {
161+
// prefer updated link over legacy link.
162+
if (job.datasetId != null)
163+
return `/datasets/${getReadableURLPart({ name: job.datasetName || "unknown_name", id: job.datasetId })}/view`;
164+
if (job.organizationId != null && (job.datasetName != null || job.datasetDirectoryName != null))
165+
return `/datasets/${job.organizationId}/${job.datasetDirectoryName || job.datasetName}/view`;
166+
return null;
167+
}
168+
160169
function renderDescription(__: any, job: APIJob) {
161-
const linkToDataset =
162-
job.datasetId != null
163-
? `/datasets/${getReadableURLPart({ name: job.datasetName || "unknown_name", id: job.datasetId })}/view` // prefer updated link over legacy link.
164-
: `/datasets/${job.organizationId || ""}/${job.datasetDirectoryName || job.datasetName}/view`;
170+
const linkToDataset = getLinkToDataset(job);
165171
if (job.type === APIJobType.CONVERT_TO_WKW && job.datasetName) {
166172
return <span>{`Conversion to WKW of ${job.datasetName}`}</span>;
167-
} else if (job.type === APIJobType.EXPORT_TIFF && job.organizationId && job.datasetName) {
173+
} else if (job.type === APIJobType.EXPORT_TIFF && linkToDataset != null) {
168174
const labelToAnnotationOrDataset =
169175
job.annotationId != null ? (
170176
<Link to={`/annotations/${job.annotationId}`}>
@@ -180,33 +186,28 @@ function JobListView() {
180186
{job.ndBoundingBox ? formatWkLibsNdBBox(job.ndBoundingBox) : job.boundingBox})
181187
</span>
182188
);
183-
} else if (job.type === APIJobType.RENDER_ANIMATION && job.organizationId && job.datasetName) {
189+
} else if (job.type === APIJobType.RENDER_ANIMATION && linkToDataset != null) {
184190
return (
185191
<span>
186192
Animation rendering for layer {job.layerName} of dataset{" "}
187193
<Link to={linkToDataset}>{job.datasetName}</Link>
188194
</span>
189195
);
190-
} else if (job.type === APIJobType.COMPUTE_MESH_FILE && job.organizationId && job.datasetName) {
196+
} else if (job.type === APIJobType.COMPUTE_MESH_FILE && linkToDataset != null) {
191197
return (
192198
<span>
193199
Mesh file computation for <Link to={linkToDataset}>{job.datasetName}</Link>{" "}
194200
</span>
195201
);
196-
} else if (
197-
job.type === APIJobType.COMPUTE_SEGMENT_INDEX_FILE &&
198-
job.organizationId &&
199-
job.datasetName
200-
) {
202+
} else if (job.type === APIJobType.COMPUTE_SEGMENT_INDEX_FILE && linkToDataset != null) {
201203
return (
202204
<span>
203205
Segment index file computation for <Link to={linkToDataset}>{job.datasetName}</Link>{" "}
204206
</span>
205207
);
206208
} else if (
207209
job.type === APIJobType.FIND_LARGEST_SEGMENT_ID &&
208-
job.organizationId &&
209-
job.datasetName &&
210+
linkToDataset != null &&
210211
job.layerName
211212
) {
212213
return (
@@ -215,24 +216,14 @@ function JobListView() {
215216
<Link to={linkToDataset}>{job.datasetName}</Link>{" "}
216217
</span>
217218
);
218-
} else if (
219-
job.type === APIJobType.INFER_NUCLEI &&
220-
job.organizationId &&
221-
job.datasetName &&
222-
job.layerName
223-
) {
219+
} else if (job.type === APIJobType.INFER_NUCLEI && linkToDataset != null && job.layerName) {
224220
return (
225221
<span>
226222
Nuclei inferral for layer {job.layerName} of{" "}
227223
<Link to={linkToDataset}>{job.datasetName}</Link>{" "}
228224
</span>
229225
);
230-
} else if (
231-
job.type === APIJobType.INFER_NEURONS &&
232-
job.organizationId &&
233-
job.datasetName &&
234-
job.layerName
235-
) {
226+
} else if (job.type === APIJobType.INFER_NEURONS && linkToDataset != null && job.layerName) {
236227
return (
237228
<span>
238229
Neuron inferral for layer {job.layerName} of{" "}
@@ -241,8 +232,7 @@ function JobListView() {
241232
);
242233
} else if (
243234
job.type === APIJobType.INFER_MITOCHONDRIA &&
244-
job.organizationId &&
245-
job.datasetName &&
235+
linkToDataset != null &&
246236
job.layerName
247237
) {
248238
return (
@@ -251,23 +241,14 @@ function JobListView() {
251241
<Link to={linkToDataset}>{job.datasetName}</Link>{" "}
252242
</span>
253243
);
254-
} else if (
255-
job.type === APIJobType.ALIGN_SECTIONS &&
256-
job.organizationId &&
257-
job.datasetName &&
258-
job.layerName
259-
) {
244+
} else if (job.type === APIJobType.ALIGN_SECTIONS && linkToDataset != null && job.layerName) {
260245
return (
261246
<span>
262247
Align sections for layer {job.layerName} of{" "}
263248
<Link to={linkToDataset}>{job.datasetName}</Link>{" "}
264249
</span>
265250
);
266-
} else if (
267-
job.type === APIJobType.MATERIALIZE_VOLUME_ANNOTATION &&
268-
job.organizationId &&
269-
job.datasetName
270-
) {
251+
} else if (job.type === APIJobType.MATERIALIZE_VOLUME_ANNOTATION && linkToDataset != null) {
271252
return (
272253
<span>
273254
Materialize annotation for {job.layerName ? ` layer ${job.layerName} of ` : " "}
@@ -277,15 +258,15 @@ function JobListView() {
277258
: null}
278259
</span>
279260
);
280-
} else if (job.type === APIJobType.TRAIN_MODEL && job.organizationId) {
261+
} else if (job.type === APIJobType.TRAIN_MODEL) {
281262
const numberOfTrainingAnnotations = job.trainingAnnotations.length;
282263
return (
283264
<span>
284265
{`Train model on ${numberOfTrainingAnnotations} ${Utils.pluralize("annotation", numberOfTrainingAnnotations)}. `}
285266
{getShowTrainingDataLink(job.trainingAnnotations)}
286267
</span>
287268
);
288-
} else if (job.type === APIJobType.INFER_WITH_MODEL && job.organizationId) {
269+
} else if (job.type === APIJobType.INFER_WITH_MODEL && linkToDataset != null) {
289270
return (
290271
<span>
291272
Run AI segmentation with custom model on <Link to={linkToDataset}>{job.datasetName}</Link>

0 commit comments

Comments
 (0)