Fix: Restrict book downloads in PDF viewer for users lacking download permissions (#1326)

This commit is contained in:
Aditya Chandel
2025-10-11 21:57:36 -06:00
committed by GitHub
parent 17e754ac17
commit a4cbfb8ad5
3 changed files with 8 additions and 1 deletions

View File

@@ -87,7 +87,6 @@ export class BookCardComponent implements OnInit, OnChanges, OnDestroy {
ngOnChanges(changes: SimpleChanges): void {
if (changes['book'] && !changes['book'].firstChange) {
// Reset the flag when book changes
this.additionalFilesLoaded = false;
this.initMenu();
}

View File

@@ -17,6 +17,8 @@
[zoom]="zoom"
[spread]="spread"
[showBookModeButton]="false"
[showDownloadButton]="showDownloadButton"
[showPrintButton]="showPrintButton"
(pagesLoaded)="onPdfPagesLoaded($event)"
(pageChange)="onPageChange($event)"
(zoomChange)="onZoomChange($event)"

View File

@@ -25,6 +25,9 @@ export class PdfViewerComponent implements OnInit, OnDestroy {
spread!: 'off' | 'even' | 'odd';
zoom!: number | string;
showDownloadButton = false;
showPrintButton = false;
bookData!: string | Blob;
bookId!: number;
private appSettingsSubscription!: Subscription;
@@ -51,6 +54,9 @@ export class PdfViewerComponent implements OnInit, OnDestroy {
const pdfData = results[2];
const myself = results[3];
this.showDownloadButton = myself.permissions.canDownload || myself.permissions.admin;
this.showPrintButton = myself.permissions.canDownload || myself.permissions.admin;
let globalOrIndividual = myself.userSettings.perBookSetting.pdf;
if (globalOrIndividual === 'Global') {
this.zoom = myself.userSettings.pdfReaderSetting.pageZoom || 'page-fit';