Bug 15343 - Allow user to set password on opac-memberentry.pl
[koha.git] / koha-tmpl / opac-tmpl / bootstrap / en / modules / opac-memberentry.tt
1 [% USE Koha %]
2 [% USE KohaDates %]
3 [% SET userupdateview = 1 %]
4
5 [% INCLUDE 'doc-head-open.inc' %]
6     <title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog &rsaquo; [% IF action == 'edit' %]Update your personal details[% ELSE %]Register a new account[% END %]</title>
7 [% INCLUDE 'doc-head-close.inc' %]
8 [% BLOCK cssinclude %][% END %]
9 </head>
10
11 [% IF action == 'edit' %]
12 [% INCLUDE 'bodytag.inc' bodyid='opac-patron-update' %]
13 [% ELSE %]
14 <body id="opac-patron-registration" class="opac">
15 [% END %]
16 [% INCLUDE 'masthead.inc' %]
17
18 <div class="main">
19     <ul class="breadcrumb">
20         <li><a href="/cgi-bin/koha/opac-main.pl">Home</a> <span class="divider">&rsaquo;</span></li>
21         [% IF action == 'edit' %]
22             <li><a href="/cgi-bin/koha/opac-user.pl">[% borrower.firstname %] [% borrower.surname %]</a> <span class="divider">&rsaquo;</span></li>
23             <li><a href="#">Your personal details</a></li>
24         [% ELSE %]
25             <li><a href="#">Register a new account</a></li>
26         [% END %]
27     </ul>
28
29     <div class="container-fluid">
30         <div class="row-fluid">
31             <div class="span2">
32                 <div id="navigation">
33                     [% INCLUDE 'navigation.inc' IsPatronPage=1 %]
34                 </div>
35             </div>
36             <div class="span10">
37                 [% IF action == 'edit' %]
38                     <div id="update-account">
39                 [% ELSE %]
40                     <div id="add-account">
41                 [% END %]
42
43                 [% IF action == 'edit' %]
44                     [% UNLESS OPACPatronDetails %]
45                         <div class="alert alert-info">To make changes to your record please contact the library.</div>
46                     [% END %]
47                     [% IF nochanges %]
48                         <div class="alert alert-error">No changes were made.</div>
49                     [% END %]
50                 [% END %]
51
52                 [% IF empty_mandatory_fields %]
53                     <div class="alert">You have not filled out all required fields. Please fill in all missing fields and resubmit.</div>
54                 [% END %]
55
56                 [%  IF invalid_form_fields %]
57                     <div class="alert alert-error"><strong>The following fields contain invalid information:</strong>
58                         <ul>
59                             [% FOREACH field IN invalid_form_fields %]
60                                 [% IF field == "email" %]<li>Contact information: <a href="#borrower_email">primary email address</a></li>[% END %]
61                                 [% IF field == "emailpro" %]<li>Contact information: <a href="#borrower_emailpro">secondary email address</a></li>[% END %]
62                                 [% IF field == "B_email" %]<li>Alternate address information: <a href="#borrower_B_email">email address</a></li>[% END %]
63                                 [% IF field == "password_match" %]<li>Passwords do not match! <a href="#password">password</a></li>[% END %]
64                                 [% IF field == "password_invalid" %]<li>Password does not meet minium requirements! <a href="#password">password</a></li>[% END %]
65                             [% END %]
66                         </ul>
67                         Please correct the errors and resubmit.
68                     </div>
69                 [% END %]
70
71                 [% IF failed_captcha %]
72                     <div class="alert">You typed in the wrong characters in the box before submitting. Please try again.</div>
73                 [% END %]
74
75                 [% IF borrower.guarantorid && !Koha.Preference('OPACPrivacy') && Koha.Preference('AllowPatronToSetCheckoutsVisibilityForGuarantor') %]
76                     <fieldset class="rows" id="memberentry_privacy">
77                         <legend id="privacy_legend">Privacy</legend>
78                         <ol>
79                             <li>
80                                 <label>Allow your guarantor to view your current checkouts?</label>
81                                 <select id="privacy_guarantor_checkouts">
82                                     <option value="0">No</option>
83                                     [% IF borrower.privacy_guarantor_checkouts %]
84                                         <option value="1" selected="selected">Yes</option>
85                                     [% ELSE %]
86                                         <option value="1">Yes</option>
87                                     [% END %]
88                                 </select>
89                                 <span class="hint">
90                                     <a id="update_privacy_guarantor_checkouts" href="#" class="btn">Update</a>
91                                     <span id="update_privacy_guarantor_checkouts_message" class="alert" style="display:none"></span>
92                                 </span>
93                                 <span class="hint">
94                                     Your guarantor is <i>[% guarantor.firstname %] [% guarantor.surname %]</i>
95                                 </span>
96                             </li>
97                         </ol>
98                     </fieldset>
99                 [% END %]
100
101                 <form method="post" action="/cgi-bin/koha/opac-memberentry.pl" id="memberentry-form">
102
103                 [% UNLESS hidden.defined('branchcode') %]
104                     <fieldset class="rows" id="memberentry_library">
105
106                         <legend id="library_legend">Library</legend>
107                             <ol>
108                                 [% UNLESS hidden.defined('cardnumber') %]
109                                 <li>
110                                     <label>Card number:</label>
111                                     [% borrower.cardnumber %]
112                                 </li>
113                                 [% END %]
114
115                                 [% UNLESS hidden.defined('dateexpiry') %]
116                                 <li>
117                                     <label>Expiration date:</label>
118                                     [% borrower.dateexpiry | $KohaDates  %]
119                                 </li>
120                                 [% END %]
121
122                                 [% UNLESS hidden.defined('branchcode') %]
123                                     <li>
124                                         [% IF mandatory.defined('branchcode') %]
125                                             <label for="borrower_branchcode" class="required">
126                                         [% ELSE %]
127                                             <label for="borrower_branchcode">
128                                         [% END %]
129                                         Home library:</label>
130
131                                         <select id="borrower_branchcode" name="borrower_branchcode">
132                                             [% FOREACH b IN branches %]
133                                                 [% IF b.value == borrower.branchcode %]
134                                                     <option value="[% b.value %]" selected="selected">[% b.branchname %]</option>
135                                                 [% ELSE %]
136                                                     <option value="[% b.value %]">[% b.branchname %]</option>
137                                                 [% END %]
138                                             [% END %]
139                                         </select>
140                                     </li>
141                                 [% END %]
142                             </ol>
143                         </fieldset>
144                 [% END # / defined 'branchcode' %]
145
146                 [% UNLESS
147                     hidden.defined('title') && hidden.defined('surname') && hidden.defined('firstname') &&
148                     hidden.defined('dateofbirth') && hidden.defined('initials') && hidden.defined('othernames') &&
149                     hidden.defined('sex')
150                 %]
151                     <div class="row-fluid">
152                         [% IF ( display_patron_image ) %]
153                             <div class="span8">
154                         [% ELSE %]
155                             <div class="span12">
156                         [% END %]
157                             <fieldset class="rows" id="memberentry_identity">
158                                 <legend id="identity_legend">Identity</legend>
159
160                                 <ol>
161                                     [% UNLESS hidden.defined('title') || !member_titles %]
162                                         <li>
163                                             [% IF mandatory.defined('title') %]
164                                                 <label for="borrower_title" class="required">
165                                             [% ELSE %]
166                                                 <label for="borrower_title">
167                                             [% END %]
168                                             Salutation:</label>
169
170                                             <select id="borrower_title" name="borrower_title">
171                                                 [% FOREACH mt IN member_titles %]
172                                                     [% IF mt == borrower.title %]
173                                                         <option value="[% mt %]" selected="selected">[% mt %]</option>
174                                                     [% ELSE %]
175                                                         <option value="[% mt %]">[% mt %]</option>
176                                                     [% END %]
177                                                 [% END %]
178                                             </select>
179                                         </li>
180                                     [% END %]
181
182                                     [% UNLESS hidden.defined('surname') %]
183                                         <li>
184                                             [% IF mandatory.defined('surname') %]
185                                                 <label for="borrower_surname" class="required">
186                                             [% ELSE %]
187                                                 <label for="borrower_surname">
188                                             [% END %]
189                                             Surname:</label>
190
191                                             <input type="text" id="borrower_surname" name="borrower_surname" value="[% borrower.surname %]" />
192                                             [% IF mandatory.defined('surname') %]<span class="required">Required</span>[% END %]
193                                         </li>
194                                     [% END %]
195
196                                     [% UNLESS hidden.defined('firstname') %]
197                                         <li>
198                                             [% IF mandatory.defined('firstname') %]
199                                                 <label for="borrower_firstname" class="required">
200                                             [% ELSE %]
201                                                 <label for="borrower_firstname">
202                                             [% END %]
203                                             First name:</label>
204
205                                             <input type="text" id="borrower_firstname" name="borrower_firstname" value="[% borrower.firstname %]" />
206                                             [% IF mandatory.defined('firstname') %]<span class="required">Required</span>[% END %]
207                                         </li>
208                                     [% END %]
209
210                                     [% UNLESS hidden.defined('dateofbirth') %]
211                                         <li>
212                                             [% IF mandatory.defined('dateofbirth') %]
213                                                 <label for="borrower_dateofbirth" class="required">
214                                             [% ELSE %]
215                                                 <label for="borrower_dateofbirth">
216                                             [% END %]
217                                             Date of birth:</label>
218
219                                             <input type="text" id="borrower_dateofbirth" name="borrower_dateofbirth" value="[% borrower.dateofbirth | $KohaDates %]" size="10" />
220
221                                             [% UNLESS action == 'edit' && !OPACPatronDetails %]
222                                                 [% UNLESS ( mandatory.defined('dateofbirth') ) %]
223                                                     <a href="#" style="font-size:85%;text-decoration:none;" onclick="document.getElementById('borrower_dateofbirth').value='';return false;">Clear date</a>
224                                                 [% END %]
225                                             [% END %]
226
227                                             [% IF mandatory.defined('dateofbirth') %]<span class="required">Required</span>[% END %]
228                                         </li>
229                                     [% END %]
230
231                                     [% UNLESS hidden.defined('initials') %]
232                                         <li>
233                                             [% IF mandatory.defined('initials') %]
234                                                 <label for="borrower_initials" class="required">
235                                             [% ELSE %]
236                                                 <label for="borrower_initials">
237                                             [% END %]
238                                             Initials:</label>
239
240                                             <input type="text" id="borrower_initials" name="borrower_initials" value="[% borrower.initials %]" />
241                                             [% IF mandatory.defined('initials') %]<span class="required">Required</span>[% END %]
242                                         </li>
243                                     [% END %]
244
245                                     [% UNLESS hidden.defined('othernames') %]
246                                         <li>
247                                             [% IF mandatory.defined('othernames') %]
248                                                 <label for="borrower_othernames" class="required">
249                                             [% ELSE %]
250                                                 <label for="borrower_othernames">
251                                             [% END %]
252                                             Other names:</label>
253
254                                             <input type="text" id="borrower_othernames" name="borrower_othernames" value="[% borrower.othernames %]" />
255                                             [% IF mandatory.defined('othernames') %]<span class="required">Required</span>[% END %]
256                                         </li>
257                                     [% END %]
258
259                                     [% UNLESS hidden.defined('sex') %]
260                                         <li class="lradio">
261                                             <label for="sex-female" class="radio inline">Female:</label>
262                                             [% IF borrower.sex == 'F' %]
263                                                 <input type="radio" name="borrower_sex" id="sex-female" value="F" checked="checked" />
264                                             [% ELSE %]
265                                                 <input type="radio" name="borrower_sex" id="sex-female" value="F" />
266                                             [% END %]
267
268                                             <label for="sex-male" class="radio inline">Male:</label>
269                                             [% IF borrower.sex == 'M' %]
270                                                 <input type="radio" name="borrower_sex" id="sex-male" value="M" checked="checked" />
271                                             [% ELSE %]
272                                                 <input type="radio" name="borrower_sex" id="sex-male" value="M" />
273                                             [% END %]
274
275                                             <label for="sex-none" class="radio inline">None specified: </label>
276                                             [% IF borrower.sex == '' %]
277                                                 <input type="radio" name="borrower_sex" id="sex-none" value="" checked="checked" />
278                                             [% ELSE %]
279                                                 <input type="radio" name="borrower_sex" id="sex-none" value="" />
280                                             [% END %]
281
282                                             [% IF mandatory.defined('sex') %]<span class="required">Required</span>[% END %]
283                                         </li>
284                                     [% END %]
285                                 </ol>
286                             </fieldset>
287                            </div>
288                         [% IF ( display_patron_image ) %]
289                             <div class="span4">
290                                 <p class="patronimage">
291                                    <img src="/cgi-bin/koha/opac-patron-image.pl" alt="" />
292                                 </p>
293                             </div>
294                         [% END %]
295                     </div>
296                 [% END # /UNLESS fields hidden %]
297
298                 [% UNLESS
299                     hidden.defined('streetnumber') && hidden.defined('address') && hidden.defined('address2') &&
300                     hidden.defined('city') && hidden.defined('state') && hidden.defined('zipcode') &&
301                     hidden.defined('country')
302                 %]
303                     <fieldset class="rows" id="memberentry_mainaddress">
304                         <legend id="mainaddress_legend">Main address</legend>
305
306                         <ol>
307                             [% UNLESS hidden.defined('streetnumber') %]
308                                 <li>
309                                     [% IF mandatory.defined('streetnumber') %]
310                                         <label for="borrower_streetnumber" class="required">
311                                     [% ELSE %]
312                                         <label for="borrower_streetnumber">
313                                     [% END %]
314                                     Street number:</label>
315
316                                     <input type="text" id="borrower_streetnumber" name="borrower_streetnumber" value="[% borrower.streetnumber %]" />
317                                     [% IF mandatory.defined('streetnumber') %]<span class="required">Required</span>[% END %]
318                                 </li>
319                             [% END %]
320
321                             [% UNLESS hidden.defined('address') %]
322                                 <li>
323                                     [% IF mandatory.defined('address') %]
324                                         <label for="borrower_address" class="required">
325                                     [% ELSE %]
326                                         <label for="borrower_address">
327                                     [% END %]
328                                     Address:</label>
329
330                                     <input type="text" id="borrower_address" name="borrower_address" value="[% borrower.address %]" />
331                                     [% IF mandatory.defined('address') %]<span class="required">Required</span>[% END %]
332                                 </li>
333                             [% END %]
334
335                             [% UNLESS hidden.defined('address2') %]
336                                 <li>
337                                     [% IF mandatory.defined('address2') %]
338                                         <label for="borrower_address2" class="required">
339                                     [% ELSE %]
340                                         <label for="borrower_address2">
341                                     [% END %]
342                                     Address 2:</label>
343
344                                     <input type="text" id="borrower_address2" name="borrower_address2" value="[% borrower.address2 %]" />
345                                     [% IF mandatory.defined('address2') %]<span class="required">Required</span>[% END %]
346                                 </li>
347                             [% END %]
348
349                             [% UNLESS hidden.defined('city') %]
350                                 <li>
351                                     [% IF mandatory.defined('city') %]
352                                         <label for="borrower_city" class="required">
353                                     [% ELSE %]
354                                         <label for="borrower_city">
355                                     [% END %]
356                                     City:</label>
357
358                                     <input type="text" id="borrower_city" name="borrower_city" value="[% borrower.city %]" />
359                                     [% IF mandatory.defined('city') %]<span class="required">Required</span>[% END %]
360                                 </li>
361                             [% END %]
362
363                             [% UNLESS hidden.defined('state') %]
364                                 <li>
365                                     [% IF mandatory.defined('state') %]
366                                         <label for="borrower_state" class="required">
367                                     [% ELSE %]
368                                         <label for="borrower_state">
369                                     [% END %]
370                                     State:</label>
371
372                                     <input type="text" id="borrower_state" name="borrower_state" value="[% borrower.state %]" />
373                                     [% IF mandatory.defined('state') %]<span class="required">Required</span>[% END %]
374                                 </li>
375                             [% END %]
376
377                             [% UNLESS hidden.defined('zipcode') %]
378                                 <li>
379                                     [% IF mandatory.defined('zipcode') %]
380                                         <label for="borrower_zipcode" class="required">
381                                     [% ELSE %]
382                                         <label for="borrower_zipcode">
383                                     [% END %]
384                                     ZIP/Postal code:</label>
385
386                                     <input type="text" id="borrower_zipcode" name="borrower_zipcode" value="[% borrower.zipcode %]" />
387                                     [% IF mandatory.defined('zipcode') %]<span class="required">Required</span>[% END %]
388                                 </li>
389                             [% END %]
390
391                             [% UNLESS hidden.defined('country') %]
392                                 <li>
393                                     [% IF mandatory.defined('country') %]
394                                         <label for="borrower_country" class="required">
395                                     [% ELSE %]
396                                         <label for="borrower_country">
397                                     [% END %]
398                                     Country:</label>
399
400                                     <input type="text" id="borrower_country" name="borrower_country" value="[% borrower.country %]" />
401                                     [% IF mandatory.defined('country') %]<span class="required">Required</span>[% END %]
402                                 </li>
403                             [% END %]
404
405                         </ol>
406                     </fieldset>
407                 [% END %]
408
409                 [% UNLESS
410                     hidden.defined('phone') && hidden.defined('phonepro') && hidden.defined('mobile') &&
411                     hidden.defined('email') && hidden.defined('emailpro') && hidden.defined('fax')
412                 %]
413                     <fieldset class="rows" id="memberentry_contact">
414                         <legend id="contact_legend">Contact information</legend>
415
416                         <ol>
417                             [% UNLESS hidden.defined('phone') %]
418                                 <li>
419                                     [% IF mandatory.defined('phone') %]
420                                         <label for="borrower_phone" class="required">
421                                     [% ELSE %]
422                                         <label for="borrower_phone">
423                                     [% END %]
424                                     Primary phone:</label>
425
426                                     <input type="text" id="borrower_phone" name="borrower_phone" value="[% borrower.phone %]" />
427                                     [% IF mandatory.defined('phone') %]<span class="required">Required</span>[% END %]
428                                 </li>
429                             [% END %]
430
431                             [% UNLESS hidden.defined('phonepro') %]
432                                 <li>
433                                     [% IF mandatory.defined('phonepro') %]
434                                         <label for="borrower_phonepro" class="required">
435                                     [% ELSE %]
436                                         <label for="borrower_phonepro">
437                                     [% END %]
438                                     Secondary phone:</label>
439
440                                     <input type="text" id="borrower_phonepro" name="borrower_phonepro" value="[% borrower.phonepro %]" />
441                                     [% IF mandatory.defined('phonepro') %]<span class="required">Required</span>[% END %]
442                                 </li>
443                             [% END %]
444
445                             [% UNLESS hidden.defined('mobile') %]
446                                 <li>
447                                     [% IF mandatory.defined('mobile') %]
448                                         <label for="borrower_mobile" class="required">
449                                     [% ELSE %]
450                                         <label for="borrower_mobile">
451                                     [% END %]
452                                     Other phone:</label>
453
454                                     <input type="text" id="borrower_mobile" name="borrower_mobile" value="[% borrower.mobile %]" />
455                                     [% IF mandatory.defined('mobile') %]<span class="required">Required</span>[% END %]
456                                 </li>
457                             [% END %]
458
459                             [% UNLESS hidden.defined('email') %]
460                                 <li>
461                                     [% IF mandatory.defined('email') %]
462                                         <label for="borrower_email" class="required">
463                                     [% ELSE %]
464                                         <label for="borrower_email">
465                                     [% END %]
466                                     Primary email:</label>
467
468                                     <input type="text" id="borrower_email" name="borrower_email" value="[% borrower.email %]" />
469                                     [% IF mandatory.defined('email') %]<span class="required">Required</span>[% END %]
470                                 </li>
471                             [% END %]
472
473                             [% UNLESS hidden.defined('emailpro') %]
474                                 <li>
475                                     [% IF mandatory.defined('emailpro') %]
476                                         <label for="borrower_emailpro" class="required">
477                                     [% ELSE %]
478                                         <label for="borrower_emailpro">
479                                     [% END %]
480                                     Secondary email:</label>
481
482                                     <input type="text" id="borrower_emailpro" name="borrower_emailpro" value="[% borrower.emailpro %]" />
483                                     [% IF mandatory.defined('emailpro') %]<span class="required">Required</span>[% END %]
484                                 </li>
485                             [% END %]
486
487                             [% UNLESS hidden.defined('fax') %]
488                                 <li>
489                                     [% IF mandatory.defined('fax') %]
490                                         <label for="borrower_fax" class="required">
491                                     [% ELSE %]
492                                         <label for="borrower_fax">
493                                     [% END %]
494                                     Fax:</label>
495
496                                     <input type="text" id="borrower_fax" name="borrower_fax" value="[% borrower.fax %]" />
497                                     [% IF mandatory.defined('fax') %]<span class="required">Required</span>[% END %]
498                                 </li>
499                             [% END %]
500                         </ol>
501                     </fieldset>
502                 [% END %]
503
504                 [% UNLESS
505                     hidden.defined('B_address') && hidden.defined('B_address2') && hidden.defined('B_city') &&
506                     hidden.defined('B_state') && hidden.defined('B_zipcode') && hidden.defined('B_country') &&
507                     hidden.defined('B_phone') && hidden.defined('B_email') && hidden.defined('contactnote')
508                 %]
509                     <fieldset class="rows" id="memberentry_alternateaddress">
510                         <legend id="alternateaddress_legend">Alternate address</legend>
511
512                         <ol>
513                             [% UNLESS hidden.defined('B_address') %]
514                                 <li>
515                                     [% IF mandatory.defined('B_address') %]
516                                         <label for="borrower_B_address" class="required">
517                                     [% ELSE %]
518                                         <label for="borrower_B_address">
519                                     [% END %]
520                                     Address:</label>
521
522                                     <input type="text" id="borrower_B_address" name="borrower_B_address" value="[% borrower.B_address %]" />
523                                     [% IF mandatory.defined('B_address') %]<span class="required">Required</span>[% END %]
524                                 </li>
525                             [% END %]
526
527                             [% UNLESS hidden.defined('B_address2') %]
528                                 <li>
529                                     [% IF mandatory.defined('B_address2') %]
530                                         <label for="borrower_B_address2" class="required">
531                                     [% ELSE %]
532                                         <label for="borrower_B_address2">
533                                     [% END %]
534                                     Address 2:</label>
535
536                                     <input type="text" id="borrower_B_address2" name="borrower_B_address2" value="[% borrower.B_address2 %]" />
537                                     [% IF mandatory.defined('B_address2') %]<span class="required">Required</span>[% END %]
538                                 </li>
539                             [% END %]
540
541                             [% UNLESS hidden.defined('B_city') %]
542                                 <li>
543                                     [% IF mandatory.defined('B_city') %]
544                                         <label for="borrower_B_city" class="required">
545                                     [% ELSE %]
546                                         <label for="borrower_B_city">
547                                     [% END %]
548                                     City:</label>
549
550                                     <input type="text" id="borrower_B_city" name="borrower_B_city" value="[% borrower.B_city %]" />
551                                     [% IF mandatory.defined('B_city') %]<span class="required">Required</span>[% END %]
552                                 </li>
553                             [% END %]
554
555                             [% UNLESS hidden.defined('B_state') %]
556                                 <li>
557                                     [% IF mandatory.defined('B_state') %]
558                                         <label for="borrower_B_state" class="required">
559                                     [% ELSE %]
560                                         <label for="borrower_B_state">
561                                     [% END %]
562                                     State:</label>
563
564                                     <input type="text" id="borrower_B_state" name="borrower_B_state" value="[% borrower.B_state %]" />
565                                     [% IF mandatory.defined('B_state') %]<span class="required">Required</span>[% END %]
566                                 </li>
567                             [% END %]
568
569                             [% UNLESS hidden.defined('B_zipcode') %]
570                                 <li>
571                                     [% IF mandatory.defined('B_zipcode') %]
572                                         <label for="borrower_B_zipcode" class="required">
573                                     [% ELSE %]
574                                         <label for="borrower_B_zipcode">
575                                     [% END %]
576                                     ZIP/Postal code:</label>
577
578                                     <input type="text" id="borrower_B_zipcode" name="borrower_B_zipcode" value="[% borrower.B_zipcode %]" />
579                                     [% IF mandatory.defined('B_zipcode') %]<span class="required">Required</span>[% END %]
580                                 </li>
581                             [% END %]
582
583                             [% UNLESS hidden.defined('B_country') %]
584                                 <li>
585                                     [% IF mandatory.defined('B_country') %]
586                                         <label for="borrower_B_country" class="required">
587                                     [% ELSE %]
588                                         <label for="borrower_B_country">
589                                     [% END %]
590                                     Country:</label>
591
592                                     <input type="text" id="borrower_B_country" name="borrower_B_country" value="[% borrower.B_country %]" />
593                                     [% IF mandatory.defined('B_country') %]<span class="required">Required</span>[% END %]
594                                 </li>
595                             [% END %]
596
597                             [% UNLESS hidden.defined('B_phone') %]
598                                 <li>
599                                     [% IF mandatory.defined('B_phone') %]
600                                         <label for="borrower_B_phone" class="required">
601                                     [% ELSE %]
602                                         <label for="borrower_B_phone">
603                                     [% END %]
604                                     Phone:</label>
605
606                                     <input type="text" id="borrower_B_phone" name="borrower_B_phone" value="[% borrower.B_phone %]" />
607                                     [% IF mandatory.defined('B_phone') %]<span class="required">Required</span>[% END %]
608                                 </li>
609                             [% END %]
610
611                             [% UNLESS hidden.defined('B_email') %]
612                                 <li>
613                                     [% IF mandatory.defined('B_email') %]
614                                         <label for="borrower_B_email" class="required">
615                                     [% ELSE %]
616                                         <label for="borrower_B_email">
617                                     [% END %]
618                                     Email:</label>
619
620                                     <input type="text" id="borrower_B_email" name="borrower_B_email" value="[% borrower.B_email %]" />
621                                     [% IF mandatory.defined('B_email') %]<span class="required">Required</span>[% END %]
622                                 </li>
623                             [% END %]
624
625                             [% UNLESS hidden.defined('contactnote') %]
626                                 <li>
627                                     [% IF mandatory.defined('contactnote') %]
628                                         <label for="borrower_contactnote" class="required">
629                                     [% ELSE %]
630                                         <label for="borrower_contactnote">
631                                     [% END %]
632                                     Contact note:</label>
633
634                                     <textarea id="borrower_contactnote" name="borrower_contactnote" cols="30" rows="2">[% borrower.contactnote %]</textarea>
635                                     [% IF mandatory.defined('contactnote') %]<span class="required">Required</span>[% END %]
636                                 </li>
637                             [% END %]
638
639                         </ol>
640                     </fieldset>
641                 [% END %]
642
643                 [% UNLESS
644                     hidden.defined('altcontactsurname') && hidden.defined('altcontactfirstname') && hidden.defined('altcontactaddress1') &&
645                     hidden.defined('altcontactaddress2') && hidden.defined('altcontactaddress3') && hidden.defined('altcontactstate') &&
646                     hidden.defined('altcontactzipcode') && hidden.defined('altcontactcountry') && hidden.defined('altcontactphone')
647                 %]
648                     <fieldset class="rows" id="memberentry_alternatecontact">
649                         <legend id="alternatecontact_legend">Alternate contact</legend>
650
651                         <ol>
652                             [% UNLESS hidden.defined('altcontactsurname') %]
653                                 <li>
654                                     [% IF mandatory.defined('altcontactsurname') %]
655                                         <label for="borrower_altcontactsurname" class="required">
656                                     [% ELSE %]
657                                         <label for="borrower_altcontactsurname">
658                                     [% END %]
659                                     Surname:</label>
660
661                                     <input type="text" id="borrower_altcontactsurname" name="borrower_altcontactsurname" value="[% borrower.altcontactsurname %]" />
662                                     [% IF mandatory.defined('altcontactsurname') %]<span class="required">Required</span>[% END %]
663                                 </li>
664                             [% END %]
665
666                             [% UNLESS hidden.defined('altcontactfirstname') %]
667                                 <li>
668                                     [% IF mandatory.defined('altcontactfirstname') %]
669                                         <label for="borrower_altcontactfirstname" class="required">
670                                     [% ELSE %]
671                                         <label for="borrower_altcontactfirstname">
672                                     [% END %]
673                                     First name:</label>
674
675                                     <input type="text" id="borrower_altcontactfirstname" name="borrower_altcontactfirstname" value="[% borrower.altcontactfirstname %]" />
676                                     [% IF mandatory.defined('altcontactfirstname') %]<span class="required">Required</span>[% END %]
677                                 </li>
678                             [% END %]
679
680                             [% UNLESS hidden.defined('altcontactaddress1') %]
681                                 <li>
682                                     [% IF mandatory.defined('altcontactaddress1') %]
683                                         <label for="borrower_altcontactaddress1" class="required">
684                                     [% ELSE %]
685                                         <label for="borrower_altcontactaddress1">
686                                     [% END %]
687                                     Address:</label>
688
689                                     <input type="text" id="borrower_altcontactaddress1" name="borrower_altcontactaddress1" value="[% borrower.altcontactaddress1 %]" />
690                                     [% IF mandatory.defined('altcontactaddress1') %]<span class="required">Required</span>[% END %]
691                                 </li>
692                             [% END %]
693
694                             [% UNLESS hidden.defined('altcontactaddress2') %]
695                                 <li>
696                                     [% IF mandatory.defined('altcontactaddress2') %]
697                                         <label for="borrower_altcontactaddress2" class="required">
698                                     [% ELSE %]
699                                         <label for="borrower_altcontactaddress2">
700                                     [% END %]
701                                     Address 2:</label>
702
703                                     <input type="text" id="borrower_altcontactaddress2" name="borrower_altcontactaddress2" value="[% borrower.altcontactaddress2 %]" />
704                                     [% IF mandatory.defined('altcontactaddress2') %]<span class="required">Required</span>[% END %]
705                                 </li>
706                             [% END %]
707
708                             [% UNLESS hidden.defined('altcontactaddress3') %]
709                                 <li>
710                                     [% IF mandatory.defined('altcontactaddress3') %]
711                                         <label for="borrower_altcontactaddress3" class="required">
712                                     [% ELSE %]
713                                         <label for="borrower_altcontactaddress3">
714                                     [% END %]
715                                     City:</label>
716
717                                     <input type="text" id="borrower_altcontactaddress3" name="borrower_altcontactaddress3" value="[% borrower.altcontactaddress3 %]" />
718                                     [% IF mandatory.defined('altcontactaddress3') %]<span class="required">Required</span>[% END %]
719                                 </li>
720                             [% END %]
721
722                             [% UNLESS hidden.defined('altcontactstate') %]
723                                 <li>
724                                     [% IF mandatory.defined('altcontactstate') %]
725                                         <label for="borrower_altcontactstate" class="required">
726                                     [% ELSE %]
727                                         <label for="borrower_altcontactstate">
728                                     [% END %]
729                                     State:</label>
730
731                                     <input type="text" id="borrower_altcontactstate" name="borrower_altcontactstate" value="[% borrower.altcontactstate %]" />
732                                     [% IF mandatory.defined('altcontactstate') %]<span class="required">Required</span>[% END %]
733                                 </li>
734                             [% END %]
735
736                             [% UNLESS hidden.defined('altcontactzipcode') %]
737                                 <li>
738                                     [% IF mandatory.defined('altcontactzipcode') %]
739                                         <label for="borrower_altcontactzipcode" class="required">
740                                     [% ELSE %]
741                                         <label for="borrower_altcontactzipcode">
742                                     [% END %]
743                                     ZIP/Postal code:</label>
744
745                                     <input type="text" id="borrower_altcontactzipcode" name="borrower_altcontactzipcode" value="[% borrower.altcontactzipcode %]" />
746                                     [% IF mandatory.defined('altcontactzipcode') %]<span class="required">Required</span>[% END %]
747                                 </li>
748                             [% END %]
749
750                             [% UNLESS hidden.defined('altcontactcountry') %]
751                                 <li>
752                                     [% IF mandatory.defined('altcontactcountry') %]
753                                         <label for="borrower_altcontactcountry" class="required">
754                                     [% ELSE %]
755                                         <label for="borrower_altcontactcountry">
756                                     [% END %]
757                                     Country:</label>
758
759                                     <input type="text" id="borrower_altcontactcountry" name="borrower_altcontactcountry" value="[% borrower.altcontactcountry %]" />
760                                     [% IF mandatory.defined('altcontactcountry') %]<span class="required">Required</span>[% END %]
761                                 </li>
762                             [% END %]
763
764                             [% UNLESS hidden.defined('altcontactphone') %]
765                                 <li>
766                                     [% IF mandatory.defined('altcontactphone') %]
767                                         <label for="borrower_altcontactphone" class="required">
768                                     [% ELSE %]
769                                         <label for="borrower_altcontactphone">
770                                     [% END %]
771                                     Phone:</label>
772
773                                     <input type="text" id="borrower_altcontactphone" name="borrower_altcontactphone" value="[% borrower.altcontactphone %]" />
774                                     [% IF mandatory.defined('altcontactphone') %]<span class="required">Required</span>[% END %]
775                                 </li>
776                             [% END %]
777                         </ol>
778                     </fieldset>
779                 [% END %]
780
781                 [% UNLESS action == 'edit' %]
782                     <fieldset class="rows" id="memberentry_password">
783                         <legend id="contact_legend">Contact information</legend>
784                     [% UNLESS hidden.defined('password') %]
785                         <div class="alert alert-info">Your password must be at least [% minpassw %] characters long.
786                         [% IF mandatory.defined('password') %]
787                             <br>You must enter a password!</div>
788                             <ol>
789                                 <li><label for="borrower_password" class="required">Password</label>
790                                     <input type="text" name="borrower_password" id="password" />
791                                 </li>
792                                 <li><label for="borrower_password2" class="required">Confirm password</label>
793                                     <input type="text" name="borrower_password2" id="password2" />
794                                 </li>
795                             </ol>
796                         [% ELSE %]
797                             <br>If you do not enter a password a system generated password will be created</div>
798                             <ol>
799                                 <li><label for="borrower_password">Password</label>
800                                     <input type="text" name="borrower_password" id="password" />
801                                 </li>
802                                 <li><label for="borrower_password2">Confirm password</label>
803                                     <input type="text" name="borrower_password2" id="password2" />
804                                 </li>
805                             </ol>
806                         [% END %]
807                     [% END %]
808                     </fieldset>
809
810                     <fieldset class="rows" id="memberentry_captcha">
811                         <ol>
812
813                             <li>
814                                 <label for="captcha" class="required">Verification:</label>
815
816                                 <input type="text" name="captcha" id="captcha" />
817                                 <input type="hidden" name="captcha_digest" value="[% captcha_digest %]" />
818
819                                 <span class="hint">Please type the following characters into the preceding box: <strong>[% captcha %]</strong></span>
820                                 <span class="hint">Note: The preceding box is case-sensitive. Ensure that the entered characters are in all-caps.</span>
821                             </li>
822                         </ol>
823                     </fieldset>
824                 [% END %]
825
826                 [% IF ( borrower.ExtendedPatronAttributes ) %]
827                     <fieldset class="rows">
828                         <legend>Additional information</legend>
829                         <ol>
830                             [% FOREACH patron_attribute IN borrower.patron_attributes %]
831                                 <li>
832                                     <label>[% patron_attribute.description %]:</label>
833                                     [% IF ( patron_attribute.value_description ) %]
834                                         [% patron_attribute.value_description %]
835                                     [% ELSE %]
836                                         [% patron_attribute.value |html_line_break %]
837                                     [% END %]
838                                 </li>
839                             [% END %]
840                         </ol>
841                     </fieldset>
842                 [% END %]
843
844                 [% IF action == 'edit' %]
845                     [% IF OPACPatronDetails %]
846                         <fieldset class="action">
847                             <input type="hidden" name="action" value="update" />
848                             <input type="submit" class="btn" value="Submit update request" />
849                         </fieldset>
850                     [% END %]
851                 [% ELSE %]
852                     <fieldset class="action">
853                         <input type="hidden" name="action" value="create" />
854                         <input type="submit" class="btn" value="Submit" />
855                     </fieldset>
856                 [% END %]
857
858                 </form>
859
860                     </div><!--/div id="update-account" -->
861                 </div>
862             </div>
863         </div>
864     </div>
865
866 [% INCLUDE 'opac-bottom.inc' %]
867 [% BLOCK jsinclude %]
868     <script type="text/javascript" src="[% interface %]/[% theme %]/lib/jquery/plugins/jquery.validate.min.js"></script>
869     <script type="text/javascript">
870         //<![CDATA[
871         $(document).ready(function() {
872             [% IF action == 'edit' && !OPACPatronDetails %]
873                 $("#memberentry-form :input").attr('readonly', true);
874                 $("#borrower_branchcode").attr('disabled',true);
875                 $("#borrower_title").attr('disabled',true);
876                 $('#memberentry-form :radio').attr('disabled',true);
877                 $('span.required').remove();
878                 $('label.required').removeClass('required');
879             [% ELSE %]
880                 $( "#borrower_dateofbirth" ).datepicker({ yearRange: "c-120:c" });
881             [% END %]
882
883             $("#memberentry-form").validate({
884                 rules: {
885                     borrower_email: {
886                         email: true
887                     },
888                     borrower_emailpro: {
889                         email: true
890                     },
891                     borrower_B_email: {
892                         email: true
893                     }
894                 },
895                 submitHandler: function(form) {
896                     if (form.beenSubmitted) {
897                         return false;
898                     }
899                     else {
900                         form.beenSubmitted = true;
901                         form.submit();
902                     }
903                 },
904                 errorPlacement: function(error, element) {
905                     offset = element.offset();
906                     error.insertAfter(element)
907                     error.addClass('error');  // add a class to the wrapper
908                     error.css('position', 'absolute');
909                     error.css('left', offset.left + element.outerWidth() + 10);
910                     error.css('top', offset.top);
911                     error.css('width', 'auto');
912                 }
913             });
914
915             [% IF borrower.guarantorid && !Koha.Preference('OPACPrivacy') && Koha.Preference('AllowPatronToSetCheckoutsVisibilityForGuarantor') %]
916                 $('#update_privacy_guarantor_checkouts').click( function() {
917                     $.post( "/cgi-bin/koha/svc/patron/show_checkouts_to_relatives", { privacy_guarantor_checkouts: $('#privacy_guarantor_checkouts').val() }, null, 'json')
918                      .done(function( data ) {
919                          var message;
920                          if ( data.success ) {
921                              message = _("Your setting has been updated!");
922                          } else {
923                              message = _("Unable to update your setting!");
924                          }
925
926                          $('#update_privacy_guarantor_checkouts_message').fadeIn("slow").text( message ).delay( 5000 ).fadeOut("slow");
927                      });
928                 });
929             [% END %]
930         });
931     //]]>
932     </script>
933 [% INCLUDE 'calendar.inc' %]
934 [% END %]