]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates/staff/circ/patron/t_summary.tt2
LP2045292 Color contrast for AngularJS patron bills
[Evergreen.git] / Open-ILS / src / templates / staff / circ / patron / t_summary.tt2
1
2 <div ng-cloak class="patron-summary-grid-wrapper">
3   <div ng-show="patron()" id="patron-summary-grid">
4     <div class="row patron-summary-pref-name"
5       ng-if="patron().pref_prefix() || patron().pref_family_name() || patron().pref_first_given_name() || patron().pref_second_given_name() || patron().pref_suffix()">
6       <div class="col-md-12">
7         [% l('[_1] [_2], [_3] [_4] [_5] (Preferred)', 
8           '{{patron().pref_prefix() || patron().prefix()}}',
9           '{{patron().pref_family_name() || patron().family_name()}}',
10           '{{patron().pref_first_given_name() || patron().first_given_name()}}',
11           '{{patron().pref_second_given_name() || patron().second_given_name()}}',
12           '{{patron().pref_suffix() || patron().suffix()}}')
13         %]
14       </div>
15     </div>
16     <div class="row" 
17       ng-class="{'patron-summary-divider' : !$index}"
18       ng-repeat="penalty in alert_penalties()">
19       <div 
20         class="col-md-9 patron-summary-alert"
21         title="{{penalty.standing_penalty().name()}}">
22         {{penalty.note() || penalty.standing_penalty().label()}}
23       </div>
24       <div class="col-md-3">
25         {{penalty.set_date() | date:$root.egDateFormat}}
26       </div>
27     </div>
28     <div class="row patron-summary-divider">
29       <div
30         class="col-md-9 patron-summary-alert"
31         title="[% l('Patron Alert Message') %]"
32         ng-if="patron().alert_message()">
33         {{patron().alert_message()}}
34       </div>
35     </div>
36     <div class="row" ng-class="{'patron-summary-alert' : doesPatronExpireSoon()}">
37       <div ng-if="doesPatronExpireSoon()" class="col-md-12">[% l('Patron account will expire soon.  Please renew.') %]</div>
38     </div>
39     <div ng-if="patron().photo_url()" class="row">
40          <div class="col-md-8 patron_photo_wrap"><img class="img-responsive img-rounded" src="{{patron().photo_url()}}" alt=""></div>
41     </div>
42     <div class="row" 
43       ng-class="{'patron-summary-divider' : alert_penalties().length || patron().alert_message()}">
44       <div class="col-md-5">[% l('Profile') %]</div>
45       <div class="col-md-7">{{patron().profile().name()}}</div>
46     </div>
47     <div class="row" ng-if="show_name()">
48       <div class="col-md-5">[% l('ID') %]</div>
49       <div class="col-md-7">{{patron().id()}}</div>
50     </div>
51     <div class="row" ng-if="show_name()">
52       <div class="col-md-5">[% l('Name') %]</div>
53       <div class="col-md-7">
54                     [% l('[_1], [_2] [_3]',
55                 '{{patron().family_name()}}',
56                 '{{patron().first_given_name()}}',
57                 '{{patron().second_given_name()}}') %]
58       </div>
59     </div>
60     <div class="row">
61       <div class="col-md-5">[% l('Home Library') %]</div>
62       <div class="col-md-7" title="{{patron().home_ou().name()}}">{{patron().home_ou().shortname()}}</div>
63     </div>
64     <div class="row">
65       <div class="col-md-5">[% l('Net Access') %]</div>
66       <div class="col-md-7">{{patron().net_access_level().name()}}</div>
67     </div>
68     <div class="row"
69       ng-class="{'patron-summary-alert' : !patron().dob()}">
70       <a class="col-md-5" ng-if="obscure_dob()" ng-click="show_dob(true)">[% l('Date of Birth') %]</a>
71       <div class="col-md-5" ng-if="!obscure_dob()">[% l('Date of Birth') %]</div>
72       <div class="col-md-7" ng-show="now_show_dob()">{{patron().dob() | date:$root.egDateFormat}}</div>
73     </div>
74     <div class="row">
75       <div class="col-md-5">[% l('Parent/Guardian') %]</div>
76       <div class="col-md-7">{{patron().guardian()}}</div>
77     </div>
78     <div class="row">
79       <div class="col-md-5">[% l('Last Activity') %]</div>
80       <div class="col-md-7" title="{{patron().usr_activity()[0].etype().label()}}">{{patron().usr_activity()[0].event_time() | date:$root.egDateFormat}}</div>
81     </div>
82     <div class="row">
83       <div class="col-md-5">[% l('Last Updated') %]</div>
84       <div class="col-md-7">{{patron().last_update_time() | date:$root.egDateFormat}}</div>
85     </div>
86     <div class="row">
87       <div class="col-md-5">[% l('Create Date') %]</div>
88       <div class="col-md-7">{{patron().create_date() | date:$root.egDateFormat}}</div>
89     </div>
90     <div class="row"
91       ng-class="{'patron-summary-alert' : isPatronExpired()}">
92       <div class="col-md-5">[% l('Expire Date') %]</div>
93       <div class="col-md-7">{{patron().expire_date() | date:$root.egDateFormat}}</div>
94     </div>
95     <div class="row patron-summary-divider" 
96       ng-class="{'patron-summary-alert' : patron_stats().fines.balance_owed}">
97       <div class="col-md-5">[% l('Fines Owed') %]</div>
98       <div class="col-md-7">
99         {{patron_stats().fines.balance_owed | currency}}
100       </div>
101     </div>
102     <div class="row"
103       ng-show="patron_stats().fines.group_balance_owed > patron_stats().fines.balance_owed"
104       ng-class="{'patron-summary-alert' : patron_stats().fines.group_balance_owed}">
105       <div class="col-md-5">[% l('Group Fines') %]</div>
106       <div class="col-md-7">
107         {{patron_stats().fines.group_balance_owed | currency}}
108       </div>
109     </div>
110     <div class="row">
111       <div class="col-md-5">[% l('Items Out') %]</div>
112       <div class="col-md-7">{{patron_stats().checkouts.total_out}}</div>
113     </div>
114     <div class="row" 
115       ng-class="{'patron-summary-alert' : patron_stats().checkouts.overdue}">
116       <div class="col-md-5">[% l('Overdue') %]</div>
117       <div class="col-md-7">{{patron_stats().checkouts.overdue}}</div>
118     </div>
119     <div class="row" 
120       ng-class="{'patron-summary-alert' : patron_stats().checkouts.long_overdue}">
121       <div class="col-md-5">[% l('Long Overdue') %]</div>
122       <div class="col-md-7">{{patron_stats().checkouts.long_overdue}}</div>
123     </div>
124     <div class="row" 
125       ng-class="{'patron-summary-alert' : patron_stats().checkouts.claims_returned}">
126       <div class="col-md-5">[% l('Claimed Returned') %]</div>
127       <div class="col-md-7">{{patron_stats().checkouts.claims_returned}}</div>
128     </div>
129     <div class="row" 
130       ng-class="{'patron-summary-alert' : patron_stats().checkouts.lost}">
131       <div class="col-md-5">[% l('Lost') %]</div>
132       <div class="col-md-7">{{patron_stats().checkouts.lost}}</div>
133     </div>
134     <div class="row">
135       <div class="col-md-5">[% l('Non-Cataloged') %]</div>
136       <div class="col-md-7">{{patron_stats().checkouts.noncat}}</div>
137     </div>
138     <div class="row">
139       <div class="col-md-5">[% l('Holds') %]</div>
140       <div class="col-md-7">
141         {{patron_stats().holds.ready}} / {{patron_stats().holds.total}}
142       </div>
143     </div>
144     <div class="row patron-summary-divider">
145       <div class="col-md-5">[% l('Card') %]</div>
146       <div class="col-md-7">{{patron().card().barcode()}}</div>
147     </div>
148     <div class="row">
149       <div class="col-md-5">[% l('Username') %]</div>
150       <div class="col-md-7">{{patron().usrname()}}</div>
151     </div>
152     <div class="row">
153       <div class="col-md-5">[% l('Day Phone') %]</div>
154       <div class="col-md-7">{{patron().day_phone()}}</div>
155     </div>
156     <div class="row">
157       <div class="col-md-5">[% l('Evening Phone') %]</div>
158       <div class="col-md-7">{{patron().evening_phone()}}</div>
159     </div>
160     <div class="row">
161       <div class="col-md-5">[% l('Other Phone') %]</div>
162       <div class="col-md-7">{{patron().other_phone()}}</div>
163     </div>
164     <div class="row">
165       <div class="col-md-5">[% l('ID1') %]&nbsp;<span ng-if="hasIdentTypeName" class="ident_type">({{patron().ident_type().name()}})</span></div>
166       <div class="col-md-7">{{patron().ident_value()}}</div>
167     </div>
168     <div class="row">
169       <div class="col-md-5">[% l('ID2') %]</div>
170       <div class="col-md-7">{{patron().ident_value2()}}</div>
171     </div>
172     <div class="row">
173       <div class="col-md-5">[% l('Email') %]</div>
174           <!-- Bound href="mailto: patron().email()" to an anchor tag to allow the patron's email address to be clicked directly from the summary. -->
175       <div class="col-md-7"><a ng-href="mailto:{{patron().email()}}">{{patron().email()}}</a></div>
176     </div>
177     <div class="row" ng-repeat="map in summary_stat_cats()">
178       <div class="col-md-5">{{map.stat_cat().name()}}</div>
179       <div class="col-md-7">{{map.stat_cat_entry()}}</div>
180     </div>
181     <div class="row" ng-if="patron().name_keywords()">
182       <div class="col-md-5">[% l('Name Keywords') %]</div>
183       <div class="col-md-7">{{patron().name_keywords()}}</div>
184     </div>
185     <div class="row patron-summary-divider" ng-if="patron().waiver_entries().length > 0">
186       [% l('Allow others to use my account') %]
187     </div>
188     <div class="row" ng-repeat="waiver in patron().waiver_entries()">
189       <div class="col-md-5">{{waiver.name()}}</div>
190       <div class="col-md-7">
191         <ul>
192           <li ng-show="waiver.place_holds() == 't'">[% l('Place holds') %]</li>
193           <li ng-show="waiver.pickup_holds() == 't'">[% l('Pick up holds') %]</li>
194           <li ng-show="waiver.view_history() == 't'">[% l('View borrowing history') %]</li>
195           <li ng-show="waiver.checkout_items() == 't'">[% l('Check out items') %]</li>
196         </ul>
197       </div>
198     </div>
199   </div>
200
201   <div class="row" ng-repeat="addr in patron().addresses()">
202     <div class="panel">
203       <div class="panel-body">
204         <fieldset>
205           <legend ng-class="{'patron-summary-alert': addr.valid() == 'f'}">
206             {{addr.address_type()}} 
207             (<a href class="patron-summary-act-link" 
208                 ng-click="copy_address(addr)">[%- l('copy') -%]</a><a 
209                 href class="patron-summary-act-link" 
210                 ng-click="print_address(addr)">[%- l('/print') -%]</a>)
211           </legend>
212           <div>{{addr.street1()}} {{addr.street2()}}</div>
213           <div>{{addr.city()}}, {{addr.state()}} {{addr.post_code()}}</div>
214         </fieldset>
215         <textarea id="patron-address-copy-{{addr.id()}}" rows="2" 
216           style="visibility:hidden">[%- l(
217             '[_1] [_2] [_3]&#13;&#10;[_4] [_5]&#13;&#10;[_6], [_7] [_8]', 
218             '{{patron().first_given_name()}}',
219             '{{patron().second_given_name()}}',
220             '{{patron().family_name()}}',
221             '{{addr.street1()}}',
222             '{{addr.street2()}}',
223             '{{addr.city()}}',
224             '{{addr.state()}}',
225             '{{addr.post_code()}}') 
226           -%]</textarea>
227       </div>
228     </div>
229   </div>
230 </div>