]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/staff/circ/patron/t_checkout.tt2
LP1615805 No inputs after submit in patron search (AngularJS)
[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-8 col-lg-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-disabled="disable_checkout()"
34           value="[% l('Submit') %]"/>
35
36       </div>
37     </form>
38   <div class="checkbox">
39     <label>
40       <input ng-model="strict_barcode" type="checkbox"
41         ng-change="onStrictBarcodeChange()"/>
42       [% l('Strict Barcode') %]
43     </label>
44   </div>
45   </div>
46   <div class="col-md-4 col-lg-6">
47     <div class="flex-row">
48       <div class="flex-cell"></div>
49
50 <div class="form-group row">
51 <div class="col-md-12 col-lg-4" uib-dropdown>
52       <button type="button" ng-class="{'btn-success' : date_options.has_sticky_date}" class="btn btn-default" uib-dropdown-toggle>
53         [% l('Date Options') %]
54         <span class="caret"></span>
55       </button>
56       <ul class="pull-right" uib-dropdown-menu>
57         <li>
58           <a href
59             ng-click="toggle_opt('has_sticky_date')">
60             <span ng-if="date_options.has_sticky_date"
61               class="label label-success">&#x2713;</span>
62             <span ng-if="!date_options.has_sticky_date"
63               class="label label-warning">&#x2717;</span>
64             <span>[% l('Specific Due Date') %]</span>
65           </a>
66         </li>
67         <li>
68           <a href
69             ng-click="toggle_opt('is_until_logout')">
70             <span ng-if="date_options.is_until_logout"
71               class="label label-success">&#x2713;</span>
72             <span ng-if="!date_options.is_until_logout"
73               class="label label-warning">&#x2717;</span>
74             <span>[% l('Use Specific Due Date Until Logout') %]</span>
75           </a>
76         </li>
77       </ul>
78 </div>
79
80       <!-- <div class="checkbox pad-horiz">
81         <label>
82           <input type="checkbox" ng-model="checkoutArgs.sticky_date"/>
83           [% l('Specific Due Date') %]
84         </label>
85       </div> -->
86       <div class="col-md-12 col-lg-6">
87         <eg-date-input min-date="minDate" out-of-range="outOfRange"
88           ng-model="checkoutArgs.due_date" ng-disabled="!date_options.has_sticky_date" show-time-picker>
89         </eg-date-input>
90       </div>
91 </div>
92     </div>
93   </div>
94 </div>
95 <hr/>
96
97 <eg-grid
98   id-field="index"
99   features="clientsort"
100   items-provider="gridDataProvider"
101   grid-controls="gridControls"
102   persist-key="circ.patron.checkout"
103   dateformat="{{$root.egDateAndTimeFormat}}">
104
105   <eg-grid-action
106     handler="addCopyAlerts"
107     label="[% l('Add Item Alerts') %]">
108   </eg-grid-action>
109   <eg-grid-action
110     handler="manageCopyAlerts"
111     label="[% l('Manage Item Alerts') %]">
112   </eg-grid-action>
113
114   <eg-grid-field label="[% l('Balance Owed') %]"     
115     path='mbts.balance_owed'></eg-grid-field>
116
117   <eg-grid-field label="[% l('Barcode') %]" path="acp_barcode">
118     <!-- FIXME: ng-if / ng-disabled not working since the contents 
119         are $interpolate'd and not $compile'd.
120         I want to hide / disable the href when there is no acp ID 
121     -->
122     <a href="./cat/item/{{item.acp.id()}}/summary" target="_self">
123       {{item.copy_barcode}}
124     </a>
125   </eg-grid-field>
126
127   <eg-grid-field label="[% l('Circ ID') %]"
128     path='circ.id'></eg-grid-field>
129
130   <eg-grid-field label="[% l('Call Number') %]" 
131     path="acn.label"></eg-grid-field>
132
133   <eg-grid-field label="[% l('Due Date') %]"    
134     path='circ.due_date' datecontext="circ_lib" dateonlyinterval="duration" datatype="timestamp"></eg-grid-field>
135
136   <eg-grid-field label="[% l('Family Name') %]"    
137     path='au.family_name'></eg-grid-field>
138
139   <eg-grid-field label="[% l('Location') %]" 
140     path='acp.location.name'> </eg-grid-field>
141
142   <eg-grid-field label="[% l('Remaining Renewals') %]" 
143     path='circ.renewal_remaining'></eg-grid-field>
144
145   <eg-grid-field label="[% l('Title') %]" path="title">
146     <a href="/eg2/staff/catalog/record/{{item.acn.record()}}">
147       {{item.title}}
148     </a>
149   </eg-grid-field>
150
151   <eg-grid-field label="[% l('Author') %]"      
152     path="author" hidden></eg-grid-field>
153   <eg-grid-field path="acp.circ_modifier.name" label="[% l('Circulation Modifier') %]"></eg-grid-field>
154   <eg-grid-field path="acp.circ_lib.shortname" label="[% l('Circulation Library') %]"></eg-grid-field>
155   <eg-grid-field path="acn.owning_lib.shortname" label="[% l('Owning Library') %]"></eg-grid-field>
156
157   <eg-grid-field label="[% l('Alerts') %]" path="copy_alert_count" handlers="gridCellHandlers" visible compiled>
158     {{item['copy_alert_count']}}
159     <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>
160   </eg-grid-field>
161
162   <eg-grid-field path="circ.*" parent-idl-class="circ" hidden></eg-grid-field>
163   <eg-grid-field path="acp.*" parent-idl-class="acp" hidden></eg-grid-field>
164   <eg-grid-field path="acn.*" parent-idl-class="acn" hidden></eg-grid-field>
165   <eg-grid-field path="_monograph_part" label="[% l('Monograph Part') %]" parent-idl-class="bmp" hidden></eg-grid-field>
166   <eg-grid-field path="acn.prefix.label" label="[% l('CN Prefix') %]" parent-idl-class="acn" hidden></eg-grid-field>
167   <eg-grid-field path="acn.suffix.label" label="[% l('CN Suffix') %]" parent-idl-class="acn" hidden></eg-grid-field>
168   <eg-grid-field path="record.*" parent-idl-class="mvr" hidden></eg-grid-field>
169   <eg-grid-field path="mbts.*" parent-idl-class="mbts" hidden></eg-grid-field>
170   <eg-grid-field path="au.*" parent-idl-class="au" hidden></eg-grid-field>
171 </eg-grid>
172
173 <div class="flex-row pad-vert">
174   <div class="flex-cell"></div>
175   <div class="pad-horiz" ng-if="using_hatch_printer"></div>
176   <div class="checkbox" ng-if="using_hatch_printer">
177     <label>
178       <input ng-model="show_print_dialog" type="checkbox"/>
179       [% l('Show Print Dialog') %]
180     </label>
181   </div>
182   <div class="pad-horiz">
183     <span ng-show="may_email_receipt()" class="glyphicon glyphicon-envelope" aria-label="[% l('Send Email Receipt') %]"></span>
184     <span ng-show="!may_email_receipt()" class="glyphicon glyphicon-print" aria-label="[% l('Print Receipt') %]"></span>
185     <div class="btn-group" uib-dropdown>
186       <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>
187       <button type="button" ng-disabled="checkouts.length == 0" class="btn btn-default" uib-dropdown-toggle>
188         <span class="caret"></span>
189         <span class="sr-only">[% l('receipt option') %]</span>
190       </button>
191       <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="quick-button">
192         <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>
193         <li role="menuitem"><a ng-click="print_receipt()" href="#">[% l('Print Receipt') %]</a></li>
194       </ul>
195     </div>
196   </div>
197   <div class="btn-group" uib-dropdown>
198     <button class="btn btn-default" 
199       id="done-button" type="button"
200       ng-click="done_auto_receipt()">[% l('Done') %]</button>
201       <button type="button" class="btn btn-default" uib-dropdown-toggle>
202         <span class="caret"></span>
203         <span class="sr-only">[% l('receipt option') %]</span>
204       </button>
205       <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="done-button">
206         <li role="menuitem"><a ng-click="done_no_receipt()" href="#">[% l('No Receipt') %]</a></li>
207         <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>
208         <li role="menuitem"><a ng-click="done_print_receipt()" href="#">[% l('Print Receipt') %]</a></li>
209       </ul>
210   </div>
211 </div>
212