LP#1676608: copy alert and suppression matrix
[working/Evergreen.git] / Open-ILS / src / templates / staff / circ / patron / t_checkout.tt2
1 <!-- item checkout form / list -->
2
3 <div class="row pad-vert">
4   <div class="col-md-6">
5     <form ng-submit="checkout(checkoutArgs)" role="form" class="form-inline">
6       <div class="input-group">
7
8         <div class="input-group-btn" uib-dropdown>
9           <button type="button" class="btn btn-default" uib-dropdown-toggle
10             ng-class="{disabled : disable_checkout()}">
11             {{selectedNcType() || "[% l('Barcode') %]"}}
12             <span class="caret"></span>
13           </button>
14           <ul uib-dropdown-menu>
15             <li><a href
16               ng-click="checkoutArgs.noncat_type='barcode';focusMe=true">
17               [% l('Barcode') %]</a>
18             </li>
19             <li class="divider"></li>
20             <li>
21               <a href ng-repeat="type in nonCatTypes | orderBy:'name()'"
22                ng-click="checkoutArgs.noncat_type=type.id()">{{type.name()}}</a>
23             </li>
24           </ul>
25         </div>
26
27         <input focus-me="focusMe" class="form-control"
28           ng-model="checkoutArgs.copy_barcode" 
29           ng-disabled="checkoutArgs.noncat_type != 'barcode' || disable_checkout()"
30           id="patron-checkout-barcode" type="text"/> 
31
32         <input class="btn btn-default" type="submit" 
33           ng-class="{disabled : disable_checkout()}" value="[% l('Submit') %]"/>
34
35       </div>
36     </form>
37   </div>
38   <div class="col-md-6">
39     <div class="flex-row">
40       <div class="flex-cell"></div>
41
42 <div class="input-group">
43 <div class="input-group-btn" uib-dropdown>
44       <button type="button" class="btn btn-default" uib-dropdown-toggle>
45         [% l('Date Options') %]
46         <span class="caret"></span>
47       </button>
48       <ul class="pull-right" uib-dropdown-menu>
49         <li>
50           <a href
51             ng-click="toggle_opt('has_sticky_date')">
52             <span ng-if="date_options.has_sticky_date"
53               class="label label-success">&#x2713;</span>
54             <span ng-if="!date_options.has_sticky_date"
55               class="label label-warning">&#x2717;</span>
56             <span>[% l('Specific Due Date') %]</span>
57           </a>
58         </li>
59         <li>
60           <a href
61             ng-click="toggle_opt('is_until_logout')">
62             <span ng-if="date_options.is_until_logout"
63               class="label label-success">&#x2713;</span>
64             <span ng-if="!date_options.is_until_logout"
65               class="label label-warning">&#x2717;</span>
66             <span>[% l('Use Specific Due Date Until Logout') %]</span>
67           </a>
68         </li>
69       </ul>
70 </div>
71
72       <!-- <div class="checkbox pad-horiz">
73         <label>
74           <input type="checkbox" ng-model="checkoutArgs.sticky_date"/>
75           [% l('Specific Due Date') %]
76         </label>
77       </div> -->
78       <!-- FIXME: This needs a time component as well, but type="datetime" 
79             is not yet supported by any browsers -->
80       <div><eg-date-input ng-model="checkoutArgs.due_date"></eg-date-input>
81       </div>
82 </div>
83     </div>
84   </div>
85 </div>
86 <hr/>
87
88 <eg-grid
89   id-field="index"
90   features="clientsort"
91   items-provider="gridDataProvider"
92   grid-controls="gridControls"
93   persist-key="circ.patron.checkout"
94   dateformat="{{$root.egDateAndTimeFormat}}">
95
96   <eg-grid-action
97     handler="addCopyAlerts"
98     label="[% l('Add Copy Alerts') %]">
99   </eg-grid-action>
100   <eg-grid-action
101     handler="manageCopyAlerts"
102     label="[% l('Manage Copy Alerts') %]">
103   </eg-grid-action>
104
105   <eg-grid-field label="[% l('Balance Owed') %]"     
106     path='mbts.balance_owed'></eg-grid-field>
107
108   <eg-grid-field label="[% l('Barcode') %]" path="acp_barcode">
109     <!-- FIXME: ng-if / ng-disabled not working since the contents 
110         are $interpolate'd and not $compile'd.
111         I want to hide / disable the href when there is no acp ID 
112     -->
113     <a href="./cat/item/{{item.acp.id()}}/summary" target="_self">
114       {{item.copy_barcode}}
115     </a>
116   </eg-grid-field>
117
118   <eg-grid-field label="[% l('Bill #') %]"     
119     path='circ.id'></eg-grid-field>
120
121   <eg-grid-field label="[% l('Call Number') %]" 
122     path="acn.label"></eg-grid-field>
123
124   <eg-grid-field label="[% l('Due Date') %]"    
125     path='circ.due_date' datecontext="circ_lib" dateonlyinterval="duration" datatype="timestamp"></eg-grid-field>
126
127   <eg-grid-field label="[% l('Family Name') %]"    
128     path='au.family_name'></eg-grid-field>
129
130   <eg-grid-field label="[% l('Location') %]" 
131     path='acp.location.name'> </eg-grid-field>
132
133   <eg-grid-field label="[% l('Remaining Renewals') %]" 
134     path='circ.renewal_remaining'></eg-grid-field>
135
136   <eg-grid-field label="[% l('Title') %]" path="title">
137     <a target="_self" href="[% ctx.base_path %]/staff/cat/catalog/record/{{record.doc_id()}}">
138       {{item.title}}
139     </a>
140   </eg-grid-field>
141
142   <eg-grid-field label="[% l('Author') %]"      
143     path="author" hidden></eg-grid-field>
144   <eg-grid-field path="acp.circ_modifier.name" label="[% l('Circulation Modifier') %]"></eg-grid-field>
145   <eg-grid-field path="acp.circ_lib.shortname" label="[% l('Circulation Library') %]"></eg-grid-field>
146   <eg-grid-field path="acn.owning_lib.shortname" label="[% l('Owning Library') %]"></eg-grid-field>
147
148   <eg-grid-field label="[% l('Alerts') %]" path="copy_alert_count" handlers="gridCellHandlers" visible compiled>
149     {{item['copy_alert_count']}}
150     <button ng-disabled="item['copy_alert_count'] <= 0" class="btn btn-sm btn-default" ng-click="col.handlers.copyAlertsEdit(item['acp'].id())">[% l('Manage') %]</button>
151   </eg-grid-field>
152
153   <eg-grid-field path="circ.*" parent-idl-class="circ" hidden></eg-grid-field>
154   <eg-grid-field path="acp.*" parent-idl-class="acp" hidden></eg-grid-field>
155   <eg-grid-field path="acn.*" parent-idl-class="acn" hidden></eg-grid-field>
156   <eg-grid-field path="acn.prefix.label" label="[% l('CN Prefix') %]" parent-idl-class="acn" hidden></eg-grid-field>
157   <eg-grid-field path="acn.suffix.label" label="[% l('CN Suffix') %]" parent-idl-class="acn" hidden></eg-grid-field>
158   <eg-grid-field path="record.*" parent-idl-class="mvr" hidden></eg-grid-field>
159   <eg-grid-field path="mbts.*" parent-idl-class="mbts" hidden></eg-grid-field>
160   <eg-grid-field path="au.*" parent-idl-class="au" hidden></eg-grid-field>
161 </eg-grid>
162
163 <div class="flex-row pad-vert">
164   <div class="flex-cell"></div>
165   <div class="checkbox">
166     <label>
167       <input ng-model="strict_barcode" type="checkbox"/>
168       [% l('Strict Barcode') %]
169     </label>
170   </div>
171   <div class="pad-horiz" ng-if="using_hatch_printer"></div>
172   <div class="checkbox" ng-if="using_hatch_printer">
173     <label>
174       <input ng-model="show_print_dialog" type="checkbox"/>
175       [% l('Show Print Dialog') %]
176     </label>
177   </div>
178   <div class="pad-horiz">
179     <span ng-show="may_email_receipt()" class="glyphicon glyphicon-envelope" aria-label="[% l('Send Email Receipt') %]"></span>
180     <span ng-show="!may_email_receipt()" class="glyphicon glyphicon-print" aria-label="[% l('Print Receipt') %]"></span>
181     <div class="btn-group" uib-dropdown>
182       <button ng-click="print_or_email_receipt()" id="quick-button" type="button" ng-disabled="checkouts.length == 0" class="btn btn-default">[% l('Quick Receipt') %]</button>
183       <button type="button" ng-disabled="checkouts.length == 0" class="btn btn-default" uib-dropdown-toggle>
184         <span class="caret"></span>
185         <span class="sr-only">[% l('receipt option') %]</span>
186       </button>
187       <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="quick-button">
188         <li role="menuitem" ng-class="{disabled : !has_email_address()}"><a ng-click="email_receipt()" a-disabled="!has_email_address()" href="#">[% l('Email Receipt') %]</a></li>
189         <li role="menuitem"><a ng-click="print_receipt()" href="#">[% l('Print Receipt') %]</a></li>
190       </ul>
191     </div>
192   </div>
193   <div class="btn-group" uib-dropdown>
194     <button class="btn btn-default" 
195       id="done-button" type="button"
196       ng-click="done_auto_receipt()">[% l('Done') %]</button>
197       <button type="button" class="btn btn-default" uib-dropdown-toggle>
198         <span class="caret"></span>
199         <span class="sr-only">[% l('receipt option') %]</span>
200       </button>
201       <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="done-button">
202         <li role="menuitem"><a ng-click="done_no_receipt()" href="#">[% l('No Receipt') %]</a></li>
203         <li role="menuitem" ng-class="{disabled : !has_email_address()}"><a ng-click="done_email_receipt()" a-disabled="!has_email_address()" href="#">[% l('Email Receipt') %]</a></li>
204         <li role="menuitem"><a ng-click="done_print_receipt()" href="#">[% l('Print Receipt') %]</a></li>
205       </ul>
206   </div>
207 </div>
208