diff --git a/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.html b/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.html index 2d708981f..c88933686 100644 --- a/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.html +++ b/src-ui/src/app/components/common/share-links-dropdown/share-links-dropdown.component.html @@ -38,7 +38,7 @@
  • - +
    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 27955a8a5..74a40d529 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 @@ -19,6 +19,7 @@ import { ToastService } from 'src/app/services/toast.service' import { environment } from 'src/environments/environment' import { ShareLinksDropdownComponent } from './share-links-dropdown.component' import { Clipboard } from '@angular/cdk/clipboard' +import { By } from '@angular/platform-browser' describe('ShareLinksDropdownComponent', () => { let component: ShareLinksDropdownComponent @@ -97,7 +98,7 @@ describe('ShareLinksDropdownComponent', () => { const createSpy = jest.spyOn(shareLinkService, 'createLinkForDocument') component.documentId = 99 component.expirationDays = 7 - component.archiveVersion = false + component.useArchiveVersion = false const expiration = new Date() expiration.setDate(expiration.getDate() + 7) @@ -212,4 +213,16 @@ describe('ShareLinksDropdownComponent', () => { 'http://example.domainwithapiinit.com:1234/subpath/share/123abc123' ) }) + + it('should disable archive switch & option if no archive available', () => { + component.hasArchiveVersion = false + component.ngOnInit() + fixture.detectChanges() + expect(component.useArchiveVersion).toBeFalsy() + expect( + fixture.debugElement.query(By.css("input[type='checkbox']")).attributes[ + 'ng-reflect-is-disabled' + ] + ).toBeTruthy() + }) }) 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 fa2df3a54..d211dd171 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 @@ -38,6 +38,9 @@ export class ShareLinksDropdownComponent implements OnInit { @Input() disabled: boolean = false + @Input() + hasArchiveVersion: boolean = true + shareLinks: PaperlessShareLink[] loading: boolean = false @@ -46,7 +49,7 @@ export class ShareLinksDropdownComponent implements OnInit { expirationDays: number = 7 - archiveVersion: boolean = true + useArchiveVersion: boolean = true constructor( private shareLinkService: ShareLinkService, @@ -56,6 +59,7 @@ export class ShareLinksDropdownComponent implements OnInit { ngOnInit(): void { if (this._documentId !== undefined) this.refresh() + this.useArchiveVersion = this.hasArchiveVersion } refresh() { @@ -132,7 +136,7 @@ export class ShareLinksDropdownComponent implements OnInit { this.shareLinkService .createLinkForDocument( this._documentId, - this.archiveVersion + this.useArchiveVersion ? PaperlessFileVersion.Archive : PaperlessFileVersion.Original, expiration diff --git a/src-ui/src/app/components/document-detail/document-detail.component.html b/src-ui/src/app/components/document-detail/document-detail.component.html index ea14b750d..aa2f91a35 100644 --- a/src-ui/src/app/components/document-detail/document-detail.component.html +++ b/src-ui/src/app/components/document-detail/document-detail.component.html @@ -69,7 +69,7 @@ (added)="addField($event)"> - +
    diff --git a/src-ui/src/app/data/paperless-document.ts b/src-ui/src/app/data/paperless-document.ts index b00c478fc..8071e2b45 100644 --- a/src-ui/src/app/data/paperless-document.ts +++ b/src-ui/src/app/data/paperless-document.ts @@ -50,6 +50,8 @@ export interface PaperlessDocument extends ObjectWithPermissions { original_file_name?: string + archived_file_name?: string + download_url?: string thumbnail_url?: string