From 5f656b4b74ae9faeb68d67b2da26fed5b06c9783 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 16 Aug 2023 14:19:32 -0700 Subject: [PATCH] Refactor share links file_version --- src-ui/messages.xlf | 76 +++++++++---------- .../share-links-dropdown.component.spec.ts | 6 +- .../share-links-dropdown.component.ts | 6 +- src-ui/src/app/data/paperless-share-link.ts | 4 +- .../app/services/rest/share-link.service.ts | 6 +- src/documents/migrations/1038_sharelink.py | 2 +- src/documents/models.py | 13 ++-- src/documents/serialisers.py | 2 +- src/documents/tests/test_api.py | 2 +- src/documents/tests/test_views.py | 2 +- src/documents/views.py | 2 +- 11 files changed, 60 insertions(+), 61 deletions(-) diff --git a/src-ui/messages.xlf b/src-ui/messages.xlf index ac2d9fe6a..cc23dd26c 100644 --- a/src-ui/messages.xlf +++ b/src-ui/messages.xlf @@ -319,7 +319,7 @@ src/app/components/document-detail/document-detail.component.html - 66 + 65 @@ -1073,7 +1073,7 @@ src/app/components/document-detail/document-detail.component.html - 209 + 208 src/app/components/document-list/save-view-config-dialog/save-view-config-dialog.component.html @@ -1142,7 +1142,7 @@ src/app/components/document-detail/document-detail.component.html - 193 + 192 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2363,14 +2363,14 @@ Error deleting link src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts - 110 + 112 Error creating link src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts - 138 + 140 @@ -2443,7 +2443,7 @@ src/app/components/document-detail/document-detail.component.html - 86 + 85 src/app/components/document-list/document-list.component.html @@ -2678,7 +2678,7 @@ Actions src/app/components/document-detail/document-detail.component.html - 37 + 34 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2729,7 +2729,7 @@ Redo OCR src/app/components/document-detail/document-detail.component.html - 43 + 40 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2740,7 +2740,7 @@ More like this src/app/components/document-detail/document-detail.component.html - 49 + 46 src/app/components/document-list/document-card-large/document-card-large.component.html @@ -2751,7 +2751,7 @@ Close src/app/components/document-detail/document-detail.component.html - 54 + 53 src/app/guards/dirty-saved-view.guard.ts @@ -2762,35 +2762,35 @@ Previous src/app/components/document-detail/document-detail.component.html - 61 + 60 Details src/app/components/document-detail/document-detail.component.html - 83 + 82 Archive serial number src/app/components/document-detail/document-detail.component.html - 87 + 86 Date created src/app/components/document-detail/document-detail.component.html - 88 + 87 Correspondent src/app/components/document-detail/document-detail.component.html - 90 + 89 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2813,7 +2813,7 @@ Document type src/app/components/document-detail/document-detail.component.html - 92 + 91 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2836,7 +2836,7 @@ Storage path src/app/components/document-detail/document-detail.component.html - 94 + 93 src/app/components/document-list/bulk-editor/bulk-editor.component.html @@ -2855,21 +2855,21 @@ Default src/app/components/document-detail/document-detail.component.html - 95 + 94 Content src/app/components/document-detail/document-detail.component.html - 102 + 101 Metadata src/app/components/document-detail/document-detail.component.html - 111 + 110 src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts @@ -2880,123 +2880,123 @@ Date modified src/app/components/document-detail/document-detail.component.html - 117 + 116 Date added src/app/components/document-detail/document-detail.component.html - 121 + 120 Media filename src/app/components/document-detail/document-detail.component.html - 125 + 124 Original filename src/app/components/document-detail/document-detail.component.html - 129 + 128 Original MD5 checksum src/app/components/document-detail/document-detail.component.html - 133 + 132 Original file size src/app/components/document-detail/document-detail.component.html - 137 + 136 Original mime type src/app/components/document-detail/document-detail.component.html - 141 + 140 Archive MD5 checksum src/app/components/document-detail/document-detail.component.html - 145 + 144 Archive file size src/app/components/document-detail/document-detail.component.html - 149 + 148 Original document metadata src/app/components/document-detail/document-detail.component.html - 155 + 154 Archived document metadata src/app/components/document-detail/document-detail.component.html - 156 + 155 Preview src/app/components/document-detail/document-detail.component.html - 162 + 161 Enter Password src/app/components/document-detail/document-detail.component.html - 178 + 177 src/app/components/document-detail/document-detail.component.html - 229 + 228 Notes src/app/components/document-detail/document-detail.component.html - 186,187 + 185,186 Discard src/app/components/document-detail/document-detail.component.html - 205 + 204 Save & next src/app/components/document-detail/document-detail.component.html - 207 + 206 Save & close src/app/components/document-detail/document-detail.component.html - 208 + 207 diff --git a/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.spec.ts b/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.spec.ts index 55f544815..d65c672b9 100644 --- a/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.spec.ts +++ b/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.spec.ts @@ -11,7 +11,7 @@ import { import { FormsModule, ReactiveFormsModule } from '@angular/forms' import { of, throwError } from 'rxjs' import { - PaperlessShareLinkDocumentVersion, + PaperlessFileVersion, PaperlessShareLink, } from 'src/app/data/paperless-share-link' import { ShareLinkService } from 'src/app/services/rest/share-link.service' @@ -56,7 +56,7 @@ describe('ShareLinksDropdownComponent', () => { slug: '1234slug', created: now.toISOString(), document: 99, - document_version: PaperlessShareLinkDocumentVersion.Archive, + file_version: PaperlessFileVersion.Archive, expiration: expiration7days.toISOString(), }, { @@ -64,7 +64,7 @@ describe('ShareLinksDropdownComponent', () => { slug: '1234slug', created: now.toISOString(), document: 99, - document_version: PaperlessShareLinkDocumentVersion.Original, + file_version: PaperlessFileVersion.Original, expiration: null, }, ]) diff --git a/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts b/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts index de605846d..4dae05654 100644 --- a/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts +++ b/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.ts @@ -2,7 +2,7 @@ import { Component, Input, OnInit } from '@angular/core' import { first } from 'rxjs' import { PaperlessShareLink, - PaperlessShareLinkDocumentVersion, + PaperlessFileVersion, } from 'src/app/data/paperless-share-link' import { ShareLinkService } from 'src/app/services/rest/share-link.service' import { ToastService } from 'src/app/services/toast.service' @@ -125,8 +125,8 @@ export class ShareLinksDropdownComponent implements OnInit { .createLinkForDocument( this._documentId, this.archiveVersion - ? PaperlessShareLinkDocumentVersion.Archive - : PaperlessShareLinkDocumentVersion.Original, + ? PaperlessFileVersion.Archive + : PaperlessFileVersion.Original, expiration ) .subscribe({ diff --git a/src-ui/src/app/data/paperless-share-link.ts b/src-ui/src/app/data/paperless-share-link.ts index 616d55fa0..03dab58c9 100644 --- a/src-ui/src/app/data/paperless-share-link.ts +++ b/src-ui/src/app/data/paperless-share-link.ts @@ -1,6 +1,6 @@ import { ObjectWithPermissions } from './object-with-permissions' -export enum PaperlessShareLinkDocumentVersion { +export enum PaperlessFileVersion { Archive = 'archive', Original = 'original', } @@ -14,5 +14,5 @@ export interface PaperlessShareLink extends ObjectWithPermissions { document: number // PaperlessDocument - document_version: string + file_version: string } diff --git a/src-ui/src/app/services/rest/share-link.service.ts b/src-ui/src/app/services/rest/share-link.service.ts index 323f91675..f69b54844 100644 --- a/src-ui/src/app/services/rest/share-link.service.ts +++ b/src-ui/src/app/services/rest/share-link.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core' import { PaperlessShareLink, - PaperlessShareLinkDocumentVersion, + PaperlessFileVersion, } from 'src/app/data/paperless-share-link' import { AbstractNameFilterService } from './abstract-name-filter-service' import { HttpClient } from '@angular/common/http' @@ -23,13 +23,13 @@ export class ShareLinkService extends AbstractNameFilterService(this.getResourceUrl(), { document: documentId, - document_version, + file_version, expiration: expiration?.toISOString(), }) } diff --git a/src/documents/migrations/1038_sharelink.py b/src/documents/migrations/1038_sharelink.py index 6c7e4cebc..fa2860b6f 100644 --- a/src/documents/migrations/1038_sharelink.py +++ b/src/documents/migrations/1038_sharelink.py @@ -87,7 +87,7 @@ class Migration(migrations.Migration): ), ), ( - "document_version", + "file_version", models.CharField( choices=[("archive", "Archive"), ("original", "Original")], default="archive", diff --git a/src/documents/models.py b/src/documents/models.py index bee6b6f35..b7c188d34 100644 --- a/src/documents/models.py +++ b/src/documents/models.py @@ -678,10 +678,9 @@ class Note(models.Model): class ShareLink(models.Model): - VERSION_CHOICES = [ - ("archive", _("Archive")), - ("original", _("Original")), - ] + class FileVersion(models.TextChoices): + ARCHIVE = ("archive", _("Archive")) + ORIGINAL = ("original", _("Original")) created = models.DateTimeField( _("created"), @@ -714,10 +713,10 @@ class ShareLink(models.Model): verbose_name=_("document"), ) - document_version = models.CharField( + file_version = models.CharField( max_length=50, - choices=VERSION_CHOICES, - default="archive", + choices=FileVersion.choices, + default=FileVersion.ARCHIVE, ) owner = models.ForeignKey( diff --git a/src/documents/serialisers.py b/src/documents/serialisers.py index 710dad39a..321a34ccb 100644 --- a/src/documents/serialisers.py +++ b/src/documents/serialisers.py @@ -954,7 +954,7 @@ class ShareLinkSerializer(OwnedObjectSerializer): "expiration", "slug", "document", - "document_version", + "file_version", ) def create(self, validated_data): diff --git a/src/documents/tests/test_api.py b/src/documents/tests/test_api.py index 23144fa2c..260bfc14c 100644 --- a/src/documents/tests/test_api.py +++ b/src/documents/tests/test_api.py @@ -2592,7 +2592,7 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): data={ "expiration": (timezone.now() + timedelta(days=7)).isoformat(), "document": doc.pk, - "document_version": "original", + "file_version": "original", }, ) self.assertEqual(resp.status_code, status.HTTP_201_CREATED) diff --git a/src/documents/tests/test_views.py b/src/documents/tests/test_views.py index b693a0478..4c421e61a 100644 --- a/src/documents/tests/test_views.py +++ b/src/documents/tests/test_views.py @@ -123,7 +123,7 @@ class TestViews(TestCase): "/api/share_links/", { "document": doc.pk, - "document_version": "original", + "file_version": "original", }, ) sl1 = ShareLink.objects.get(document=doc) diff --git a/src/documents/views.py b/src/documents/views.py index 6551db317..ab32c8cf4 100644 --- a/src/documents/views.py +++ b/src/documents/views.py @@ -1167,7 +1167,7 @@ class SharedLinkView(View): return HttpResponseRedirect("/accounts/login/?sharelink_expired=1") return serve_file( doc=share_link.document, - use_archive=share_link.document_version == "archive", + use_archive=share_link.file_version == "archive", disposition="inline", )