Bug 22990: Add CSRF protection to boraccount, pay and suggestion
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / members / moremember.tt
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE Context %]
4 [% USE Koha %]
5 [% USE Branches %]
6 [% USE ItemTypes %]
7 [% USE KohaDates %]
8 [% USE AuthorisedValues %]
9 [% USE TablesSettings %]
10 [% USE Price %]
11 [% PROCESS 'member-display-address-style.inc' %]
12 [% PROCESS 'member-display-alt-address-style.inc' %]
13 [% SET footerjs = 1 %]
14 [% INCLUDE 'doc-head-open.inc' %]
15 [% Asset.css("lib/jquery/plugins/rowGroup/stylesheets/rowGroup.dataTables.min.css") | $raw %]
16 <title>
17     [% UNLESS blocking_error %]
18         Patron details for [% INCLUDE 'patron-title.inc' no_html = 1 %]
19     [% END %] &rsaquo; Patrons &rsaquo; Koha
20 </title>
21 [% INCLUDE 'doc-head-close.inc' %]
22 </head>
23
24 <body id="pat_moremember" class="pat">
25     [% WRAPPER 'header.inc' %]
26         [% INCLUDE 'patron-search-header.inc' %]
27     [% END %]
28
29     [% WRAPPER 'sub-header.inc' %]
30         [% WRAPPER breadcrumbs %]
31             [% WRAPPER breadcrumb_item %]
32                 <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
33             [% END %]
34             [% UNLESS blocking_error %]
35                 [% WRAPPER breadcrumb_item %]
36                     <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">
37                         [% INCLUDE 'patron-title.inc' %]
38                     </a>
39                 [% END %]
40                 [% WRAPPER breadcrumb_item bc_active= 1 %]
41                     <span>Details</span>
42                 [% END %]
43             [% END %]
44         [% END #/ WRAPPER breadcrumbs %]
45     [% END #/ WRAPPER sub-header.inc %]
46
47     <div class="main container-fluid">
48         <div class="row">
49             <div class="col-sm-10 col-sm-push-2">
50                 <main>
51
52
53                     [% INCLUDE 'members-toolbar.inc' %]
54
55                     [% IF ( error ) %]
56                         <div class="dialog alert">
57                             [% IF ( error == 'CANT_DELETE_STAFF' ) %]
58                                 <h3>Unable to delete staff user</h3>
59                                 <p>Insufficient privileges.</p>
60                             [% END %]
61                             [% IF ( error == 'CANT_DELETE_YOURSELF' ) %]
62                                 <h3>Not allowed to delete own account</h3>
63                                 <p>Deleting your own account would lock you out of Koha.</p>
64                             [% END %]
65                             [% IF ( error == 'CANT_DELETE_OTHERLIBRARY' ) %]
66                                 <h3>Unable to delete patrons from other libraries with current settings</h3>
67                                 <p>Insufficient privileges.</p>
68                             [% END %]
69                             [% IF ( error == 'CANT_DELETE_ANONYMOUS_PATRON' ) %]
70                                 <h3>Unable to delete patron that is set as AnonymousPatron</h3>
71                                 <p>This patron cannot be deleted while set as AnonymousPatron in the system preferences.</p>
72                             [% END %]
73                             [% IF ( error == 'CANT_DELETE' ) %]
74                                 <h3>Unable to delete patron</h3>
75                                 <p>Insufficient privileges.</p>
76                             [% END %]
77                         </div>
78                     [% END %]
79
80                     <div class="row">
81
82                         [% IF ( was_renewed ) %]
83                             <div class="dialog message">
84                                 Patron's account has been renewed until [% patron.dateexpiry | $KohaDates %]
85                             </div>
86                         [% END %]
87
88                         [% messages = INCLUDE 'patron_messages.inc' moremember = 1 | trim %]
89                         [% IF messages %]
90                             <div class="col-sm-12">
91                                 <div id="patron_messages" class="circmessage attention">
92                                     [% messages | $raw %]
93                                 </div>
94                             </div>
95                         [% END %]
96
97                         <div class="col-sm-12">
98                             <h1>[% INCLUDE 'patron-title.inc' no_html = 1 %]</h1>
99
100                             [% IF patron.pronouns %]
101                                 <div class="patronpronouns">([% patron.pronouns | html %])</div>
102                             [% END %]
103                         </div>
104
105                         <div class="col-sm-6">
106
107                             <div id="patron-information" class="patroninfo-section">
108
109                                 <div class="patroninfo-heading">
110                                     <h3>Contact information</h3>
111                                     [% IF ( guarantor.borrowernumber ) %]
112                                         <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=1&amp;guarantorid=[% guarantor.borrowernumber | html %]"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
113                                     [% ELSE %]
114                                         <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=1"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
115                                     [% END %]
116                                 </div>
117
118                                 [% IF ( patron.othernames ) %]<div>&ldquo;[% patron.othernames | html %]&rdquo;</div>[% END %]
119
120                                 <div class="address">
121                                     <ul>
122                                         [% PROCESS 'display-address-style' %]
123                                     </ul>
124                                 </div>
125
126                                 <div class="rows">
127                                     <ol>
128                                         [% IF ( patron.phone ) %]
129                                             <li>
130                                                 <span class="label">Primary phone: </span>
131                                                 <a href="tel:[% patron.phone | uri %]">[% patron.phone | html %]</a>
132                                             </li>
133                                         [% END %]
134                                         [% IF ( patron.phonepro ) %]
135                                             <li>
136                                                 <span class="label">Secondary phone: </span>
137                                                 <a href="tel:[% patron.phonepro | uri %]">[% patron.phonepro | html %]</a>
138                                             </li>
139                                         [% END %]
140                                         [% IF ( patron.mobile ) %]
141                                             <li>
142                                                 <span class="label">Other phone: </span>
143                                                 <a href="tel:[% patron.mobile | uri %]">[% patron.mobile | html %]</a>
144                                             </li>
145                                         [% END %]
146                                         [% IF ( patron.fax ) %]
147                                             <li>
148                                                 <span class="label">Fax: </span>
149                                                 [% patron.fax | html %]
150                                             </li>
151                                         [% END %]
152                                         [% IF ( patron.email ) %]
153                                             <li class="email">
154                                                 <span class="label">Primary email:</span>
155                                                 <a title="[% patron.email | html %]" href="mailto:[% patron.email | url %]">[% patron.email | html %]</a>
156                                             </li>
157                                         [% END %]
158                                         [% IF ( patron.emailpro ) %]
159                                             <li class="email">
160                                                 <span class="label">Secondary email: </span>
161                                                 <a title="[% patron.emailpro | html %]" href="mailto:[% patron.emailpro | url %]">[% patron.emailpro | html %]</a>
162                                             </li>
163                                         [% END %]
164                                         [% UNLESS ( I ) %]
165                                             [% IF ( patron.initials ) %]
166                                                 <li>
167                                                     <span class="label">Initials: </span>
168                                                     [% patron.initials | html %]
169                                                 </li>
170                                             [% END %]
171                                             [% IF ( patron.dateofbirth ) %]
172                                                 <li>
173                                                     <span class="label">Date of birth:</span>
174                                                     [% INCLUDE 'patron-age.inc' %]
175                                                 </li>
176                                             [% END %]
177                                             [% IF ( patron.sex ) %]
178                                                 <li>
179                                                     <span class="label">Gender:</span>
180                                                     [% IF ( patron.sex == 'F' ) %]<span class="patronsex-female">Female</span>[% ELSIF ( patron.sex == 'M' ) %]<span class="patronsex-male">Male</span>[% ELSIF (patron.sex == 'O' ) %]<span class="patronsex-other">Other</span>[% ELSE %][% patron.sex | html %][% END %]
181                                                 </li>
182                                             [% END %]
183                                         [% END %]
184                                          <li id="patron-privacyguarantor">
185                                             <span class="label">Show checkouts to guarantor:</span>
186                                             [% IF patron.privacy_guarantor_checkouts %]
187                                                 Yes
188                                             [% ELSE %]
189                                                 No
190                                             [% END %]
191                                         </li>
192
193                                         <li id="patron-privacy_guarantor_fines">
194                                             <span class="label">Show charges to guarantor:</span>
195                                             [% IF patron.privacy_guarantor_fines %]
196                                                 Yes
197                                             [% ELSE %]
198                                                 No
199                                             [% END %]
200                                         </li>
201
202                                         [% IF guarantees %]
203                                             <li>
204                                                 <span class="label">Guarantees:</span>
205                                                 <ul>
206                                                     [% IF guarantees_fines and guarantees_fines > 0 %]
207                                                         <li class="guarantees-fines">
208                                                             <span class="circ-hlt">Charges:</span>
209                                                             Patron's guarantees collectively owe [% guarantees_fines | $Price %].
210                                                             <a id="view_guarantees_finesandcharges" href="#guarantees_finesandcharges" >See all charges.</a>
211                                                         </li>
212                                                     [% END %]
213                                                     [% FOREACH guarantee IN guarantees %]
214                                                         [% IF logged_in_user.can_see_patron_infos( guarantee ) %]
215                                                             <li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% guarantee.borrowernumber | uri %]">[% guarantee.firstname | html %] [% guarantee.surname | html %]</a></li>
216                                                         [% ELSE %]
217                                                             <li>[% guarantee.firstname | html %] [% guarantee.surname | html %]</li>
218                                                         [% END %]
219                                                     [% END %]
220                                                 </ul>
221                                             </li>
222                                         [% ELSIF guarantor_relationships.count > 0 OR ( patron.contactfirstname OR patron.contactname ) %]
223                                                 <li>
224                                                 [% IF guarantor_relationships.count > 1 OR guarantor_relationships.count == 0 AND ( patron.contactfirstname OR patron.contactname ) %]
225                                                     <span class="label">Guarantors:</span>
226                                                 [% ELSE %]
227                                                     <span class="label">Guarantor:</span>
228                                                 [% END %]
229                                                     <ul>
230                                                     [% FOREACH gr IN guarantor_relationships %]
231                                                         [% SET guarantor = gr.guarantor %]
232                                                         [% IF logged_in_user.can_see_patron_infos( guarantor ) %]
233                                                             <li><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% guarantor.id | uri %]">[% guarantor.firstname | html %] [% guarantor.surname | html %][% IF gr.relationship %] ([% gr.relationship | html %])[% END %]</a></li>
234                                                         [% END %]
235                                                     [% END %]
236                                                     [% IF patron.contactfirstname OR patron.contactname %]
237                                                         <li>[% patron.contactfirstname | html %] [% patron.contactname | html %][% IF patron.relationship %] ([% patron.relationship | html %])[% END %]</li>
238                                                     [% END %]
239                                                     </ul>
240                                                 </li>
241                                         [% END %]
242
243                                         [% IF ( patron.primary_contact_method ) %]
244                                             <li>
245                                                 <span class="label">Main contact method: </span>
246                                                 [% SWITCH patron.primary_contact_method %]
247                                                     [% CASE 'phone' %]
248                                                         <span>Primary phone</span>
249                                                     [% CASE 'phonepro' %]
250                                                         <span>Secondary phone</span>
251                                                     [% CASE 'mobile' %]
252                                                         <span>Other phone</span>
253                                                     [% CASE 'email' %]
254                                                         <span>Primary email</span>
255                                                     [% CASE 'emailpro' %]
256                                                         <span>Secondary email</span>
257                                                     [% CASE 'fax' %]
258                                                         <span>Fax</span>
259                                                 [% END %]
260                                             </li>
261                                         [% END %]
262                                     </ol>
263                                 </div> [% # /div.rows %]
264                             </div> [% # /div#patron-information %]
265
266                             [% IF Koha.Preference('HouseboundModule') %]
267                                 <div id="houseboundroles" class="patroninfo-section">
268                                     [% IF ( housebound_role.housebound_chooser == 1 OR housebound_role.housebound_deliverer == 1 ) %]
269                                         <div class="patroninfo-heading">
270                                             <h3>Housebound roles</h3>
271                                             <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=7"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
272                                         </div>
273                                         <div class="rows">
274                                             <ol>
275                                                 <li>
276                                                     <span class="label">Chooser:</span>
277                                                     [% IF ( housebound_role.housebound_chooser == 1 ) %]
278                                                         Yes
279                                                     [% ELSE %]
280                                                         No
281                                                     [% END %]
282                                                 </li>
283                                                 <li>
284                                                     <span class="label">Deliverer:</span>
285                                                     [% IF ( housebound_role.housebound_deliverer == 1 ) %]
286                                                         Yes
287                                                     [% ELSE %]
288                                                         No
289                                                     [% END %]
290                                                 </li>
291                                             </ol>
292                                         </div>
293                                     [% ELSE %]
294                                         <div class="patroninfo-heading">
295                                             <h3>Housebound roles</h3>
296                                             <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=7"><i class="fa fa-plus"></i> Add</a>
297                                         </div>
298                                     [% END %]
299                                 </div> [% #/ div#houseboundroles %]
300                             [% END %]
301
302                             [% IF Koha.Preference('ExtendedPatronAttributes') %]
303                                 [% UNLESS ( no_patron_attribute_types ) %]
304                                     <div id="patron-extended-attributes" class="patroninfo-section">
305                                         [% IF ( attributes_loop ) %]
306                                             <div class="patroninfo-heading">
307                                                 <h3>Additional attributes and identifiers</h3>
308                                                 <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=4"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
309                                             </div>
310                                             [% FOREACH attribute IN attributes_loop %]
311                                                 [% IF attribute.class %]
312                                                     <div id="aai_[% attribute.class | html %]" class="rows">
313                                                 [% ELSE %]
314                                                     <div id="aai" class="rows">
315                                                 [% END %]
316                                                     <h4>[% attribute.lib | html %]</h4>
317                                                     <ol>
318                                                         [% FOREACH item IN attribute.items %]
319                                                             <li data-pa_code="[% item.type.code | replace('[^a-zA-Z0-9_-]', '') %]">
320                                                                 <span class="label">[% item.type.description | html %]: </span>
321                                                                 [% item.description | html_line_break %]
322                                                             </li>
323                                                         [% END %]
324                                                     </ol>
325                                                 </div>
326                                             [% END %]
327                                             <div class="action">
328                                             </div>
329                                         [% ELSE %]
330                                             <div class="patroninfo-heading">
331                                                 <h3>Additional attributes and identifiers</h3>
332                                                 <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=4"><i class="fa fa-plus"></i> Add</a>
333                                             </div>
334                                         [% END %]
335                                     </div> [% # /div#patron-extended-attributes %]
336                                 [% END %]
337                             [% END %]
338
339                             [% IF ( EnhancedMessagingPreferences ) %]
340                                 <div id="patron-messaging-prefs" class="patroninfo-section">
341                                     <div class="patroninfo-heading">
342                                         <h3>Patron messaging preferences</h3>
343                                         <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=5"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
344                                     </div>
345                                     [% INCLUDE 'messaging-preference-form.inc' %]
346                                     [% IF Koha.Preference('SMSSendDriver') %]
347                                         <div class="rows">
348                                             <ol>
349                                                 <li>
350                                                     <span class="label">SMS number:</span>
351                                                     <a href="sms:[% patron.smsalertnumber | uri %]">[% patron.smsalertnumber | html %]</a>
352                                                 </li>
353                                                 [% IF Koha.Preference( 'SMSSendDriver') == 'Email' %]
354                                                 <li>
355                                                     <span class="label">SMS provider:</span>
356                                                     [% patron.sms_provider.name | html %]
357                                                 </li>
358                                                 [% END %]
359                                             </ol>
360                                         </div>
361                                     [% END %]
362                                 </div> [% # /div#patron-messaging-prefs %]
363                             [% END %]
364
365                         </div> <!-- /.col-sm-6 -->
366
367                         <div class="col-sm-6">
368                             <div id="patron-library-details" class="patroninfo-section">
369                                 <div class="patroninfo-heading">
370                                     <h3>Library use</h3>
371                                     <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=3"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
372                                 </div>
373                                 <div class="rows">
374                                     <ol>
375                                         <li id="patron-cardnumber">
376                                             <span class="label">Card number: </span>
377                                             [% patron.cardnumber | html %]
378                                         </li>
379                                         <li id="patron-borrowernumber">
380                                             <span class="label">Borrowernumber: </span>
381                                             [% patron.borrowernumber | html %]
382                                         </li>
383                                         <li id="patron-categorydescription">
384                                             <span class="label">Category: </span>
385                                             [% patron.category.description | html %] ([% patron.categorycode | html %])
386                                         </li>
387                                         <li id="patron-dateenrolled">
388                                             <span class="label">Registration date: </span>
389                                             [% patron.dateenrolled | $KohaDates %]
390                                         </li>
391
392                                         [% IF ( patron.date_renewed ) %]
393                                             <li id="patron-daterenewed">
394                                                 <span class="label">Renewal date: </span>
395                                                 [% patron.date_renewed | $KohaDates %]
396                                             </li>
397                                         [% END %]
398
399                                         <li id="patron-expirationdate">
400                                             <span class="label">Expiration date: </span>
401                                             [% IF ( was_renewed ) %]
402                                                 <strong class="reregistrinfo">[% patron.dateexpiry | $KohaDates %]</strong>
403                                             [% ELSIF ( patron.is_expired ) %]
404                                                 <span class="blocker">
405                                                     [% patron.dateexpiry | $KohaDates %]
406                                                     <strong><em>Expired</em></strong>
407                                                     <a href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% patron.borrowernumber | uri %]&amp;reregistration=y">Renew</a> or <a href="/cgi-bin/koha/members/memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]">Edit details</a>
408                                                 </span>
409                                             [% ELSIF ( patron.is_going_to_expire ) %]
410                                                 [% patron.dateexpiry | $KohaDates %]
411                                                 <strong><em>Patron expires soon</em></strong>
412                                                 <a href="/cgi-bin/koha/members/setstatus.pl?borrowernumber=[% patron.borrowernumber | uri %]&amp;reregistration=y">Renew</a> or <a href="/cgi-bin/koha/members/memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]">Edit details</a>
413                                             [% ELSE %]
414                                                 [% patron.dateexpiry | $KohaDates %]
415                                             [% END %]
416                                         </li>
417                                         <li id="patron-branchname">
418                                             <span class="label">Library: </span>
419                                             [% Branches.GetName( patron.branchcode ) | html %]
420                                         </li>
421
422                                         [% IF Koha.Preference( 'OPACPrivacy') %]
423                                             <li id="patron-privacypref">
424                                                 <span class="label">Privacy pref:</span>
425                                                     [% IF ( patron.privacy == 0 ) %]<span>Forever</span>[% END %]
426                                                     [% IF ( patron.privacy == 1 ) %]<span>Default</span>[% END %]
427                                                     [% IF ( patron.privacy == 2 ) %]<span>Never</span>[% END %]
428                                             </li>
429                                         [% END %]
430
431                                         [% IF ( patron.sort1 ) %]
432                                             <li id="patron-sort1">
433                                                 <span class="label">Sort field 1:</span>
434                                                 [% AuthorisedValues.GetByCode('Bsort1', patron.sort1) | html %]
435                                             </li>
436                                         [% END %]
437                                         [% IF ( patron.sort2 ) %]
438                                             <li id="patron-sort2">
439                                                 <span class="label">Sort field 2:</span>
440                                                 [% AuthorisedValues.GetByCode('Bsort2', patron.sort2) | html %]
441                                             </li>
442                                         [% END %]
443                                         [% UNLESS ( patron.autorenew_checkouts ) %]
444                                             <li id="patron-autorenew_checkouts">
445                                                 <span class="label">Auto-renewal:</span>
446                                                 Patron has opted out
447                                             </li>
448                                         [% END %]
449                                         <li id="patron-username">
450                                             <span class="label">Username: </span>
451                                             [% patron.userid | html %]
452                                         </li>
453                                         <li id="patron-password">
454                                             <span class="label">Password: </span>
455                                             [% IF ( patron.password ) %]
456                                                 *******
457                                             [% ELSE %]
458                                                 <i class="fa fa-exclamation-circle problem" aria-hidden="true"></i> <a href="/cgi-bin/koha/members/member-password.pl?member=[% patron.borrowernumber | uri %]">Undefined</a>
459                                             [% END %]
460                                         </li>
461                                         [% IF CAN_user_superlibrarian %]
462                                             <li id="patron-password_expiration_date">
463                                                 <span class="label">Password expires:</span>
464                                                 [% IF ( patron.password_expiration_date ) %]
465                                                     [% patron.password_expiration_date | $KohaDates %]
466                                                 [% ELSE %]
467                                                     <span>Never</span>
468                                                 [% END %]
469                                             </li>
470                                         [% END %]
471
472                                         [% IF ( patron.borrowernotes ) %]
473                                             <li id="patron-borrowernotes">
474                                                 <span class="label">Circulation note: </span><br />
475                                                 [% patron.borrowernotes | $raw | html_line_break %]
476                                             </li>
477                                         [% END %]
478
479                                         [% IF ( patron.opacnote ) %]
480                                             <li id="patron-opacnote">
481                                                 <span class="label">OPAC note:</span><br />
482                                                 [% patron.opacnote | html | html_line_break %]
483                                             </li>
484                                         [% END %]
485
486                                         [% IF ( Koha.Preference('CheckPrevCheckout') == 'softyes' || Koha.Preference('CheckPrevCheckout') == 'softno' ) %]
487                                             <li id="patron-checkprev">
488                                                 <span class="label">Check previous checkouts: </span>
489                                                 [% IF ( patron.checkprevcheckout == 'yes' ) %]
490                                                     <span>Yes</span>
491                                                 [% ELSIF ( patron.checkprevcheckout == 'no' ) %]
492                                                     <span>No</span>
493                                                 [% ELSE %]
494                                                     <span>Inherited</span>
495                                                 [% END %]
496                                             </li>
497                                         [% END %]
498
499                                         [% IF Koha.Preference('TranslateNotices') %]
500                                             <li id="patron-translatenotices">
501                                                 <span class="label">Preferred language for notices: </span>
502                                                 [% translated_language | html %]
503                                             </li>
504                                         [% END %]
505                                     </ol>
506                                 </div> [% # /div.rows %]
507                             </div> [% # /div#patron-library-details %]
508
509                             <div id="patron-alternate-address" class="patroninfo-section">
510                                 [% IF ( patron.B_phone || patron.B_email || patron.contactnote || patron.B_address || patron.B_address2 || patron.B_city || patron.B_zipcode || patron.B_country ) %]
511                                     <div class="patroninfo-heading">
512                                         <h3>Alternate address</h3>
513                                         <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=6"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
514                                     </div>
515                                     <div class="address">
516                                         <ul>
517                                             [% PROCESS 'display-alt-address-style' %]
518                                         </ul>
519                                     </div>
520                                     <div class="rows">
521                                         <ol>
522                                             [% IF ( patron.B_phone ) %]
523                                                 <li id="patron-bphone">
524                                                     <span class="label">Phone: </span>
525                                                     <a href="tel:[% patron.B_phone | uri %]">[% patron.B_phone |html  %]</a>
526                                                 </li>
527                                             [% END %]
528
529                                             [% IF ( patron.B_email ) %]
530                                                 <li id="patron-bemail" class="email">
531                                                     <span class="label">Email: </span>
532                                                     <a title="[% patron.B_email | html %]" href="mailto:[% patron.B_email | url %]">[% patron.B_email |html %]</a>
533                                                 </li>
534                                             [% END %]
535
536                                             [% IF ( patron.contactnote ) %]
537                                                 <li id="patron-contactnote">
538                                                     <span class="label">Contact note: </span>
539                                                     [% patron.contactnote |html %]
540                                                 </li>
541                                             [% END %]
542                                         </ol>
543                                     </div>
544                                 [% ELSE %]
545                                     <div class="patroninfo-heading">
546                                       <h3 class="inline">Alternate address</h3>
547                                         <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=6"><i class="fa fa-plus"></i> Add</a>
548                                     </div>
549                                 [% END %]
550                             </div> [% # /div#patron-alternate-address %]
551
552                             <div id="patron-alternative-contact" class="patroninfo-section">
553                                 [% IF ( patron.altcontactsurname || patron.altcontactfirstname || patron.altcontactaddress1 || patron.altcontactaddress2 || patron.altcontactaddress3 || patron.altcontactstate || patron.altcontactzipcode || patron.altcontactcountry || patron.altcontactphone ) %]
554                                     <div class="patroninfo-heading">
555                                         <h3>Alternative contact</h3>
556                                         <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=2"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
557                                     </div>
558                                     <div class="rows">
559                                         <ol>
560                                             [% IF ( patron.altcontactsurname ) %]
561                                                 <li id="patron-altcontactsurname">
562                                                     <span class="label">Surname: </span>
563                                                     [% patron.altcontactsurname | html %]
564                                                 </li>
565                                             [% END %]
566                                             [% IF ( patron.altcontactfirstname ) %]
567                                                 <li id="patron-altcontactfirstname">
568                                                     <span class="label">First name: </span>
569                                                     [% patron.altcontactfirstname | html %]
570                                                 </li>
571                                             [% END %]
572                                             [% IF ( patron.altcontactaddress1 ) %]
573                                                 <li id="patron-altcontactaddress1">
574                                                     <span class="label">Address: </span>
575                                                     [% patron.altcontactaddress1 | html %]
576                                                 </li>
577                                             [% END %]
578                                             [% IF ( patron.altcontactaddress2 ) %]
579                                                 <li id="patron-altcontactaddress2">
580                                                     <span class="label">Address 2: </span>
581                                                     [% patron.altcontactaddress2 | html %]
582                                                 </li>
583                                             [% END %]
584                                             [% IF ( patron.altcontactaddress3 ) %]
585                                                 <li id="patron-altcontactaddress3">
586                                                     <span class="label">City: </span>
587                                                     [% patron.altcontactaddress3 | html %]
588                                                 </li>
589                                             [% END %]
590
591                                             [% IF ( patron.altcontactstate ) %]
592                                                 <li id="patron-altcontactstate">
593                                                     <span class="label">State: </span>
594                                                     [% patron.altcontactstate | html %]
595                                                 </li>
596                                             [% END %]
597                                             [% IF ( patron.altcontactzipcode ) %]
598                                                 <li id="patron-altcontactzipcode">
599                                                     <span class="label">ZIP/Postal code: </span>
600                                                     [% patron.altcontactzipcode | html %]
601                                                 </li>
602                                             [% END %]
603                                             [% IF ( patron.altcontactcountry ) %]
604                                                 <li id="patron-altcontactcountry">
605                                                     <span class="label">Country: </span>
606                                                     [% patron.altcontactcountry | html %]
607                                                 </li>
608                                             [% END %]
609                                             [% IF ( patron.altcontactphone ) %]
610                                                 <li id="patron-altcontactphone">
611                                                     <span class="label">Phone: </span>
612                                                     <a href="tel:[% patron.altcontactphone | url %]">[% patron.altcontactphone | html %]</a>
613                                                 </li>
614                                             [% END %]
615                                         </ol>
616                                     </div> [% # /div.rows %]
617                                 [% ELSE %]
618                                     <div class="patroninfo-heading">
619                                         <h3>Alternative contact</h3>
620                                         <a class="btn btn-default btn-xs" href="memberentry.pl?op=modify&amp;borrowernumber=[% patron.borrowernumber | html %]&amp;step=2"><i class="fa fa-plus"></i> Add</a>
621                                     </div>
622                                 [% END %]
623                             </div> [% # /div#patron-alternative-contact %]
624
625                             [% IF Koha.Preference('EnableBorrowerFiles') %]
626                                 <div id="patron-files" class="patroninfo-section">
627                                     <div class="patroninfo-heading">
628                                         <h3>Files</h3>
629                                         <a class="btn btn-default btn-xs" href="/cgi-bin/koha/members/files.pl?borrowernumber=[% patron.borrowernumber | uri %]"><i class="fa fa-list"></i> Manage</a>
630
631                                         [% IF ( files ) %]
632                                             <div class="rows">
633                                                 <ol>
634                                                     [% FOREACH f IN files %]
635                                                         <li>
636                                                             <a href="/cgi-bin/koha/members/files.pl?borrowernumber=[% patron.borrowernumber | uri %]&amp;op=download&amp;file_id=[% f.file_id | uri %]">[% f.file_name | html %]</a>
637                                                             [% IF ( f.file_description ) %]
638                                                                 - [% f.file_description | html %]
639                                                             [% END %]
640                                                         </li>
641                                                     [% END # /FOREACH f %]
642                                                 </ol>
643                                             </div>
644                                         [% END # /IF files %]
645
646                                     </div> <!-- /.patroninfo-heading -->
647                                 </div> <!-- /#patron-files -->
648                             [% END # /IF EnableBorrowerFiles %]
649
650                         </div> <!-- /div.col-sm-6 -->
651                     </div> <!-- /div.row -->
652
653                     [% INCLUDE 'patron-detail-tabs.inc' patronpage = "borrower" %]
654
655                 </main>
656             </div> <!-- /.col-sm-10.col-sm-push-2 -->
657
658             <div class="col-sm-2 col-sm-pull-10">
659                 <aside>
660                     [% INCLUDE 'circ-menu.inc' %]
661                 </aside>
662             </div> <!-- /.col-sm-2.col-sm-pull-10 -->
663         </div> <!-- /.row -->
664
665         [% IF Koha.Preference('ClaimReturnedLostValue') %]
666             [% INCLUDE 'modals/resolve_return_claim.inc' %]
667         [% END %]
668
669 [% MACRO jsinclude BLOCK %]
670     [% INCLUDE 'datatables.inc' %]
671     [% Asset.js("lib/jquery/plugins/rowGroup/dataTables.rowGroup.min.js") | $raw %]
672     [% INCLUDE 'columns_settings.inc' %]
673     [% INCLUDE 'select2.inc' %]
674     [% PROCESS 'modal-claims-js' %]
675     <script>
676         /* Set some variable needed in circulation.js */
677         var logged_in_user_borrowernumber = "[% logged_in_user.borrowernumber | html %]";
678         var ClaimReturnedLostValue = "[% Koha.Preference('ClaimReturnedLostValue') | html %]";
679         var ClaimReturnedChargeFee = "[% Koha.Preference('ClaimReturnedChargeFee') | html %]";
680         var ClaimReturnedWarningThreshold = "[% Koha.Preference('ClaimReturnedWarningThreshold') | html %]";
681         var UnseenRenewals = "[% Koha.Preference('UnseenRenewals') | html %]";
682         var interface = "[% interface | html %]";
683         var theme = "[% theme | html %]";
684         var borrowernumber = "[% patron.borrowernumber | html %]";
685         var branchcode = "[% Branches.GetLoggedInBranchcode() | html %]";
686         var exports_enabled = "[% Koha.Preference('ExportCircHistory') | html %]";
687         var AllowCirculate = [% (CAN_user_circulate_circulate_remaining_permissions)? 1 : 0 | html %]
688         var AllowRenewalLimitOverride = [% (CAN_user_circulate_override_renewals && Koha.Preference('AllowRenewalLimitOverride') )? 1: 0 | html %];
689         var AllowRenewalOnHoldOverride = [% (CAN_user_circulate_override_renewals && Koha.Preference('AllowRenewalOnHoldOverride') )? 1: 0 | html %];
690         var script = "moremember";
691         var relatives_borrowernumbers = new Array();
692         [% FOREACH b IN relatives_borrowernumbers %]
693             relatives_borrowernumbers.push("[% b | html %]");
694         [% END %]
695         var SuspendHoldsIntranet = [% ( Koha.Preference('SuspendHoldsIntranet') ) ? 1 : 0 | html %];
696     </script>
697     [% Asset.js("js/pages/circulation.js") | $raw %]
698     [% Asset.js("js/checkouts.js") | $raw %]
699     [% IF Koha.Preference('ClaimReturnedLostValue') %]
700         [% Asset.js("js/resolve_claim_modal.js") | $raw %]
701     [% END %]
702     [% Asset.js("js/holds.js") | $raw %]
703     [% INCLUDE 'calendar.inc' %]
704     [% INCLUDE 'str/members-menu.inc' %]
705     [% Asset.js("js/members-menu.js") | $raw %]
706     [% Asset.js("js/recalls.js") | $raw %]
707     <script>
708         const LoadCheckoutsTableDelay = 0;
709
710         table_settings_issues_table = [% TablesSettings.GetTableSettings( 'members', 'moremember', 'issues-table', 'json' ) | $raw %]
711         table_settings_relatives_issues_table = [% TablesSettings.GetTableSettings( 'members', 'moremember', 'relatives-issues-table', 'json' ) | $raw %]
712
713         $(document).ready(function() {
714             $("#info_digests").tooltip();
715
716             $("#finesholdsissues a[data-toggle='tab']").on("shown.bs.tab", function(e){
717                 var oTable = $('div.dataTables_wrapper > table', $(e.target.hash) ).dataTable();
718                 if ( oTable.length > 0 ) {
719                     oTable.fnAdjustColumnSizing();
720                 }
721             });
722
723             $("#view_restrictions").on("click",function(){
724                 $('#reldebarments-tab').click();
725             });
726
727             $("#view_guarantees_finesandcharges").on("click",function(){
728                 $('#guarantees_finesandcharges-tab').click();
729             });
730
731          });
732         function uncheck_sibling(me){
733             nodename=me.getAttribute("name");
734             if (nodename =="barcodes[]"){
735                 var Node=me.parentNode.previousSibling;
736                 while (Node.nodeName!="TD"){Node=Node.previousSibling}
737                 var Nodes=Node.childNodes;
738                 for (var i=0;i < Nodes.length;i++){
739                     if (Nodes[i].nodeName=="INPUT" && Nodes[i].getAttribute("type")=="checkbox"){
740                         Nodes[i].checked=false;
741                     }
742                 }
743             } else {
744                 var Node=me.parentNode.nextSibling;
745                 while (Node.nodeName!="TD"){Node=Node.nextSibling}
746                 var Nodes=Node.childNodes;
747                 for (var i=0;i<Nodes.length;i++){
748                     if (Nodes[i].nodeName=="INPUT" && Nodes[i].getAttribute("type")=="checkbox"){
749                       Nodes[i].checked=false;
750                     }
751                }
752             }
753         }
754     </script>
755 [% END %]
756
757 [% INCLUDE 'intranet-bottom.inc' %]