LP1904036 Hold Capture entry points
authorBill Erickson <berickxx@gmail.com>
Thu, 29 Apr 2021 19:08:01 +0000 (15:08 -0400)
committerGalen Charlton <gmc@equinoxOLI.org>
Fri, 28 Oct 2022 00:13:33 +0000 (20:13 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <js7389@princeton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>

Open-ILS/src/eg2/src/app/staff/circ/checkin/checkin.component.html
Open-ILS/src/eg2/src/app/staff/circ/checkin/checkin.component.ts
Open-ILS/src/eg2/src/app/staff/circ/checkin/routing.module.ts
Open-ILS/src/eg2/src/app/staff/nav.component.html
Open-ILS/src/templates/staff/navbar.tt2

index e994e68..207a63b 100644 (file)
@@ -1,4 +1,9 @@
-<eg-staff-banner i18n-bannerText bannerText="Checkin Items"></eg-staff-banner>
+<eg-staff-banner *ngIf="!isHoldCapture" i18n-bannerText bannerText="Checkin Items">
+</eg-staff-banner>
+
+<eg-staff-banner *ngIf="isHoldCapture" i18n-bannerText bannerText="Capture Holds">
+</eg-staff-banner>
+
 <eg-circ-components></eg-circ-components>
 <eg-progress-dialog #progressDialog></eg-progress-dialog>
 <eg-barcode-select #barcodeSelect></eg-barcode-select>
   <div class="col-lg-12">
     <eg-grid #grid [dataSource]="gridDataSource" [sortable]="true"
       [useLocalSort]="true" [cellTextGenerator]="cellTextGenerator"
-      [disablePaging]="true" persistKey="circ.checkin">
+      [disablePaging]="true" [persistKey]="persistKey">
 
       <eg-grid-toolbar-action
         group="Mark" i18n-group i18n-label label="Mark Item Damaged"
index e2d8e66..e329317 100644 (file)
@@ -69,6 +69,7 @@ export class CheckinComponent implements OnInit, AfterViewInit {
     strictBarcode = false;
     trimList = false;
     itemNeverCirced: string;
+    persistKey: string;
 
     gridDataSource: GridDataSource = new GridDataSource();
     cellTextGenerator: GridCellTextGenerator;
@@ -103,6 +104,17 @@ export class CheckinComponent implements OnInit, AfterViewInit {
     ) {}
 
     ngOnInit() {
+
+        this.route.data.subscribe(data => {
+            if (data && data.capture) {
+                this.isHoldCapture = true;
+                this.persistKey = 'circ.checkin.capture';
+            } else {
+                this.isHoldCapture = false;
+                this.persistKey = 'circ.checkin.checkin';
+            }
+        });
+
         this.gridDataSource.getRows = (pager: Pager, sort: any[]) => {
             return from(this.checkins);
         };
@@ -118,6 +130,8 @@ export class CheckinComponent implements OnInit, AfterViewInit {
             this.strictBarcode = sets['circ.checkin.strict_barcode'];
 
             if (this.isHoldCapture) {
+                // In hold capture mode, some modifiers are forced
+                // regardless of preferences.
                 this.modifiers.noop = false;
                 this.modifiers.auto_print_holds_transits = true;
             }
index df175a0..77d3c0a 100644 (file)
@@ -5,6 +5,10 @@ import {CheckinComponent} from './checkin.component';
 const routes: Routes = [{
     path: '',
     component: CheckinComponent
+  }, {
+    path: 'capture',
+    component: CheckinComponent,
+    data: {capture: true}
 }];
 
 @NgModule({
index ec48cbc..6e73bd4 100644 (file)
             <span class="material-icons" aria-hidden="true">pin_drop</span>
             <span i18n>Capture Holds</span>
           </a>
+          <a class="dropdown-item" routerLink="/staff/circ/checkin/capture">
+            <span class="material-icons" aria-hidden="true">pin_drop</span>
+            <span i18n>Capture Holds (Experimental)</span>
+          </a>
           <a class="dropdown-item" routerLink="/staff/circ/holds/pull-list">
             <span class="material-icons" aria-hidden="true">view_list</span>
             <span i18n>Pull List for Hold Requests</span>
index 2dc7ec6..bc1d4e1 100644 (file)
             </a>
           </li>
           <li>
+            <a href="/eg2/staff/circ/checkin/capture">
+              <span class="glyphicon glyphicon-pushpin" aria-hidden="true"></span>
+              [% l('Capture Holds (Experimental)') %]
+            </a>
+          </li>
+          <li>
             <a href="/eg2/staff/circ/holds/pull-list">
               <span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>
               [% l('Pull List for Hold Requests') %]