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