1 [% PROCESS "opac/parts/header.tt2";
2 WRAPPER "opac/parts/myopac/base.tt2";
6 can_call_action_trigger = 'true' %]
8 <h3>[% l('Account Information and Preferences') %]</h3>
9 <div id="acct_info_main">
10 <table title="[% l('Account preference') %]" class='light_border table table-hover'>
11 <tbody id='myopac_summary_tbody'>
12 [% IF ctx.user.pref_first_given_name || ctx.user.pref_second_given_name || ctx.user.pref_family_name %]
14 <td class='color_4 light_border'>[% l("Preferred Name") %]</td>
16 <td class='light_border'>[% l(
19 (ctx.user.pref_first_given_name || ctx.user.first_given_name),
20 ctx.user.pref_second_given_name,
21 (ctx.user.pref_family_name || ctx.user.family_name),
29 <td class='color_4 light_border'>[% l("Legal Name") %]</td>
31 <td class='light_border'>[% l(
34 ctx.user.first_given_name,
35 ctx.user.second_given_name,
44 <td class='color_4 light_border'>[% l("Day Phone") %]</td>
45 <td class='light_border'>[% ctx.user.day_phone | html %]</td>
50 <td class='color_4 light_border'>[% l("Evening Phone") %]</td>
51 <td class='light_border'>[% ctx.user.evening_phone | html %]</td>
56 <td class='color_4 light_border'>[% l("Other Phone") %]</td>
57 <td class='light_border'>[% ctx.user.other_phone | html %]</td>
62 <td class='color_4 light_border'>
63 <div style="position:absolute">
64 </div>[% l("Username") %]
66 <td class='light_border'>[% ctx.user.usrname | html %]</td>
67 [%- IF ctx.username_change_disallowed %]
70 <td class='light_border'><a class="btn btn-sm btn-action" href='update_username'
71 title="[% l('Change Username') %]"><i class="fas fa-user-cog"></i> [% l("Change") %]</a></td>
75 <td class='color_4 light_border'>[% l("Password") %]</td>
76 <td class='light_border'>[% l("(not shown)") %]</td>
78 [%- IF disable_password_change == 'true' %]
81 <span class='light_border'><a class="btn btn-sm btn-action" href='update_password'
82 title="[% l('Change Password') %]"><i class="fas fa-user-cog"></i> [% l("Change") %]</a></span>
87 <td class='color_4 light_border'>[% l("Email Address") %]</td>
88 <td class='light_border'>[% ctx.user.email | html %]</td>
90 [%- IF disable_email_change == 'true' %]
93 <span class='light_border'><a class="btn btn-sm btn-action" href='update_email'
94 title="[% l('Update Email Address') %]"><i class="fas fa-user-cog"></i> [% l('Change') %]</a></span>
96 [%- IF ctx.user.email %]
97 <span class='light_border'>
98 <a href="#" class="btn btn-sm btn-action" onclick="sendTestEmail(
99 [% ctx.user.id %], '[% ctx.authtoken %]')"
100 title="[% l('Send Test Email') %]">
101 <i class="fas fa-envelope"></i> [% l('Send Test Email') %]
107 <tr id="test_notification_banner" style="display:none">
110 [% INCLUDE "opac/myopac/test_notification.tt2" message_type = "email" %]
114 [% IF ctx.user.ident_value %]<tr class="hide_me">
115 <td class='color_4 light_border'>
116 [% l("Primary Identification") %]</td>
118 <td class='light_border'>
120 # l('[_1] ([_2])', ctx.user.ident_value, ctx.user.ident_type.name) | html
121 # XXX uncomment the above line to show primary
122 # identification. With a minor tweak it could
123 # alternatively be shown but partially obscured.
130 <td class='color_4 light_border'>[% l("Active Barcode") %]</td>
131 <td class='light_border'>[% ctx.user.card.barcode %]</td>
136 <td class='color_4 light_border'>[% l("Preferred Language") %]</td>
137 <td class='light_border'>[% ctx.user.locale.name | html %]</td>
139 <span class='light_border'><a class="btn btn-sm btn-action" href='update_locale'
140 title="[% l('Update Preferred Language') %]"><i class="fas fa-user-cog"></i> [% l('Change') %]</a></span>
145 <td class='color_4 light_border'>[% l("Home Library") %]</td>
146 <td class='light_border'>
147 [% ctx.get_aou(ctx.user.home_ou.parent_ou).name %]<br/>
148 [% ctx.user.home_ou.name | html %]<br/>
149 [% ctx.user.home_ou.billing_address.street1 %]<br/>
150 [% IF ctx.user.home_ou.billing_address.street2; ctx.user.home_ou.billing_address.street2 _ "<br/>"; END %]
151 [% ctx.user.home_ou.billing_address.city %], [% ctx.user.home_ou.billing_address.state %]
152 [% ctx.user.home_ou.billing_address.post_code %]<br/>
155 [% IF ctx.user.home_ou.phone; ctx.user.home_ou.phone _ "<br/>"; END %]
157 [% IF ctx.user.home_ou.email; ctx.user.home_ou.email _ "<br/>"; END %]
158 [% lib_url = ctx.get_org_setting(ctx.user.home_ou.id, 'lib.info_url');
160 '<a href="'; lib_url | html; '" property="url">'; lib_url; '</a>';
166 <td class='color_4 light_border'>[% l("Account Creation Date") %]</td>
167 <td class='light_border'>[% date.format(ctx.parse_datetime(ctx.user.create_date), DATE_FORMAT) %]</td>
171 <td class='color_4 light_border'>[% l("Account Expiration Date") %]</td>
172 <td class='light_border'>
173 [%- IF date.format(ctx.parse_datetime(ctx.user.expire_date), '%s') < date.format(date.now , '%s'); -%]
174 <span class="danger">[% date.format(ctx.parse_datetime(ctx.user.expire_date), DATE_FORMAT) %]</span>
176 [% date.format(ctx.parse_datetime(ctx.user.expire_date), DATE_FORMAT) %]
181 [% IF ctx.user.stat_cat_entries.size;
182 FOR statcat IN ctx.user.stat_cat_entries;
183 IF statcat.stat_cat.opac_visible == 't'; %]
185 <td class='color_4 light_border'>[% statcat.stat_cat.name %]</td>
186 <td class='light_border' colspan='2'>[% statcat.stat_cat_entry %]</td>
198 <div class="header_middle mb-3">
199 <span>Addresses</span>
204 # cycle through the non-pending address. For each non-pending addr
205 # that has a corresponding pending addr, render the pending addr
206 # along the right inside it's own edit form
209 edit_addr_id = CGI.param('edit_address');
210 FOR addr IN ctx.user.addresses;
211 IF addr.pending == 't';
212 replaces = addr.replaces;
213 pending.$replaces = addr;
220 pending_addr = pending.$cur_id;
222 <div class="col-lg-6 col-12">
223 <table class='table' title="[% l('Addresses') %]">
227 <!-- pending address form -->
228 [% IF pending_addr OR edit_addr_id == cur_id;
229 update_addr = pending_addr || addr %]
233 [% IF pending_addr %]
234 <input type='hidden' name='pending_addr' value='[% pending_addr.id %]'/>
236 <input type='hidden' name='replace_addr' value='[% edit_addr_id | html %]'/>
238 <table class='pending-addr table' title="[% l('Pending Addresses') %]">
239 <tr><td colspan="2"><h5 class="text-center">Pending Address Change</h5></td></tr>
241 {label => l("Address Type"), name => 'address_type', value => update_addr.address_type},
242 {label => l("Street"), name => 'street1', value => update_addr.street1},
243 {label => l("Street"), name => 'street2', value => update_addr.street2},
244 {label => l("City"), name => 'city', value => update_addr.city},
245 {label => l("County"), name => 'county', value => update_addr.county},
246 {label => l("State"), name => 'state', value => update_addr.state},
247 {label => l("Country"), name => 'country', value => update_addr.country},
248 {label => l("ZIP"), name => 'post_code', value => update_addr.post_code},
250 FOR field IN addr_fields %]
254 <td><label for="addr-form-[% field.name %]">[% field.label %]</label></td>
255 <td><input name="[% field.name %]"
256 id="addr-form-[% field.name %]"
257 value="[% field.value | html %]" class="form-control">
262 <td><button type='submit' class="btn btn-confirm "><i class="fas fa-save"></i> [% l('Save Changes') %]
266 [% params = (pending_addr) ? {delete_pending => pending_addr.id} : {} %]
267 <a href="[% mkurl('', params, 1) %]" class="btn btn-deny "><i class="fas fa-trash-alt"></i> [% l('Discard Pending Address') %]</a>
270 <tr><td colspan='2'><i>[% l('This address has a pending change.') %]</i></td></tr>
271 <tr><td colspan='2'><i>[% l('Address changes will be verified by staff') %]</i></td></tr>
278 <!-- read-only address display -->
279 <table class='table table-hover light_border' title="[% l('Active Addresses') %]">
280 <tr><td class='color_4'>[% l("Address Type") %]</td><td>[% addr.address_type | html %]</td></tr>
281 <tr><td class='color_4'>[% l("Street") %]</td><td>[% addr.street1 | html %]</td></tr>
282 <tr><td class='color_4'>[% l("Street") %]</td><td>[% addr.street2 | html %]</td></tr>
283 <tr><td class='color_4'>[% l("City") %]</td><td>[% addr.city | html %]</td></tr>
284 <tr><td class='color_4'>[% l("County") %]</td><td>[% addr.county| html %]</td></tr>
285 <tr><td class='color_4'>[% l("State") %]</td><td>[% addr.state | html %]</td></tr>
286 <tr><td class='color_4'>[% l("Country") %]</td><td>[% addr.country | html %]</td></tr>
287 <tr><td class='color_4'>[% l("Zip") %]</td><td>[% addr.post_code | html %]</td></tr>
288 [% IF ctx.get_org_setting(ctx.user.home_ou.id, 'opac.allow_pending_address')
289 AND !pending_addr AND edit_addr_id != cur_id %]
290 <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>