]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/staff/circ/checkin/t_checkin.tt2
LP#1880028 Backdate Checkins Until Logout Option
[Evergreen.git] / Open-ILS / src / templates / staff / circ / checkin / t_checkin.tt2
1 <div class="container-fluid" style="text-align:center">
2   <div class="alert alert-info alert-less-pad strong-text-2"
3     ng-class="{'alert-warning': is_backdate()}">
4     <span ng-if="!is_capture">[% l('Checkin Items') %]</span>
5     <span ng-if="is_capture">[% l('Capture Holds') %]</span>
6     <span ng-if="is_backdate()" class="btn btn-danger">[% l('Backdating Enabled') %]</span>
7   </div>
8 </div>
9
10 <div class="row">
11   <div class="col-md-12">
12     <div ng-if="is_backdate()">
13       <div class="alert-danger pad-all-min">
14         [% l('Backdated Check In [_1]', 
15           '{{checkinArgs.backdate | date:$root.egDateFormat}}') %]
16       </div>
17       <div ng-if="backdate.untilLogout" class="alert-danger pad-all-min">
18         [% l('Use Effective Date Until Logout') %]
19       </div>
20     </div>
21     <div ng-if="modifiers.no_precat_alert" class="alert-danger pad-all-min">
22       [% l('Ignore Pre-Cataloged Items') %]
23     </div>
24     <div ng-if="modifiers.noop" class="alert-danger pad-all-min">
25       [% l('Suppress Holds and Transits') %]
26     </div>
27     <div ng-if="modifiers.void_overdues" class="alert-danger pad-all-min">
28       [% l('Amnesty Mode') %]
29     </div>
30     <div ng-if="modifiers.auto_print_holds_transits" 
31       class="alert-danger pad-all-min">
32       [% l('Auto-Print Hold and Transit Slips') %]
33     </div>
34     <div ng-if="modifiers.clear_expired" class="alert-danger pad-all-min">
35       [% l('Clear Holds Shelf') %]
36     </div>
37     <div ng-if="modifiers.retarget_holds" class="alert-danger pad-all-min">
38       <div ng-if="modifiers.retarget_holds_all">
39         [% l('Always Retarget Local Holds') %]
40       </div>
41       <div ng-if="!modifiers.retarget_holds_all">
42         [% l('Retarget Local Holds') %]
43       </div>
44     </div>
45     <div ng-if="modifiers.hold_as_transit" class="alert-danger pad-all-min">
46       [% l('Capture Local Holds As Transits') %]
47     </div>
48     <div ng-if="modifiers.manual_float" class="alert-danger pad-all-min">
49       [% l('Manual Floating Active') %]
50     </div>
51     <div ng-if="modifiers.do_inventory_update" class="alert-danger pad-all-min">
52       [% l('Update Inventory') %]
53     </div>
54   </div>
55 </div>
56
57 <!-- checkin form -->
58 <div class="row pad-vert">
59   <div class="col-md-5">
60     <form ng-submit="checkin(checkinArgs)" role="form" class="form-inline">
61       <div class="input-group">
62
63         <label class="input-group-addon" 
64           for="patron-checkin-barcode" >[% l('Barcode') %]</label>
65
66         <input focus-me="focusMe" blur-me="blurMe" 
67           class="form-control"
68           ng-model="checkinArgs.copy_barcode" 
69           placeholder="[% l('Barcode') %]"
70           id="patron-checkin-barcode" type="text"/> 
71
72         <input type="submit" class="btn btn-default" value="[% l('Submit') %]"/>
73       </div>
74     </form>
75   </div>
76
77   <div class="col-md-3">
78     <div ng-if="alert" class="col-md-12 alert-danger pad-all-min">
79       <span ng-if="alert.already_checked_in">
80         [% l('[_1] was already checked in.', '{{alert.already_checked_in}}') %]
81       </span>
82       <span ng-if="alert.item_never_circed">
83         [% l('Item [_1] has never circulated.', '{{alert.item_never_circed}}') %]
84       </span>
85     </div>
86   </div>
87
88   <div class="col-md-4" ng-if="!is_capture">
89     <div class="flex-row">
90       <div class="flex-cell"></div>
91       <div class="pad-horiz">[% l('Effective Date') %]</div>
92       <!-- date max= not yet supported -->
93       <div><eg-date-input ng-model="checkinArgs.backdate"></eg-date-input>
94       </div>
95     </div>
96     <div class="flex-row" ng-show="is_backdate()">
97       <div class="flex-cell"></div>
98       <div class="checkbox pad-horiz">
99         <label>
100           <input type="checkbox" ng-model="backdate.untilLogout" ng-change="onUntilLogoutChange()"/>
101           [% l('Use effective date until logout') %]
102         </label>
103       </div>
104     </div>
105   </div>
106 </div>
107
108 <div class="row" ng-if="fine_total">
109   <div class="col-md-12">
110     <span>[% l('Fine Tally:') %]</span>
111     <span class="pad-horiz alert alert-danger">{{fine_total | currency}}</span>
112     <span ng-if="billable_barcode">
113       <!-- note: this forces a new tab -->
114       <a href='./circ/patron/{{billable_user_id}}/bills' target='_blank'>
115         <span>[% l('Transaction for [_1] billed:', '{{billable_barcode}}') %]</span>
116       </a>
117       <span class="pad-horiz alert alert-danger">{{billable_amount | currency}}</span>
118     </span>
119   </div>
120 </div>
121
122 <hr/>
123
124 [% INCLUDE 'staff/circ/checkin/t_checkin_table.tt2' %]
125
126 <div class="row pad-vert">
127   <div class="col-md-10">
128     <div class="flex-row">
129       <div class="flex-cell"></div>
130       <div class="pad-horiz">
131         <button class="btn btn-default" 
132           ng-click="print_receipt()">[% l('Print Receipt') %]</button>
133       </div>
134       <div class="checkbox" ng-if="using_hatch_printer">
135         <label>
136           <input ng-model="show_print_dialog" type="checkbox"/>
137           [% l('Show Print Dialog') %]
138         </label>
139       </div>
140       <div class="pad-horiz" ng-if="using_hatch_printer"></div>
141       <div class="checkbox">
142         <label>
143           <input ng-model="trim_list" type="checkbox"/>
144           [% l('Trim List (20 Rows)') %]
145         </label>
146       </div>
147       <div class="pad-horiz"></div>
148       <div class="checkbox">
149         <label>
150           <input ng-model="strict_barcode" type="checkbox"/>
151           [% l('Strict Barcode') %]
152         </label>
153       </div>
154     </div><!-- flex row -->
155   </div><!-- col -->
156   <div class="col-md-2">
157     <div class="input-group-btn" uib-dropdown>
158       <button type="button" class="btn btn-default" uib-dropdown-toggle>
159         [% l('Checkin Modifiers') %]
160         <span class="caret"></span>
161       </button>
162       <ul class="pull-right" uib-dropdown-menu>
163         <li>
164           <a href
165             ng-click="toggle_mod('no_precat_alert')">
166             <span ng-if="modifiers.no_precat_alert" 
167               class="label label-success">&#x2713;</span>
168             <span ng-if="!modifiers.no_precat_alert"
169               class="label label-warning">&#x2717;</span>
170             <span>[% l('Ignore Pre-cataloged Items') %]</span>
171           </a>
172         </li>
173         <li ng-if="!is_capture"><!-- nonsensical for hold capture -->
174           <a href
175             ng-click="toggle_mod('noop')">
176             <span ng-if="modifiers.noop" 
177               class="label label-success">&#x2713;</span>
178             <span ng-if="!modifiers.noop"
179               class="label label-warning">&#x2717;</span>
180             <span>[% l('Suppress Holds and Transits') %]</span>
181           </a>
182         </li>
183         <li>
184           <a href
185             ng-click="toggle_mod('void_overdues')">
186             <span ng-if="modifiers.void_overdues" 
187               class="label label-success">&#x2713;</span>
188             <span ng-if="!modifiers.void_overdues"
189               class="label label-warning">&#x2717;</span>
190             <span>[% l('Amnesty Mode') %]</span>
191           </a>
192         </li>
193         <li>
194           <a href
195             ng-click="toggle_mod('auto_print_holds_transits')">
196             <span ng-if="modifiers.auto_print_holds_transits" 
197               class="label label-success">&#x2713;</span>
198             <span ng-if="!modifiers.auto_print_holds_transits"
199               class="label label-warning">&#x2717;</span>
200             <span>[% l('Auto-Print Hold and Transit Slips') %]</span>
201           </a>
202         </li>
203         <li>
204           <a href
205             ng-click="toggle_mod('clear_expired')">
206             <span ng-if="modifiers.clear_expired" 
207               class="label label-success">&#x2713;</span>
208             <span ng-if="!modifiers.clear_expired"
209               class="label label-warning">&#x2717;</span>
210             <span>[% l('Clear Holds Shelf') %]</span>
211           </a>
212         </li>
213         <li>
214           <a href
215             ng-click="toggle_mod('retarget_holds')">
216             <span ng-if="modifiers.retarget_holds" 
217               class="label label-success">&#x2713;</span>
218             <span ng-if="!modifiers.retarget_holds"
219               class="label label-warning">&#x2717;</span>
220             <span>[% l('Retarget Local Holds') %]</span>
221           </a>
222         </li>
223         <li>
224           <a href
225             ng-click="toggle_mod('retarget_holds_all')">
226             <span ng-if="modifiers.retarget_holds_all" 
227               class="label label-success">&#x2713;</span>
228             <span ng-if="!modifiers.retarget_holds_all"
229               class="label label-warning">&#x2717;</span>
230             <span>[% l('Retarget All Statuses') %]</span>
231           </a>
232         </li>
233         <li>
234           <a href
235             ng-click="toggle_mod('hold_as_transit')">
236             <span ng-if="modifiers.hold_as_transit" 
237               class="label label-success">&#x2713;</span>
238             <span ng-if="!modifiers.hold_as_transit"
239               class="label label-warning">&#x2717;</span>
240             <span>[% l('Capture Local Holds As Transits') %]</span>
241           </a>
242         </li>
243         <li>
244           <a href
245             ng-click="toggle_mod('manual_float')">
246             <span ng-if="modifiers.manual_float"
247               class="label label-success">&#x2713;</span>
248             <span ng-if="!modifiers.manual_float"
249               class="label label-warning">&#x2717;</span>
250             <span>[% l('Manual Floating Active') %]</span>
251           </a>
252         </li>
253         <li>
254           <a href
255             ng-click="toggle_mod('do_inventory_update')">
256             <span ng-if="modifiers.do_inventory_update"
257               class="label label-success">&#x2713;</span>
258             <span ng-if="!modifiers.do_inventory_update"
259               class="label label-warning">&#x2717;</span>
260             <span>[% l('Update Inventory') %]</span>
261           </a>
262         </li>
263       </ul>
264     </div><!-- btn grp -->
265   </div><!-- col -->
266 </div><!-- row -->
267