Update for compatibility with 58789e5061

This commit is contained in:
shamoon
2026-04-20 13:32:55 -07:00
parent b2bc5a18ca
commit b46ccbe3d9
4 changed files with 71 additions and 19 deletions

View File

@@ -135,20 +135,20 @@
<td class="d-none d-lg-table-cell">{{ task.date_created | customDate:'short' }}</td>
@if (sectionShowsResults(section)) {
<td class="d-none d-lg-table-cell">
@if (task.result_message?.length > 50) {
@if (taskHasLongResultMessage(task)) {
<div class="result" (click)="expandTask(task); $event.stopPropagation();"
[ngbPopover]="resultPopover" popoverClass="shadow small mobile" triggers="mouseenter:mouseleave" container="body">
<span class="small d-none d-md-inline-block font-monospace text-muted">{{ task.result_message | slice:0:50 }}&hellip;</span>
<span class="small d-none d-md-inline-block font-monospace text-muted">{{ taskResultPreview(task) }}</span>
</div>
}
@if (task.result_message?.length <= 50) {
<span class="small d-none d-md-inline-block font-monospace text-muted">{{ task.result_message }}</span>
@if (taskHasResultMessage(task) && !taskHasLongResultMessage(task)) {
<span class="small d-none d-md-inline-block font-monospace text-muted">{{ taskResultMessage(task) }}</span>
}
<ng-template #resultPopover>
<pre class="small mb-0">{{ task.result_message | slice:0:300 }}@if (task.result_message.length > 300) {
<pre class="small mb-0">{{ taskResultPopoverMessage(task) }}@if (taskResultMessageOverflowsPopover(task)) {
&hellip;
}</pre>
@if (task.result_message?.length > 300) {
@if (taskResultMessageOverflowsPopover(task)) {
<br/><em>(<ng-container i18n>click for full output</ng-container>)</em>
}
</ng-template>
@@ -178,10 +178,10 @@
<td class="p-0" [class.border-0]="expandedTask !== task.id" [attr.colspan]="sectionShowsResults(section) ? 5 : 4">
<div #collapse="ngbCollapse" [ngbCollapse]="expandedTask !== task.id" class="task-detail-panel bg-darker small mb-0">
<div class="p-2 p-lg-3 ms-lg-3">
@if (task.result_message) {
@if (taskHasResultMessage(task)) {
<div class="detail-section mb-3">
<div class="detail-label fs-7 fw-bold text-uppercase text-muted mb-1" i18n>Result message</div>
<pre class="detail-block border border-dark bg-body p-3 rounded-2 mb-0">{{ task.result_message }}</pre>
<pre class="detail-block border border-dark bg-body p-3 rounded-2 mb-0">{{ taskResultMessage(task) }}</pre>
</div>
}

View File

@@ -48,8 +48,10 @@ const tasks: PaperlessTask[] = [
trigger_source_display: 'Folder Consume',
status: PaperlessTaskStatus.Failure,
status_display: 'Failure',
result_message:
'test.pd: Not consuming test.pdf: It is a duplicate of test (#100)',
result_data: {
error_message:
'test.pd: Not consuming test.pdf: It is a duplicate of test (#100)',
},
acknowledged: false,
related_document_ids: [],
},
@@ -65,8 +67,7 @@ const tasks: PaperlessTask[] = [
trigger_source_display: 'Folder Consume',
status: PaperlessTaskStatus.Failure,
status_display: 'Failure',
result_message:
'191092.pd: Not consuming 191092.pdf: It is a duplicate of 191092 (#311)',
result_data: { duplicate_of: 311 },
acknowledged: false,
related_document_ids: [],
},
@@ -82,7 +83,7 @@ const tasks: PaperlessTask[] = [
trigger_source_display: 'Folder Consume',
status: PaperlessTaskStatus.Pending,
status_display: 'Pending',
result_message: null,
result_data: null,
acknowledged: false,
related_document_ids: [],
},
@@ -98,7 +99,7 @@ const tasks: PaperlessTask[] = [
trigger_source_display: 'Email Consume',
status: PaperlessTaskStatus.Success,
status_display: 'Success',
result_message: 'Success. New document id 422 created',
result_data: { document_id: 422 },
acknowledged: false,
related_document_ids: [422],
},
@@ -114,7 +115,7 @@ const tasks: PaperlessTask[] = [
trigger_source_display: 'Folder Consume',
status: PaperlessTaskStatus.Success,
status_display: 'Success',
result_message: 'Success. New document id 421 created',
result_data: { document_id: 421 },
acknowledged: false,
related_document_ids: [421],
},
@@ -130,7 +131,7 @@ const tasks: PaperlessTask[] = [
trigger_source_display: 'Email Consume',
status: PaperlessTaskStatus.Started,
status_display: 'Started',
result_message: null,
result_data: null,
acknowledged: false,
related_document_ids: [],
},
@@ -146,7 +147,6 @@ const tasks: PaperlessTask[] = [
trigger_source_display: 'System',
status: PaperlessTaskStatus.Started,
status_display: 'Started',
result_message: null,
result_data: { issues_found: 0 },
acknowledged: false,
related_document_ids: [],

View File

@@ -318,6 +318,59 @@ export class TasksComponent
return this.taskDisplayName(task) !== task.task_type_display
}
taskResultMessage(task: PaperlessTask): string | null {
if (!task.result_data) {
return null
}
const documentId = task.result_data?.['document_id']
if (typeof documentId === 'number') {
return `Success. New document id ${documentId} created`
}
const reason = task.result_data?.['reason']
if (typeof reason === 'string') {
return reason
}
const duplicateOf = task.result_data?.['duplicate_of']
if (typeof duplicateOf === 'number') {
return `Not consuming: It is a duplicate of document #${duplicateOf}`
}
const errorMessage = task.result_data?.['error_message']
if (typeof errorMessage === 'string') {
return errorMessage
}
return null
}
taskResultPreview(task: PaperlessTask): string | null {
const message = this.taskResultMessage(task)
if (!message) {
return null
}
return message.length > 50 ? `${message.slice(0, 50)}...` : message
}
taskHasLongResultMessage(task: PaperlessTask): boolean {
return (this.taskResultMessage(task)?.length ?? 0) > 50
}
taskHasResultMessage(task: PaperlessTask): boolean {
return !!this.taskResultMessage(task)
}
taskResultPopoverMessage(task: PaperlessTask): string {
return this.taskResultMessage(task)?.slice(0, 300) ?? ''
}
taskResultMessageOverflowsPopover(task: PaperlessTask): boolean {
return (this.taskResultMessage(task)?.length ?? 0) > 300
}
tasksForSection(section: TaskSection): PaperlessTask[] {
let tasks = this.tasksService.allFileTasks.filter((task) =>
this.taskBelongsToSection(task, section)
@@ -451,7 +504,7 @@ export class TasksComponent
.some((value) => value.toLowerCase().includes(query))
}
return task.result_message?.toLowerCase().includes(query)
return this.taskResultMessage(task)?.toLowerCase().includes(query) ?? false
}
private tasksForOptionCounts({

View File

@@ -47,7 +47,6 @@ export interface PaperlessTask extends ObjectWithId {
wait_time_seconds?: number
input_data: Record<string, any>
result_data?: Record<string, any>
result_message?: string
related_document_ids: number[]
acknowledged: boolean
owner?: number