]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/templates-bootstrap/opac/myopac/prefs.tt2
LP1778972 A slew of updates
[Evergreen.git] / Open-ILS / src / templates-bootstrap / opac / myopac / prefs.tt2
1 [%  PROCESS "opac/parts/header.tt2";
2     WRAPPER "opac/parts/myopac/base.tt2";
3     myopac_page = "prefs";
4     parent="prefs";
5     prefs_page = 'prefs' %]
6  <h3>[% l('Account Information and Preferences') %]</h3>
7 <div id="acct_info_main">
8     <table title="[% l('Account preference') %]" class='light_border table table-hover'>
9         <tbody id='myopac_summary_tbody'>
10             <tr>
11                 <td class='color_4 light_border'>[% l("Name") %]</td>
12
13                 <td class='light_border'>[% l(
14                     HUMAN_NAME_FORMAT,
15                     ctx.user.prefix, 
16                     ctx.user.first_given_name,
17                     ctx.user.second_given_name, 
18                     ctx.user.family_name,
19                     ctx.user.suffix
20                 ) | html %]</td>
21
22                 <td></td>
23             </tr>
24              [% IF ctx.user.pref_first_given_name || ctx.user.pref_second_given_name || ctx.user.pref_family_name %]
25             <tr>
26                 <td class='color_4 light_border'>[% l("Preferred Name") %]</td>
27
28                 <td class='light_border'>[% l(
29                     HUMAN_NAME_FORMAT,
30                     ctx.user.pref_prefix, 
31                     (ctx.user.pref_first_given_name || ctx.user.first_given_name),
32                     ctx.user.pref_second_given_name, 
33                     (ctx.user.pref_family_name || ctx.user.family_name),
34                     ctx.user.pref_suffix
35                 ) | html %]</td>
36
37                 <td></td>
38             </tr>
39             [%  END %]
40
41             <tr>
42                 <td class='color_4 light_border'>[% l("Day Phone") %]</td>
43                 <td class='light_border'>[% ctx.user.day_phone | html %]</td>
44                 <td></td>
45             </tr>
46
47             <tr>
48                 <td class='color_4 light_border'>[% l("Evening Phone") %]</td>
49                 <td class='light_border'>[% ctx.user.evening_phone | html %]</td>
50                 <td></td>
51             </tr>
52
53             <tr>
54                 <td class='color_4 light_border'>[% l("Other Phone") %]</td>
55                 <td class='light_border'>[% ctx.user.other_phone | html %]</td>
56                 <td></td>
57             </tr>
58
59             <tr>
60                 <td class='color_4 light_border'>
61                     <div style="position:absolute">
62                    </div>[% l("Username") %]
63                 </td>
64                 <td class='light_border'>[% ctx.user.usrname | html %]</td>
65                 [%- IF ctx.username_change_disallowed %]
66                 <td></td>
67                 [%- ELSE %]
68                 <td class='light_border'><a class="btn btn-sm btn-action" href='update_username'
69                     title="[% l('Change Username') %]"><i class="fas fa-user-cog"></i> [% l("Change") %]</a></td>
70                 [%- END %]
71             </tr>
72             <tr>
73                 <td class='color_4 light_border'>[% l("Password") %]</td>
74                 <td class='light_border'>[% l("(not shown)") %]</td>
75                 <td>
76                 [%- IF disable_password_change == 'true' %]
77                 <span></span>
78                 [%- ELSE %]
79                 <span class='light_border'><a class="btn btn-sm btn-action" href='update_password'
80                     title="[% l('Change Password') %]"><i class="fas fa-user-cog"></i> [% l("Change") %]</a></span>
81                 [%- END %]
82                 </td>
83             </tr>
84             <tr>
85                 <td class='color_4 light_border'>[% l("Email Address") %]</td>
86                 <td class='light_border'>[% ctx.user.email | html %]</td>
87                 <td>
88                 [%- IF disable_email_change == 'true' %]
89                 <span></span>
90                 [%- ELSE %]
91                 <span class='light_border'><a class="btn btn-sm btn-action" href='update_email'
92                     title="[% l('Update Email Address') %]"><i class="fas fa-user-cog"></i> [% l('Change') %]</a></span>
93                 [%- END %]
94                 </td>
95             </tr>
96
97             [% IF ctx.user.ident_value %]<tr class="hide_me">
98                 <td class='color_4 light_border'>
99                 [% l("Primary Identification") %]</td>
100
101                 <td class='light_border'>
102                     [%
103                     # l('[_1] ([_2])', ctx.user.ident_value, ctx.user.ident_type.name) | html
104                     # XXX uncomment the above line to show primary
105                     # identification. With a minor tweak it could
106                     # alternatively be shown but partially obscured. 
107                     %]
108                 </td>
109                 <td></td>
110             </tr>[% END %]
111
112             <tr>
113                 <td class='color_4 light_border'>[% l("Active Barcode") %]</td>
114                 <td class='light_border'>[% ctx.user.card.barcode %]</td>
115                 <td></td>
116             </tr>
117
118             <tr>
119                 <td class='color_4 light_border'>[% l("Home Library") %]</td>
120  <td class='light_border'>
121                     [% ctx.get_aou(ctx.user.home_ou.parent_ou).name %]<br/>
122                     [% ctx.user.home_ou.name | html %]<br/>
123                     [% ctx.user.home_ou.billing_address.street1 %]<br/>
124                     [% IF ctx.user.home_ou.billing_address.street2; ctx.user.home_ou.billing_address.street2 _ "<br/>"; END %]
125                     [% ctx.user.home_ou.billing_address.city %], [% ctx.user.home_ou.billing_address.state %] 
126                     [% ctx.user.home_ou.billing_address.post_code %]<br/>
127                     <br/>
128
129                     [% IF ctx.user.home_ou.phone; ctx.user.home_ou.phone _ "<br/>"; END %]
130                     
131                     [% IF ctx.user.home_ou.email; ctx.user.home_ou.email _ "<br/>"; END %]
132                     [% lib_url = ctx.get_org_setting(ctx.user.home_ou.id, 'lib.info_url');
133                         IF lib_url;
134                             '<a href="'; lib_url | html; '" property="url">'; lib_url; '</a>';
135                         END;
136                     %]
137                 </td>                <td></td>
138             </tr>
139             <tr>
140                 <td class='color_4 light_border'>[% l("Account Creation Date") %]</td>
141                 <td class='light_border'>[% date.format(ctx.parse_datetime(ctx.user.create_date), DATE_FORMAT) %]</td>
142                 <td></td>
143             </tr>
144             <tr>
145                 <td class='color_4 light_border'>[% l("Account Expiration Date") %]</td>
146                 <td class='light_border'>
147                     [%- IF date.format(ctx.parse_datetime(ctx.user.expire_date), '%s') < date.format(date.now , '%s'); -%]
148                         <span class="danger">[% date.format(ctx.parse_datetime(ctx.user.expire_date), DATE_FORMAT) %]</span>
149                     [% ELSE %]
150                         [% date.format(ctx.parse_datetime(ctx.user.expire_date), DATE_FORMAT) %]
151                     [% END %]
152                 </td>
153                 <td></td>
154             </tr>
155             <tr>
156                 <td colspan="3">
157                  [%- INCLUDE "opac/parts/locale_picker.tt2" %]
158                 </td>
159             </tr>
160             
161         </tbody>
162     </table>
163     
164     <br />
165     <hr />
166     <br />
167     
168         <div class="header_middle mb-3">
169         <span>Addresses</span>
170     </div>
171
172 <div class="row">
173             [% 
174                 # cycle through the non-pending address.  For each non-pending addr
175                 # that has a corresponding pending addr, render the pending addr 
176                 # along the right inside it's own edit form
177                 pending = {};
178                 regular = [];
179                 edit_addr_id = CGI.param('edit_address');
180                 FOR addr IN ctx.user.addresses;
181                     IF addr.pending == 't';
182                         replaces = addr.replaces;
183                         pending.$replaces = addr;
184                     ELSE;
185                         regular.push(addr);
186                     END;
187                 END;
188             FOR addr IN regular;
189                 cur_id = addr.id; 
190                 pending_addr = pending.$cur_id;
191             %]
192     <div class="col-lg-6 col-12">
193         <table class='table' title="[% l('Addresses') %]">
194        
195             <tbody>
196             <tr>
197               <td>
198                 <!-- pending address form -->
199                 [% IF pending_addr OR edit_addr_id == cur_id;
200                     update_addr = pending_addr || addr %]
201               
202                     <form method='post'>
203                         [% IF pending_addr %]
204                             <input type='hidden' name='pending_addr' value='[% pending_addr.id %]'/>
205                         [% ELSE %]
206                             <input type='hidden' name='replace_addr' value='[% edit_addr_id | html %]'/>
207                         [% END %]
208                         <table class='pending-addr table' title="[% l('Pending Addresses') %]">
209                         <tr><td colspan="2"><h5 class="text-center">Pending Address Change</h5></td></tr>
210                         [% addr_fields = [
211                             {label => l("Address Type"), name => 'address_type', value => update_addr.address_type},
212                             {label => l("Street"), name => 'street1', value => update_addr.street1},
213                             {label => l("Street"), name => 'street2', value => update_addr.street2},
214                             {label => l("City"), name => 'city', value => update_addr.city},
215                             {label => l("County"), name => 'county', value => update_addr.county},
216                             {label => l("State"), name => 'state', value => update_addr.state},
217                             {label => l("Country"), name => 'country', value => update_addr.country},
218                             {label => l("ZIP"), name => 'post_code', value => update_addr.post_code},
219                         ];
220                         FOR field IN addr_fields %]
221                         
222                             <tr>
223                                 
224                                 <td><label for="addr-form-[% field.name %]">[% field.label %]</label></td>
225                                 <td><input name="[% field.name %]" 
226                                     id="addr-form-[% field.name %]"
227                                     value="[% field.value | html %]" class="form-control">
228                                 </td>
229                             </tr>
230                         [% END %]
231                             <tr>
232                                 <td><button type='submit' class="btn btn-confirm "><i class="fas fa-save"></i> [% l('Save Changes') %]
233
234  </button></td>
235                                 <td>
236                                     [% params = (pending_addr) ? {delete_pending => pending_addr.id} : {} %]
237                                     <a href="[% mkurl('', params, 1) %]" class="btn btn-deny "><i class="fas fa-trash-alt"></i> [% l('Discard Pending Address') %]</a>
238                                 </td>
239                             </tr>
240                             <tr><td colspan='2'><i>[% l('This address has a pending change.') %]</i></td></tr>
241                             <tr><td colspan='2'><i>[% l('Address changes will be verified by staff') %]</i></td></tr>
242                         </table>
243                     </form>
244                 </td>
245                  [% ELSE %]
246                 <td>
247                                 
248                     <!-- read-only address display -->
249                     <table class='table' title="[% l('Active Addresses') %]">
250                         <tr><td>[% l("Address Type") %]</td><td>[% addr.address_type | html %]</td></tr>
251                         <tr><td>[% l("Street") %]</td><td>[% addr.street1 | html %]</td></tr>
252                         <tr><td>[% l("Street") %]</td><td>[% addr.street2 | html %]</td></tr>
253                         <tr><td>[% l("City") %]</td><td>[% addr.city | html %]</td></tr>
254                         <tr><td>[% l("County") %]</td><td>[% addr.county| html  %]</td></tr>
255                         <tr><td>[% l("State") %]</td><td>[% addr.state | html %]</td></tr>
256                         <tr><td>[% l("Country") %]</td><td>[% addr.country | html %]</td></tr>
257                         <tr><td>[% l("Zip") %]</td><td>[% addr.post_code | html %]</td></tr>
258                         [% IF ctx.get_org_setting(ctx.user.home_ou.id, 'opac.allow_pending_address') 
259                                 AND !pending_addr AND edit_addr_id != cur_id %]
260                         <tr><td colspan='2'><a class="btn btn-action" href='?edit_address=[% addr.id %]'><i class="fas fa-edit"></i> [% l('Edit Address') %]</a></td></tr>
261                         [% END %]
262                     </table>
263                  
264                  </td>
265                 [% END %] 
266                 </tr>
267             </tbody>
268         </table>
269      </div></div>
270             [% END %]
271        
272     
273
274 [% END %]