]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/templates/staff/circ/patron/index.tt2
a224fa1e69be569cb9e06da4a303941c28557efe
[working/Evergreen.git] / Open-ILS / src / templates / staff / circ / patron / index.tt2
1 [%
2   WRAPPER "staff/base.tt2";
3   ctx.page_title = l("Patron"); 
4   ctx.page_app = "egPatronApp";
5   ctx.page_ctrl = "PatronCtrl";
6 %]
7
8 [% BLOCK APP_JS %]
9 <script src="[% ctx.media_prefix %]/js/ui/default/staff/services/grid.js"></script>
10 <script src="[% ctx.media_prefix %]/js/ui/default/staff/services/ui.js"></script>
11 <script src="[% ctx.media_prefix %]/js/ui/default/staff/services/user.js"></script>
12 <script src="[% ctx.media_prefix %]/js/ui/default/staff/services/eframe.js"></script>
13 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/services/billing.js"></script>
14 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/services/circ.js"></script>
15 [% INCLUDE 'staff/circ/share/circ_strings.tt2' %]
16 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/services/holds.js"></script>
17 [% INCLUDE 'staff/circ/share/hold_strings.tt2' %]
18 <script src="[% ctx.media_prefix %]/js/ui/default/staff/cat/services/record.js"></script>
19 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/patron/app.js"></script>
20 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/patron/regctl.js"></script>
21
22 <!-- load the rest on demand? -->
23
24 <!-- required for credentials verify API -->
25 <script src="[% ctx.media_prefix %]/js/dojo/opensrf/md5.js"></script>
26
27 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/patron/checkout.js"></script>
28 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/patron/items_out.js"></script>
29 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/patron/holds.js"></script>
30 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/patron/bills.js"></script>
31
32 <!-- TODO: APP_JS should really be called APP_ADDONS or some such.
33     It just means "load these things, too, and load them last" -->
34 <link rel="stylesheet" href="[% ctx.base_path %]/staff/css/circ.css" />
35
36 <script>
37 angular.module('egCoreMod').run(['egStrings', function(s) {
38   s.ANNOTATE_PAYMENT_MSG = "[% l('Please annotate this payment') %]";
39   s.CONFIRM_REFUND_PAYMENT = 
40     "[% |l('{{xactIds}}') -%]Are you sure you would like to refund excess payment on bills [_1]?  This action will simply put the amount in the Payment Pending column as a negative value.  You must still select Apply Payment!  Certain types of payments may not be refunded.  The refund may be applied to checked transactions that follow the refunded transaction.[% END %]";
41   s.EDIT_BILL_PAY_NOTE = "[% l('Enter new note for #[_1]:','{{ids}}') %]";
42   s.GROUP_ADD_USER = "[% l('Enter the patron barcode') %]";
43   s.RENEW_ITEMS = "[% l('Renew Items?') %]";
44   s.RENEW_ALL_ITEMS = "[% l('Renew All Items?') %]";
45   s.CHECK_IN_CONFIRM = "[% l('Check In Items?') %]";
46 }]);
47 </script>
48
49 <!-- add room for the fixed navigation elements -->
50 <style ng-if="is_patron_edit">
51   #top-content-container { padding-top: 120px; }
52 </style>
53 <style ng-if="!is_patron_edit">
54   #top-content-container { padding-top: 80px; }
55 </style>
56
57
58 [% END %]
59
60 <div class="row">
61   <div class="col-md-3">
62     <!-- just here to keep this slot open for the patron summary column -->
63   </div>
64
65   <div class="col-md-9" id="patron-fixed-tabs">
66     <ul class="nav nav-pills nav-pills-like-tabs">
67       <li ng-class="{active : tab == 'checkout', disabled : !patron()}">
68         <a a-disabled="!patron()" href="./circ/patron/{{patron().id()}}/checkout">[% l('Check Out') %]</a>
69       </li>
70       <li ng-class="{active : tab == 'items_out', disabled : !patron()}">
71         <a a-disabled="!patron()" href="./circ/patron/{{patron().id()}}/items_out">
72           [% l('Items Out') %] 
73           <span ng-if="patron()"><!-- lack of space / newline below intentional -->
74           (<span ng-class="{'patron-summary-alert-small' : patron_stats().checkouts.overdue}">{{patron_stats().checkouts.total_out}}</span>)
75           </span>
76         </a>
77       </li>
78       <li ng-class="{active : tab == 'holds', disabled : !patron()}">
79         <a a-disabled="!patron()" href="./circ/patron/{{patron().id()}}/holds">
80           [% l('Holds') %]
81           <span ng-if="patron()">
82             (<span>{{patron_stats().holds.total}} / {{patron_stats().holds.ready}}</span>)
83           </span>
84         </a>
85       </li>
86       <li ng-class="{active : tab == 'bills', disabled : !patron()}">
87         <a a-disabled="!patron()" href="./circ/patron/{{patron().id()}}/bills">
88           [% l('Bills') %]
89           <span ng-if="patron()">
90             (<span ng-class="{'patron-summary-alert-small' : patron_stats().fines.balance_owed}">{{patron_stats().fines.balance_owed | currency}}</span>)
91           </span>
92         </a>
93       </li>
94       <li ng-class="{active : tab == 'messages', disabled : !patron()}">
95         <a a-disabled="!patron()" href="./circ/patron/{{patron().id()}}/messages">[% l('Messages') %]</a>
96       </li>
97       <li ng-class="{active : tab == 'edit', disabled : !patron()}">
98         <a href="./circ/patron/{{patron().id()}}/edit">[% l('Edit') %]</a>
99       </li>
100       <li class="dropdown" ng-class="{active : tab == 'other', disabled : !patron()}">
101         <a a-disabled="!patron()" href class="dropdown-toggle" data-toggle="dropdown">
102             [% l('Other') %]
103             <b class="caret"></b>
104         </a>
105         <ul class="dropdown-menu">
106           <li>
107             <a href="./circ/patron/{{patron().id()}}/alerts">
108               [% l('Display Alert and Messages') %]
109             </a>
110           </li>
111           <li>
112             <a href="./circ/patron/{{patron().id()}}/notes">
113               [% l('Notes') %]
114             </a>
115           </li>
116           <li>
117             <a href="./circ/patron/{{patron().id()}}/triggered_events">
118               [% l('Triggered Events / Notifications') %]
119             </a>
120           </li>
121           <li>
122             <a href="./circ/patron/{{patron().id()}}/stat_cats">
123               [% l('Statistical Categories') %]
124             </a>
125           </li>
126           <li>
127             <a href="./circ/patron/{{patron().id()}}/group">
128               [% l('Group Member Details') %]
129             </a>
130           </li>
131           <li>
132             <a href="./circ/patron/{{patron().id()}}/edit_perms">
133               [% l('User Permission Editor') %]
134             </a>
135           </li>
136           <li>
137             <a href="./circ/patron/{{patron().id()}}/credentials">
138               [% l('Test Password') %]
139             </a>
140           </li>
141        </ul>
142       </li>
143       <li ng-class="{active : tab == 'search'}" class="pull-right">
144         <a href="./circ/patron/search">[% l('Patron Search') %]</a>
145       </li>
146     </ul>
147     <div class="flex-row patron-reg-actions-bar" ng-if="is_patron_edit()">
148       <div>
149         <span>
150           [% l('Show:') %]
151           <span class="pad-all-min" ng-show="!display_required_fields">
152             <a href>[% l('Required Fields') %]</a>
153           </span>
154           <span class="pad-all-min" ng-show="!display_suggested_fields">
155             <a href>[% l('Suggested Fields') %]</a>
156           </span>
157           <span class="pad-all-min" ng-show="!display_all_fields">
158             <a href>[% l('All Fields') %]</a>
159           </span>
160         </span>
161       </div>
162       <div class="flex-cell"></div>
163       <div>
164         <span class="pad-all-min">
165           <button type="button" class="btn btn-default">[% l('Save') %]</button>
166         </span>
167         <span class="pad-all-min">
168           <button type="button" class="btn btn-default">[% l('Save & Clone') %]</button>
169         </span>
170       </div>
171     </div>
172
173   </div><!-- col -->
174 </div><!-- row -->
175
176 <div class="row">
177   <div class="col-md-3" ng-hide="collapse_summary()">
178     [% INCLUDE 'staff/circ/patron/t_summary.tt2' %]
179   </div>
180   <div ng-class="{'col-md-12' : collapse_summary(),'col-md-9' : !collapse_summary()}">
181     <div class="tab-content">
182       <div class="tab-pane active">
183         <div ng-view></div>
184       </div>
185     </div>
186   </div><!-- col -->
187 </div><!-- row -->
188
189 [% END %]