]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/staff/circ/patron/index.tt2
LP#1350042 Browser client templates/scripts (phase 1)
[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
21 <!-- load the rest on demand? -->
22
23 <!-- required for credentials verify API -->
24 <script src="[% ctx.media_prefix %]/js/dojo/opensrf/md5.js"></script>
25
26 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/patron/checkout.js"></script>
27 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/patron/items_out.js"></script>
28 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/patron/holds.js"></script>
29 <script src="[% ctx.media_prefix %]/js/ui/default/staff/circ/patron/bills.js"></script>
30
31 <!-- TODO: APP_JS should really be called APP_ADDONS or some such.
32     It just means "load these things, too, and load them last" -->
33 <link rel="stylesheet" href="[% ctx.base_path %]/staff/css/circ.css" />
34
35 <script>
36 angular.module('egCoreMod').run(['egStrings', function(s) {
37   s.ANNOTATE_PAYMENT_MSG = "[% l('Please annotate this payment') %]";
38   s.CONFIRM_REFUND_PAYMENT = 
39     "[% |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 %]";
40   s.EDIT_BILL_PAY_NOTE = "[% l('Enter new note for #[_1]:','{{ids}}') %]";
41   s.GROUP_ADD_USER = "[% l('Enter the patron barcode') %]";
42   s.RENEW_ITEMS = "[% l('Renew Items?') %]";
43   s.RENEW_ALL_ITEMS = "[% l('Renew All Items?') %]";
44   s.CHECK_IN_CONFIRM = "[% l('Check In Items?') %]";
45 }]);
46 </script>
47
48 [% END %]
49
50 <div class="row">
51   <div class="col-md-3">
52     <div ng-show="patron()">
53       <h4 title="{{patron().id()}}">
54         <div class="flex-row">
55           <div class="flex-cell">
56             [% l('[_1], [_2] [_3]', 
57                 '{{patron().family_name()}}',
58                 '{{patron().first_given_name()}}',
59                 '{{patron().second_given_name()}}') %]
60           </div>
61           <div ng-show="tab != 'search'">
62             <a href ng-click="toggle_expand_summary()"
63               title="[% l('Collapse Patron Summary Display') %]"
64               ng-hide="collapse_summary()">
65               <span class="glyphicon glyphicon-resize-small"></span>
66             </a>
67             <a href ng-click="toggle_expand_summary()"
68               title="[% l('Expand Patron Summary Display') %]"
69               ng-show="collapse_summary()">
70               <span class="glyphicon glyphicon-resize-full"></span>
71             </a>
72           </div>
73         </div><!-- row -->
74       </h4>
75     </div><!-- if patron -->
76   </div><!-- col -->
77   <div class="col-md-9">
78     <ul class="nav nav-pills nav-pills-like-tabs">
79       <li ng-class="{active : tab == 'checkout', disabled : !patron()}">
80         <a href="./circ/patron/{{patron().id()}}/checkout">[% l('Check Out') %]</a>
81       </li>
82       <li ng-class="{active : tab == 'items_out', disabled : !patron()}">
83         <a href="./circ/patron/{{patron().id()}}/items_out">
84           [% l('Items Out') %] 
85           <span ng-if="patron()"><!-- lack of space / newline below intentional -->
86           (<span ng-class="{'patron-summary-alert-small' : patron_stats().checkouts.overdue}">{{patron_stats().checkouts.total_out}}</span>)
87           </span>
88         </a>
89       </li>
90       <li ng-class="{active : tab == 'holds', disabled : !patron()}">
91         <a href="./circ/patron/{{patron().id()}}/holds">
92           [% l('Holds') %]
93           <span ng-if="patron()">
94             (<span>{{patron_stats().holds.total}} / {{patron_stats().holds.ready}}</span>)
95           </span>
96         </a>
97       </li>
98       <li ng-class="{active : tab == 'bills', disabled : !patron()}">
99         <a href="./circ/patron/{{patron().id()}}/bills">
100           [% l('Bills') %]
101           <span ng-if="patron()">
102             (<span ng-class="{'patron-summary-alert-small' : patron_stats().fines.balance_owed}">{{patron_stats().fines.balance_owed | currency}}</span>)
103           </span>
104         </a>
105       </li>
106       <li ng-class="{active : tab == 'messages', disabled : !patron()}">
107         <a href="./circ/patron/{{patron().id()}}/messages">[% l('Messages') %]</a>
108       </li>
109       <li ng-class="{active : tab == 'edit', disabled : !patron()}">
110         <a href="./circ/patron/{{patron().id()}}/edit">[% l('Edit') %]</a>
111       </li>
112       <li class="dropdown" ng-class="{active : tab == 'other', disabled : !patron()}">
113         <a href class="dropdown-toggle" data-toggle="dropdown">
114             [% l('Other') %]
115             <b class="caret"></b>
116         </a>
117         <ul class="dropdown-menu">
118           <li>
119             <a href="./circ/patron/{{patron().id()}}/alerts">
120               [% l('Display Alert and Messages') %]
121             </a>
122           </li>
123           <li>
124             <a href="./circ/patron/{{patron().id()}}/notes">
125               [% l('Notes') %]
126             </a>
127           </li>
128           <li>
129             <a href="./circ/patron/{{patron().id()}}/triggered_events">
130               [% l('Triggered Events / Notifications') %]
131             </a>
132           </li>
133           <li>
134             <a href="./circ/patron/{{patron().id()}}/stat_cats">
135               [% l('Statistical Categories') %]
136             </a>
137           </li>
138           <li>
139             <a href="./circ/patron/{{patron().id()}}/group">
140               [% l('Group Member Details') %]
141             </a>
142           </li>
143           <li>
144             <a href="./circ/patron/{{patron().id()}}/edit_perms">
145               [% l('User Permission Editor') %]
146             </a>
147           </li>
148           <li>
149             <a href="./circ/patron/{{patron().id()}}/credentials">
150               [% l('Test Password') %]
151             </a>
152           </li>
153        </ul>
154       </li>
155       <li ng-class="{active : tab == 'search'}" class="pull-right">
156         <a href="./circ/patron/search">[% l('Patron Search') %]</a>
157       </li>
158     </ul>
159   </div><!-- col -->
160 </div><!-- row -->
161
162 <div class="row">
163   <div class="col-md-3" ng-hide="collapse_summary()">
164     [% INCLUDE 'staff/circ/patron/t_summary.tt2' %]
165   </div>
166   <div ng-class="{'col-md-12' : collapse_summary(),'col-md-9' : !collapse_summary()}">
167     <div class="tab-content">
168       <div class="tab-pane active">
169         <div ng-view></div>
170       </div>
171     </div>
172   </div><!-- col -->
173 </div><!-- row -->
174
175 [% END %]