From: Bill Erickson Date: Thu, 15 Nov 2018 22:42:44 +0000 (-0500) Subject: Basket print and email X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=16c638bf47648a6c0f96532fdd9b638f2cb1e630;p=working%2FEvergreen.git Basket print and email Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.html b/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.html index f3547a11bd..e30fb8cf12 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.html +++ b/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.html @@ -19,8 +19,8 @@ - - + + diff --git a/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.ts b/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.ts index 90f0e72c90..d5aff9d0f6 100644 --- a/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.ts +++ b/Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.ts @@ -2,6 +2,9 @@ import {Component, OnInit, ViewChild} from '@angular/core'; import {BasketService} from '@eg/share/catalog/basket.service'; import {Subscription} from 'rxjs/Subscription'; import {Router} from '@angular/router'; +import {NetService} from '@eg/core/net.service'; +import {AuthService} from '@eg/core/auth.service'; +import {PrintService} from '@eg/share/print/print.service'; import {RecordBucketDialogComponent} from '@eg/staff/share/buckets/record-bucket-dialog.component'; @@ -18,6 +21,9 @@ export class BasketActionsComponent implements OnInit { constructor( private router: Router, + private net: NetService, + private auth: AuthService, + private printer: PrintService, private basket: BasketService ) { this.basketAction = ''; @@ -30,6 +36,8 @@ export class BasketActionsComponent implements OnInit { return this.basket.recordCount(); } + // TODO: confirmation dialogs? + applyAction() { console.debug('Performing basket action', this.basketAction); @@ -44,6 +52,34 @@ export class BasketActionsComponent implements OnInit { this.basket.removeAllRecordIds(); break; + case 'print': + this.basket.getRecordIds().then(ids => { + this.net.request( + 'open-ils.search', + 'open-ils.search.biblio.record.print', ids + ).subscribe( + at_event => { + // check for event.. + const html = at_event.template_output().data(); + this.printer.print({ + text: html, + printContext: 'default' + }); + } + ); + }); + break; + + case 'email': + this.basket.getRecordIds().then(ids => { + this.net.request( + 'open-ils.search', + 'open-ils.search.biblio.record.email', + this.auth.token(), ids + ).toPromise(); // fire-and-forget + }); + break; + case 'bucket': this.basket.getRecordIds().then(ids => { this.addToBucketDialog.recordId = ids;