0d065de6c59665a39f8f8f1b2b4da56197cb2f0e
[evergreen-equinox.git] / Open-ILS / src / eg2 / src / app / staff / share / circ / route-dialog.component.html
1
2 <!-- 
3   Two separate dialogs are defined within, one for the holds slip
4   and one for hold and non-hold transits.  They share a number of
5   sub-templates.
6 -->
7
8 <ng-template #patronSummary>
9   <div *ngIf="checkin.patron.alias()">
10     Hold for patron {{checkin.patron.alias()}}
11   </div>
12   <div *ngIf="!checkin.patron.alias()" i18n>
13     Hold for patron {{checkin.patron.family_name()}}, 
14     {{checkin.patron.first_given_name()}} {{checkin.patron.second_given_name()}}
15   </div>
16   <div *ngIf="!checkin.patron.alias()">
17     <div *ngIf="checkin.patron.pref_family_name() 
18       || checkin.patron.pref_first_given_name() 
19       || checkin.patron.pref_second_given_name()">
20       Preferred name: 
21         {{checkin.patron.pref_family_name() || checkin.patron.family_name()}},
22         {{checkin.patron.pref_first_given_name() || checkin.patron.first_given_name()}}
23         {{checkin.patron.pref_second_given_name()}}
24     </div>
25   </div>
26   <div>
27     <span class="mr-2" i18n>Patron Barcode:</span>
28     <ng-container *ngIf="checkin.patron.card()">
29       <span>{{checkin.patron.card().barcode()}}</span>
30     </ng-container>
31   </div>
32 </ng-template>
33
34 <ng-template #itemSummary>
35   <div>
36     <span class="mr-2" i18n>Item Barcode:</span>
37     <span>{{checkin.copy.barcode()}}</span>
38   </div>
39   <div>
40     <span class="mr-2" i18n>Title:</span>
41     <span>{{checkin.title}}</span>
42   </div>
43   <div>
44     <span class="mr-2" i18n>Author:</span>
45     <span>{{checkin.author}}</span>
46   </div>
47   <div *ngIf="checkin.volume">
48     <span class="mr-2" i18n>Call Number:</span>
49     <span>{{checkin.volume.prefix().label()}}&nbsp;{{
50                         checkin.volume.label()}}&nbsp;{{checkin.volume.suffix().label()}}</span>
51   </div>
52 </ng-template>
53
54 <ng-template #holdSummary>
55   <div>
56     <span class="mr-2" i18n>Request Date:</span>
57     <span>{{checkin.hold.request_time() | date:'short'}}</span>
58   </div>
59   <div *ngIf="checkin.hold.notes().length > 0">
60     <span class="mr-2" i18n>Request Notes:</span>
61     <ul>
62       <li *ngFor="let note of checkin.hold.notes()">
63         <strong>{{note.title()}}</strong>: {{note.body()}}
64         <span *ngIf="note.slip() =='t' || note.pub() == 't'" i18n>[Patron-visible]</span>
65       </li>
66     </ul>
67   </div>
68 </ng-template>
69
70 <ng-template #holdShelfTmpl>
71   <div *ngIf="checkin.hold.behind_desk() == 't'" i18n>
72     This item should be routed to the <strong>Private Holds Shelf</strong>
73   </div>
74   <div *ngIf="checkin.hold.behind_desk() == 'f'" i18n>
75     This item should be routed to the <strong>Public Holds Shelf</strong>
76   </div>
77   <br/>
78
79   <ng-container *ngTemplateOutlet="itemSummary"></ng-container><br/>
80   <ng-container *ngTemplateOutlet="patronSummary"></ng-container><br/>
81
82   <!-- in hold shelf mode, we need to specify the notification prefs -->
83   <div *ngIf="checkin.hold.phone_notify()" i18n>Notify by phone: {{checkin.hold.phone_notify()}}</div>
84   <div *ngIf="checkin.hold.sms_notify()" i18n>Notify by text: {{checkin.hold.sms_notify()}}</div>
85   <div *ngIf="checkin.hold.email_notify() == 't'" i18n>Notify by email: {{checkin.patron.email()}}</div>
86
87   <ng-container *ngTemplateOutlet="holdSummary"></ng-container>
88   <br/>
89   <div>
90     <span class="mr-2" i18n>Slip Date:</span>
91     <span>{{today | date:'short'}}</span>
92   </div>
93 </ng-template>
94
95 <ng-template #transitTmpl>
96   <div>
97     <span class="mr-2" i18n>Destination</span>
98     <strong>{{checkin.destOrg.shortname()}}</strong>
99   </div>
100   <div *ngIf="checkin.destCourierCode">{{checkin.destCourierCode}} </div>
101   <br/>
102   <div>
103     <address>
104       <strong>{{checkin.destOrg.name()}}</strong><br>
105       <span *ngIf="checkin.destAddress">
106         {{checkin.destAddress.street1()}} {{checkin.destAddress.street2()}}<br/>
107         {{checkin.destAddress.city()}}, {{checkin.destAddress.state()}} {{checkin.destAddress.post_code()}}
108       </span>
109       <span *ngIf="!checkin.destAddress" i18n>
110         We do not have a holds address for this library.
111       </span>
112       <br/>
113       <abbr title="Phone">P:</abbr> {{checkin.destOrg.phone()}}
114     </address>
115   </div>
116   <ng-container *ngTemplateOutlet="itemSummary"></ng-container>
117   <br/>
118   <div *ngIf="checkin.hold">
119     <ng-container *ngTemplateOutlet="patronSummary"></ng-container>
120     <br/>
121     <ng-container *ngTemplateOutlet="holdSummary"></ng-container>
122     <br/>
123   </div>
124   <div>
125     <span class="mr-2" i18n>Slip Date:</span>
126     <span>{{today | date:'short'}}</span>
127   </div>
128 </ng-template>
129
130 <ng-template #dialogContent>
131   <div class="modal-header">
132     <h4>
133       <ng-container *ngIf="slip == 'hold_shelf_slip'">
134         <strong i18n>Hold Slip</strong><br/>
135         <img class="p-2" src="/images/portal/holds.png" i18n-alt alt="holds icon"/>
136       </ng-container>
137       <ng-container *ngIf="slip != 'hold_shelf_slip'">
138         <strong i18n>Transit Slip</strong><br/>
139         <img class="p-2" src="/images/transit.png" i18n-alt alt="transit van icon"/>
140       </ng-container>
141     </h4>
142     <button type="button" class="close"
143       i18n-aria-label aria-label="Close" (click)="close()">
144       <span aria-hidden="true">&times;</span>
145     </button>
146   </div>
147   <div class="modal-body">
148     <ng-container *ngIf="slip == 'hold_shelf_slip'">
149       <ng-container *ngTemplateOutlet="holdShelfTmpl"></ng-container>
150     </ng-container>
151     <ng-container *ngIf="slip != 'hold_shelf_slip'">
152       <ng-container *ngTemplateOutlet="transitTmpl"></ng-container>
153     </ng-container>
154   </div>
155   <div class="modal-footer">
156     <button type="button" class="btn btn-success" (click)="print()" i18n>Print</button>
157     <button type="button" class="btn btn-warning" (click)="close()" i18n>Do Not Print</button>
158   </div>
159 </ng-template>
160
161