From 3545bbede89820a5a73d8dc353ce0eb7e2f8090e Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Wed, 29 Jun 2022 12:32:32 -0400 Subject: [PATCH] LP1840773 SCKO Angular Signed-off-by: Bill Erickson --- Open-ILS/src/eg2/src/app/scko/scko.component.html | 2 +- Open-ILS/src/eg2/src/app/scko/scko.service.ts | 4 +++- .../src/eg2/src/app/scko/summary.component.html | 3 ++- Open-ILS/src/eg2/src/app/scko/summary.component.ts | 27 ++++++++++++++++++++++ 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/Open-ILS/src/eg2/src/app/scko/scko.component.html b/Open-ILS/src/eg2/src/app/scko/scko.component.html index 97098d6bf4..5d6ce82248 100644 --- a/Open-ILS/src/eg2/src/app/scko/scko.component.html +++ b/Open-ILS/src/eg2/src/app/scko/scko.component.html @@ -9,7 +9,7 @@
-
+
diff --git a/Open-ILS/src/eg2/src/app/scko/scko.service.ts b/Open-ILS/src/eg2/src/app/scko/scko.service.ts index 4dfdaecb9a..13e2202470 100644 --- a/Open-ILS/src/eg2/src/app/scko/scko.service.ts +++ b/Open-ILS/src/eg2/src/app/scko/scko.service.ts @@ -69,6 +69,7 @@ export class SckoService { logoutDialog: ConfirmDialogComponent; alertDialog: AlertDialogComponent; focusBarcode: EventEmitter = new EventEmitter(); + patronLoaded: EventEmitter = new EventEmitter(); constructor( private router: Router, @@ -215,7 +216,8 @@ export class SckoService { .then(patron => this.patronSummary = new PatronSummary(patron)) .then(_ => this.patrons.getVitalStats(this.patronSummary.patron)) .then(stats => this.patronSummary.stats = stats) - .then(_ => this.resetPatronTimeout()); + .then(_ => this.resetPatronTimeout()) + .then(_ => this.patronLoaded.emit()); } resetPatronTimeout() { diff --git a/Open-ILS/src/eg2/src/app/scko/summary.component.html b/Open-ILS/src/eg2/src/app/scko/summary.component.html index 94730fd8f9..dd9cf2999e 100644 --- a/Open-ILS/src/eg2/src/app/scko/summary.component.html +++ b/Open-ILS/src/eg2/src/app/scko/summary.component.html @@ -16,7 +16,8 @@
Receipt: -
+ +
diff --git a/Open-ILS/src/eg2/src/app/scko/summary.component.ts b/Open-ILS/src/eg2/src/app/scko/summary.component.ts index a1f153e3f7..fa46b22ec0 100644 --- a/Open-ILS/src/eg2/src/app/scko/summary.component.ts +++ b/Open-ILS/src/eg2/src/app/scko/summary.component.ts @@ -15,6 +15,7 @@ import {EventService, EgEvent} from '@eg/core/event.service'; export class SckoSummaryComponent implements OnInit { + showEmailOption = false; receiptType = 'email'; constructor( @@ -23,6 +24,32 @@ export class SckoSummaryComponent implements OnInit { ngOnInit() { + this.scko.patronLoaded.subscribe(() => { + if (this.canEmail()) { + this.showEmailOption = true; + this.receiptType = 'email'; + } else { + this.showEmailOption = false; + this.receiptType = 'print'; + } + }); + + } + + canEmail(): boolean { + if (!this.scko.patronSummary) { return false; } + + const patron = this.scko.patronSummary.patron; + + const setting = patron.settings().filter( + s => s.name() === 'circ.send_email_checkout_receipts')[0]; + + return ( + Boolean(patron.email()) + && patron.email().match(/.*@.*/) !== null + && setting + && setting.value() === "true" // JSON + ); } } -- 2.11.0