mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Fix update vs create
This commit is contained in:
		| @@ -76,18 +76,18 @@ | ||||
| <div class="modal-footer flex-column"> | ||||
|   <div class="d-flex w-100 justify-content-between align-items-center"> | ||||
|     <div class="btn-group" role="group"> | ||||
|       <input type="radio" class="btn-check" [(ngModel)]="editMode" [value]="EditMode.Create" id="editModeCreate" name="editmode"> | ||||
|       <input type="radio" class="btn-check" [(ngModel)]="editMode" [value]="PdfEditorEditMode.Create" id="editModeCreate" name="editmode"> | ||||
|       <label for="editModeCreate" class="btn btn-outline-primary btn-sm"> | ||||
|         <i-bs name="plus"></i-bs> | ||||
|         <span class="form-check-label ms-1" i18n>Create new document(s)</span> | ||||
|       </label> | ||||
|       <input type="radio" class="btn-check" [(ngModel)]="editMode" [value]="EditMode.Update" id="editModeUpdate" name="editmode" [disabled]="hasSplit()"> | ||||
|       <input type="radio" class="btn-check" [(ngModel)]="editMode" [value]="PdfEditorEditMode.Update" id="editModeUpdate" name="editmode" [disabled]="hasSplit()"> | ||||
|       <label for="editModeUpdate" class="btn btn-outline-primary btn-sm"> | ||||
|         <i-bs name="pencil"></i-bs> | ||||
|         <span class="form-check-label ms-2" i18n>Update existing document</span> | ||||
|       </label> | ||||
|     </div> | ||||
|     @if (editMode === EditMode.Create) { | ||||
|     @if (editMode === PdfEditorEditMode.Create) { | ||||
|       <div class="form-check ms-3"> | ||||
|         <input class="form-check-input" type="checkbox" id="copyMeta" [(ngModel)]="includeMetadata"> | ||||
|         <label class="form-check-label" for="copyMeta" i18n>Copy metadata</label> | ||||
|   | ||||
| @@ -19,7 +19,7 @@ interface PageOperation { | ||||
|   loaded?: boolean | ||||
| } | ||||
|  | ||||
| enum EditMode { | ||||
| export enum PdfEditorEditMode { | ||||
|   Update = 'update', | ||||
|   Create = 'create', | ||||
| } | ||||
| @@ -36,7 +36,7 @@ enum EditMode { | ||||
|   ], | ||||
| }) | ||||
| export class PDFEditorComponent extends ConfirmDialogComponent { | ||||
|   public EditMode = EditMode | ||||
|   public PdfEditorEditMode = PdfEditorEditMode | ||||
|  | ||||
|   private documentService = inject(DocumentService) | ||||
|   activeModal: NgbActiveModal = inject(NgbActiveModal) | ||||
| @@ -44,9 +44,8 @@ export class PDFEditorComponent extends ConfirmDialogComponent { | ||||
|   documentID: number | ||||
|   pages: PageOperation[] = [] | ||||
|   totalPages = 0 | ||||
|   editMode: EditMode = EditMode.Create | ||||
|   editMode: PdfEditorEditMode = PdfEditorEditMode.Create | ||||
|   deleteOriginal: boolean = false | ||||
|   updateDocument: boolean = false | ||||
|   includeMetadata: boolean = true | ||||
|  | ||||
|   get pdfSrc(): string { | ||||
| @@ -88,7 +87,7 @@ export class PDFEditorComponent extends ConfirmDialogComponent { | ||||
|     this.pages[i].splitAfter = !this.pages[i].splitAfter | ||||
|     if (this.pages[i].splitAfter) { | ||||
|       // force create mode | ||||
|       this.editMode = EditMode.Create | ||||
|       this.editMode = PdfEditorEditMode.Create | ||||
|     } | ||||
|   } | ||||
|  | ||||
| @@ -117,12 +116,11 @@ export class PDFEditorComponent extends ConfirmDialogComponent { | ||||
|   } | ||||
|  | ||||
|   getOperations() { | ||||
|     const operations = this.pages.map((p, idx) => ({ | ||||
|     return this.pages.map((p, idx) => ({ | ||||
|       page: p.page, | ||||
|       rotate: p.rotate, | ||||
|       doc: this.computeDocIndex(idx), | ||||
|     })) | ||||
|     return operations | ||||
|   } | ||||
|  | ||||
|   private computeDocIndex(index: number): number { | ||||
|   | ||||
| @@ -1175,6 +1175,7 @@ describe('DocumentDetailComponent', () => { | ||||
|       method: 'edit_pdf', | ||||
|       parameters: { | ||||
|         operations: [{ page: 1, rotate: 0, doc: 0 }], | ||||
|         delete_original: false, | ||||
|         update_document: false, | ||||
|         include_metadata: true, | ||||
|       }, | ||||
|   | ||||
| @@ -99,7 +99,10 @@ import { TagsComponent } from '../common/input/tags/tags.component' | ||||
| import { TextComponent } from '../common/input/text/text.component' | ||||
| import { UrlComponent } from '../common/input/url/url.component' | ||||
| import { PageHeaderComponent } from '../common/page-header/page-header.component' | ||||
| import { PDFEditorComponent } from '../common/pdf-editor/pdf-editor.component' | ||||
| import { | ||||
|   PDFEditorComponent, | ||||
|   PdfEditorEditMode, | ||||
| } from '../common/pdf-editor/pdf-editor.component' | ||||
| import { ShareLinksDialogComponent } from '../common/share-links-dialog/share-links-dialog.component' | ||||
| import { DocumentHistoryComponent } from '../document-history/document-history.component' | ||||
| import { DocumentNotesComponent } from '../document-notes/document-notes.component' | ||||
| @@ -1363,7 +1366,9 @@ export class DocumentDetailComponent | ||||
|         this.documentsService | ||||
|           .bulkEdit([this.document.id], 'edit_pdf', { | ||||
|             operations: modal.componentInstance.getOperations(), | ||||
|             update_document: modal.componentInstance.updateDocument, | ||||
|             delete_original: modal.componentInstance.deleteOriginal, | ||||
|             update_document: | ||||
|               modal.componentInstance.editMode == PdfEditorEditMode.Update, | ||||
|             include_metadata: modal.componentInstance.includeMetadata, | ||||
|           }) | ||||
|           .pipe(first(), takeUntil(this.unsubscribeNotifier)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 shamoon
					shamoon