Bug 41638: Add IDs to labels on patron edit
When targeting with jquery and css, labels on the patron edit screen can be fragile and complicated. This patch adds ids to all the labels that follow the following convention: <label for="surname" class="required" id="surname_label"> Each id is the "for" with _label appended. To Test: 1. Before applying the patch, go to add a new patron 2. Right click on the page and use the browser inspector/inspect element. 3. Observe there are no ids for the field labels. 4. Apply patch 5. Reload the page 6. Observe there are now ids for the fields. 7. Go through all the fields and confirm there is an id and that they follow the convention above. 8. Change mandatory fields and confirm the labels are still correct. 9. Edit an existing patron and confirm the ids are still present. 10. Sign off! Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi> Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
This commit is contained in:
parent
ed3f0dcab2
commit
d8a2496888
|
|
@ -16,9 +16,9 @@
|
|||
[% FOREACH patron_attribute IN pa_loo.items %]
|
||||
<li data-category_code="[% patron_attribute.category_code | html %]" data-pa_code="[% patron_attribute.code | replace('[^a-zA-Z0-9_-]', '') %]">
|
||||
[% IF patron_attribute.mandatory %]
|
||||
<label for="[% patron_attribute.form_id | html %]" class="required" required="required">[% patron_attribute.description | html %]: </label>
|
||||
<label for="[% patron_attribute.form_id | html %]" class="required" required="required" id="[% patron_attribute.form_id | html %]_label">[% patron_attribute.description | html %]: </label>
|
||||
[% ELSE %]
|
||||
<label for="[% patron_attribute.form_id | html %]">[% patron_attribute.description | html %]: </label>
|
||||
<label for="[% patron_attribute.form_id | html %]" id="[% patron_attribute.form_id | html %]_label">[% patron_attribute.description | html %]: </label>
|
||||
[% END %]
|
||||
[% IF ( patron_attribute.use_dropdown ) %]
|
||||
<select id="[% patron_attribute.form_id | html %]" name="[% patron_attribute.form_id | html %]" [% IF patron_attribute.mandatory %]required="required"[% END %]>
|
||||
|
|
|
|||
|
|
@ -320,7 +320,7 @@
|
|||
[% UNLESS notitle %]
|
||||
[% IF Koha.Preference('BorrowersTitles') %]
|
||||
<li>
|
||||
<label for="btitle" [% IF mandatorytitle %]class="required"[% END %]> Salutation: </label>
|
||||
<label for="btitle" [% IF mandatorytitle %]class="required"[% END %] id="btitle_label"> Salutation: </label>
|
||||
<select id="btitle" name="title">
|
||||
<option value=""></option>
|
||||
[% FOREACH patron_title IN Koha.Preference('BorrowersTitles').split('\|') %]
|
||||
|
|
@ -342,9 +342,9 @@
|
|||
[% UNLESS nosurname %]
|
||||
<li>
|
||||
[% IF ( patron_category.category_type == 'I' ) %]
|
||||
<label for="surname" class="required"> Name: </label>
|
||||
<label for="surname" class="required" id="surname_label"> Name: </label>
|
||||
[% ELSE %]
|
||||
<label for="surname" [% IF mandatorysurname %]class="required"[% END %]> Surname: </label>
|
||||
<label for="surname" [% IF mandatorysurname %]class="required"[% END %] id="surname_label"> Surname: </label>
|
||||
[% END %]
|
||||
|
||||
[% IF ( uppercasesurnames ) %]
|
||||
|
|
@ -361,7 +361,7 @@
|
|||
[% UNLESS ( patron_category.category_type == 'I' ) %]
|
||||
[% UNLESS nofirstname %]
|
||||
<li>
|
||||
<label for="firstname" [% IF mandatoryfirstname %]class="required"[% END %]> First name: </label>
|
||||
<label for="firstname" [% IF mandatoryfirstname %]class="required"[% END %] id="firstname_label"> First name: </label>
|
||||
<input type="text" id="firstname" name="firstname" size="20" value="[% borrower_data.firstname | html UNLESS op == 'duplicate' %]" />
|
||||
[% IF ( mandatoryfirstname ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -370,7 +370,7 @@
|
|||
[% END #/UNLESS nofirstname %]
|
||||
[% UNLESS nopreferred_name %]
|
||||
<li>
|
||||
<label for="preferred_name" [% IF mandatorypreferred_name %]class="required"[% END %]> Preferred name: </label>
|
||||
<label for="preferred_name" [% IF mandatorypreferred_name %]class="required"[% END %] id="preferred_name_label"> Preferred name: </label>
|
||||
<input type="text" id="preferred_name" name="preferred_name" size="20" value="[% borrower_data.preferred_name | html UNLESS op == 'duplicate' %]" />
|
||||
[% IF ( mandatorypreferred_name ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -379,7 +379,7 @@
|
|||
[% END #/UNLESS nopreferred_name %]
|
||||
[% UNLESS nomiddle_name %]
|
||||
<li>
|
||||
<label for="middle_name" [% IF mandatorymiddle_name %]class="required"[% END %]> Middle name: </label>
|
||||
<label for="middle_name" [% IF mandatorymiddle_name %]class="required"[% END %] id="middle_name_label"> Middle name: </label>
|
||||
<input type="text" id="middle_name" name="middle_name" size="20" value="[% borrower_data.middle_name | html UNLESS op == 'duplicate' %]" />
|
||||
[% IF ( mandatorymiddle_name ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -388,7 +388,7 @@
|
|||
[% END #/UNLESS nomiddle_name %]
|
||||
[% UNLESS nodateofbirth %]
|
||||
<li>
|
||||
<label for="dateofbirth" [% IF mandatorydateofbirth %]class="required"[% END %]> Date of birth: </label>
|
||||
<label for="dateofbirth" [% IF mandatorydateofbirth %]class="required"[% END %] id="dateofbirth_label"> Date of birth: </label>
|
||||
<input
|
||||
type="text"
|
||||
id="dateofbirth"
|
||||
|
|
@ -409,7 +409,7 @@
|
|||
[% END # /UNLESS nodateofbirth %]
|
||||
[% UNLESS noinitials %]
|
||||
<li>
|
||||
<label for="initials" [% IF mandatoryinitials %]class="required"[% END %]> Initials: </label>
|
||||
<label for="initials" [% IF mandatoryinitials %]class="required"[% END %] id="initials_label"> Initials: </label>
|
||||
<input type="text" id="initials" name="initials" size="20" value="[% borrower_data.initials | html UNLESS op == 'duplicate' %]" />
|
||||
[% IF ( mandatoryinitials ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -418,7 +418,7 @@
|
|||
[% END # /UNLESS noinitials %]
|
||||
[% UNLESS nopronouns %]
|
||||
<li>
|
||||
<label for="pronouns" [% IF mandatorypronouns %]class="required"[% END %]> Pronouns: </label>
|
||||
<label for="pronouns" [% IF mandatorypronouns %]class="required"[% END %] id="pronouns_label"> Pronouns: </label>
|
||||
<input type="text" id="pronouns" name="pronouns" size="20" value="[% borrower_data.pronouns | html UNLESS op == 'duplicate' %]" />
|
||||
[% IF ( mandatorypronouns ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -428,7 +428,7 @@
|
|||
[% END #/UNLESS ( I ) %]
|
||||
[% UNLESS noothernames %]
|
||||
<li>
|
||||
<label for="othernames" [% IF mandatoryothernames %]class="required"[% END %]> Other name: </label>
|
||||
<label for="othernames" [% IF mandatoryothernames %]class="required"[% END %] id="othernames_label"> Other name: </label>
|
||||
<input type="text" id="othernames" name="othernames" size="20" value="[% borrower_data.othernames | html UNLESS op == 'duplicate' %]" />
|
||||
[% IF ( mandatoryothernames ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -440,33 +440,37 @@
|
|||
[% UNLESS ( patron_category.category_type == 'I' ) %]
|
||||
[% UNLESS nosex %]
|
||||
<li class="radio">
|
||||
<label for="gender">Gender:</label>
|
||||
<label for="gender" id="gender_label">Gender:</label>
|
||||
[% UNLESS ( op == 'duplicate' ) %]
|
||||
[% IF ( female ) %]
|
||||
<label for="sex-female"><input type="radio" name="sex" id="sex-female" value="F" checked="checked" /><span class="patronsex-female"> Female</span></label>
|
||||
<label for="sex-female" id="sex-female_label"><input type="radio" name="sex" id="sex-female" value="F" checked="checked" /><span class="patronsex-female"> Female</span></label>
|
||||
[% ELSE %]
|
||||
<label for="sex-female"><input type="radio" name="sex" id="sex-female" value="F" /><span class="patronsex-female"> Female</span></label>
|
||||
<label for="sex-female" id="sex-female_label"><input type="radio" name="sex" id="sex-female" value="F" /><span class="patronsex-female"> Female</span></label>
|
||||
[% END %]
|
||||
[% IF ( male ) %]
|
||||
<label for="sex-male"><input type="radio" name="sex" id="sex-male" value="M" checked="checked" /><span class="patronsex-male"> Male</span></label>
|
||||
<label for="sex-male" id="sex-male_label"><input type="radio" name="sex" id="sex-male" value="M" checked="checked" /><span class="patronsex-male"> Male</span></label>
|
||||
[% ELSE %]
|
||||
<label for="sex-male"><input type="radio" name="sex" id="sex-male" value="M" /><span class="patronsex-male"> Male</span></label>
|
||||
<label for="sex-male" id="sex-male_label"><input type="radio" name="sex" id="sex-male" value="M" /><span class="patronsex-male"> Male</span></label>
|
||||
[% END %]
|
||||
[% IF ( other ) %]
|
||||
<label for="sex-other"><input type="radio" name="sex" id="sex-other" value="O" checked="checked" /><span class="patronsex-other"> [% tp('gender', 'Other') | html %]</span></label>
|
||||
<label for="sex-other" id="sex-other_label"
|
||||
><input type="radio" name="sex" id="sex-other" value="O" checked="checked" /><span class="patronsex-other"> [% tp('gender', 'Other') | html %]</span></label
|
||||
>
|
||||
[% ELSE %]
|
||||
<label for="sex-other"><input type="radio" name="sex" id="sex-other" value="O" /><span class="patronsex-other"> [% tp('gender', 'Other') | html %]</span></label>
|
||||
<label for="sex-other" id="sex-other_label"
|
||||
><input type="radio" name="sex" id="sex-other" value="O" /><span class="patronsex-other"> [% tp('gender', 'Other') | html %]</span></label
|
||||
>
|
||||
[% END %]
|
||||
[% IF ( none ) %]
|
||||
<label for="sex-none"><input type="radio" name="sex" id="sex-none" value="" checked="checked" /><span class="patronsex-none"> None specified</span></label>
|
||||
<label for="sex-none" id="sex-none_label"><input type="radio" name="sex" id="sex-none" value="" checked="checked" /><span class="patronsex-none"> None specified</span></label>
|
||||
[% ELSE %]
|
||||
<label for="sex-none"><input type="radio" name="sex" id="sex-none" value="" /><span class="patronsex-none"> None specified</span></label>
|
||||
<label for="sex-none" id="sex-none_label"><input type="radio" name="sex" id="sex-none" value="" /><span class="patronsex-none"> None specified</span></label>
|
||||
[% END %]
|
||||
[% ELSE %]
|
||||
<label for="sex-female"><span class="patronsex-female">Female </span></label><input type="radio" name="sex" id="sex-female" value="F" />
|
||||
<label for="sex-male"><span class="patronsex-male">Male </span></label><input type="radio" name="sex" id="sex-male" value="M" />
|
||||
<label for="sex-other"><span class="patronsex-other">[% tp('gender', 'Other') | html %] </span></label><input type="radio" name="sex" id="sex-other" value="O" />
|
||||
<label for="sex-none"><span class="patronsex-none">None specified </span></label><input type="radio" name="sex" id="sex-none" value="" checked="checked" />
|
||||
<label for="sex-female" id="sex-female_label"><span class="patronsex-female">Female </span></label><input type="radio" name="sex" id="sex-female" value="F" />
|
||||
<label for="sex-male" id="sex-male_label"><span class="patronsex-male">Male </span></label><input type="radio" name="sex" id="sex-male" value="M" />
|
||||
<label for="sex-other" id="sex-other_label"><span class="patronsex-other">[% tp('gender', 'Other') | html %] </span></label><input type="radio" name="sex" id="sex-other" value="O" />
|
||||
<label for="sex-none" id="sex-none_label"><span class="patronsex-none">None specified </span></label><input type="radio" name="sex" id="sex-none" value="" checked="checked" />
|
||||
[% END # /UNLESS ( op == 'duplicate' ) %]
|
||||
</li>
|
||||
[% END # /UNLESS nosex %]
|
||||
|
|
@ -491,7 +495,7 @@
|
|||
<ol>
|
||||
[% IF patron_category.category_type == 'I' %]
|
||||
<li class="guarantor-details" data-borrowernumber="[% r.guarantor_id | $raw %]">
|
||||
<span class="label">Organization:</span>
|
||||
<span class="label" id="organization_label">Organization:</span>
|
||||
[% INCLUDE 'patron-title.inc' patron=r.guarantor %]
|
||||
</li>
|
||||
<li>
|
||||
|
|
@ -500,18 +504,18 @@
|
|||
</li>
|
||||
[% ELSE %]
|
||||
<li class="guarantor-details" data-borrowernumber="[% r.guarantor_id | $raw %]">
|
||||
<span class="label">Guarantor:</span>
|
||||
<span class="label" id="guarantor_label">Guarantor:</span>
|
||||
[% INCLUDE 'patron-title.inc' patron=r.guarantor %]
|
||||
<input type="hidden" class="guarantor_id relation-[% r.id | html %]" name="guarantor_id" value="[% r.guarantor_id | html %]" />
|
||||
</li>
|
||||
<li>
|
||||
<span class="label">Relationship:</span>
|
||||
<span class="label" id="relationship_label">Relationship:</span>
|
||||
<span>[% r.relationship | html %]</span>
|
||||
<input type="hidden" class="guarantor_relationship relation-[% r.id | html %]" name="guarantor_relationship" value="[% r.relationship | html %]" />
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="delete_guarantor-[% r.id | uri %]">Remove: </label>
|
||||
<label for="delete_guarantor-[% r.id | uri %]" id="delete_guarantor-[% r.id | uri %]_label">Remove: </label>
|
||||
<input type="checkbox" id="delete_guarantor-[% r.id | uri %]" name="delete_guarantor" value="[% r.id | html %]" onclick="toggle_guarantor_field([% r.id | html %])" />
|
||||
</li>
|
||||
[% END %]
|
||||
|
|
@ -522,7 +526,7 @@
|
|||
<fieldset class="guarantor">
|
||||
<ol>
|
||||
<li class="guarantor-details" data-borrowernumber="0">
|
||||
<span class="label">Guarantor:</span>
|
||||
<span class="label" id="relationship_label">Guarantor:</span>
|
||||
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% guarantor.borrowernumber | uri %]" target="blank"
|
||||
>[% guarantor.firstname | html %] [% guarantor.surname | html %] ([% guarantor.cardnumber | html %])</a
|
||||
>
|
||||
|
|
@ -531,7 +535,7 @@
|
|||
|
||||
[% UNLESS norelationship %]
|
||||
<li>
|
||||
<label for="guarantor_relationship" [% IF mandatoryrelationship %]class="required"[% END %]>Relationship: </label>
|
||||
<label for="guarantor_relationship" [% IF mandatoryrelationship %]class="required"[% END %] id="relationship_label">Relationship: </label>
|
||||
<select class="new_guarantor_relationship" name="new_guarantor_relationship" [% IF mandatoryrelationship %]required="required"[% END %]>
|
||||
<option value=""></option>
|
||||
[% FOREACH pr IN possible_relationships.split('\|') %]
|
||||
|
|
@ -549,7 +553,7 @@
|
|||
[% END %]
|
||||
|
||||
<li>
|
||||
<label for="guarantor_cancel"> </label>
|
||||
<label for="guarantor_cancel" id="guarantor_cancel_label"> </label>
|
||||
<span
|
||||
><a href="#" class="guarantor_cancel"><i class="fa fa-trash-can" aria-hidden="true"></i> Remove</a></span
|
||||
>
|
||||
|
|
@ -572,7 +576,7 @@
|
|||
|
||||
[% UNLESS norelationship %]
|
||||
<li>
|
||||
<label for="guarantor_relationship" [% IF mandatoryrelationship %]class="required"[% END %]>Relationship: </label>
|
||||
<label for="guarantor_relationship" [% IF mandatoryrelationship %]class="required"[% END %] id="guarantor_relationship_label">Relationship: </label>
|
||||
<select class="new_guarantor_relationship" name="new_guarantor_relationship" [% IF mandatoryrelationship %]required="required"[% END %]>
|
||||
<option value="" selected></option>
|
||||
[% FOREACH pr IN possible_relationships.split('\|') %]
|
||||
|
|
@ -590,7 +594,7 @@
|
|||
[% END %]
|
||||
|
||||
<li>
|
||||
<label for="guarantor_cancel"> </label>
|
||||
<label for="guarantor_cancel" id="guarantor_cancel_label"> </label>
|
||||
<span
|
||||
><a href="#" class="guarantor_cancel"><i class="fa fa-trash-can"></i> Remove</a></span
|
||||
>
|
||||
|
|
@ -609,7 +613,7 @@
|
|||
|
||||
[% IF Koha.Preference('AllowStaffToSetCheckoutsVisibilityForGuarantor') %]
|
||||
<li>
|
||||
<label for="privacy_guarantor_checkouts">Show checkouts to guarantors:</label>
|
||||
<label for="privacy_guarantor_checkouts" id="privacy_guarantor_checkouts_label">Show checkouts to guarantors:</label>
|
||||
<select name="privacy_guarantor_checkouts" id="privacy_guarantor_checkouts">
|
||||
[% IF borrower_data.privacy_guarantor_checkouts %]
|
||||
<option value="0">No</option>
|
||||
|
|
@ -624,7 +628,7 @@
|
|||
[% END %]
|
||||
[% IF Koha.Preference('AllowStaffToSetFinesVisibilityForGuarantor') %]
|
||||
<li>
|
||||
<label for="privacy_guarantor_fines">Show charges to guarantors:</label>
|
||||
<label for="privacy_guarantor_fines" id="privacy_guarantor_fines_label">Show charges to guarantors:</label>
|
||||
<select name="privacy_guarantor_fines" id="privacy_guarantor_fines">
|
||||
[% IF borrower_data.privacy_guarantor_fines %]
|
||||
<option value="0">No</option>
|
||||
|
|
@ -652,7 +656,7 @@
|
|||
<ol>
|
||||
[% UNLESS nocontactname %]
|
||||
<li>
|
||||
<label for="contactname" [% IF mandatorycontactname %]class="required"[% END %]> Guarantor surname: </label>
|
||||
<label for="contactname" [% IF mandatorycontactname %]class="required"[% END %] id="contactname_label"> Guarantor surname: </label>
|
||||
<input type="text" id="contactname" name="contactname" value="[% patron.contactname | html %]" />
|
||||
[% IF ( mandatorycontactname ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -663,7 +667,7 @@
|
|||
|
||||
[% UNLESS nocontactfirstname %]
|
||||
<li>
|
||||
<label for="contactfirstname" [% IF mandatorycontactfirstname %]class="required"[% END %]> Guarantor first name: </label>
|
||||
<label for="contactfirstname" [% IF mandatorycontactfirstname %]class="required"[% END %] id="contactfirstname_label"> Guarantor first name: </label>
|
||||
<input type="text" id="contactfirstname" name="contactfirstname" value="[% patron.contactfirstname | html %]" />
|
||||
[% IF ( mandatorycontactfirstname ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -674,7 +678,7 @@
|
|||
|
||||
[% UNLESS norelationship %]
|
||||
<li>
|
||||
<label for="relationship" [% IF mandatoryrelationship %]class="required"[% END %]>Relationship: </label>
|
||||
<label for="relationship" [% IF mandatoryrelationship %]class="required"[% END %] id="relationship_label">Relationship: </label>
|
||||
<select class="relationship" name="relationship" id="relationship" [% IF mandatoryrelationship %]required="required"[% END %]>
|
||||
<option value=""></option>
|
||||
[% FOREACH pr IN possible_relationships.split('\|') %]
|
||||
|
|
@ -709,7 +713,7 @@
|
|||
<ol>
|
||||
[% UNLESS nophone %]
|
||||
<li>
|
||||
<label for="phone" [% IF mandatoryphone %]class="required"[% END %]> Primary phone: </label>
|
||||
<label for="phone" [% IF mandatoryphone %]class="required"[% END %] id="phone_label"> Primary phone: </label>
|
||||
<input type="text" id="phone" name="phone" value="[% patron.phone | html %]" />
|
||||
[% IF ( mandatoryphone ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -720,7 +724,7 @@
|
|||
|
||||
[% UNLESS nophonepro %]
|
||||
<li>
|
||||
<label for="phonepro" [% IF mandatoryphonepro %]class="required"[% END %]> Secondary phone: </label>
|
||||
<label for="phonepro" [% IF mandatoryphonepro %]class="required"[% END %] id="phonepro_label"> Secondary phone: </label>
|
||||
<input type="text" id="phonepro" name="phonepro" value="[% patron.phonepro | html %]" />
|
||||
[% IF ( mandatoryphonepro ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -730,7 +734,7 @@
|
|||
|
||||
[% UNLESS nomobile %]
|
||||
<li>
|
||||
<label for="mobile" [% IF mandatorymobile %]class="required"[% END %]> Other phone: </label>
|
||||
<label for="mobile" [% IF mandatorymobile %]class="required"[% END %] id="mobile_label"> Other phone: </label>
|
||||
<input type="text" id="mobile" name="mobile" value="[% patron.mobile | html %]" />
|
||||
[% IF ( mandatorymobile ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -740,7 +744,7 @@
|
|||
|
||||
[% UNLESS noemail %]
|
||||
<li>
|
||||
<label for="email" [% IF mandatoryemail %]class="required"[% END %]> Primary email: </label>
|
||||
<label for="email" [% IF mandatoryemail %]class="required"[% END %] id="email_label"> Primary email: </label>
|
||||
[% IF ( NoUpdateEmail ) %]
|
||||
<input type="text" id="email" name="email" size="45" value="[% patron.email | html %]" disabled="disabled" />
|
||||
[% ELSE %]
|
||||
|
|
@ -755,7 +759,7 @@
|
|||
|
||||
[% UNLESS noemailpro %]
|
||||
<li>
|
||||
<label for="emailpro" [% IF mandatoryemailpro %]class="required"[% END %]> Secondary email: </label>
|
||||
<label for="emailpro" [% IF mandatoryemailpro %]class="required"[% END %] id="emailpro_label"> Secondary email: </label>
|
||||
[% IF ( NoUpdateEmail ) %]
|
||||
<input type="text" id="emailpro" name="emailpro" size="45" value="[% patron.emailpro | html %]" disabled="disabled" />
|
||||
[% ELSE %]
|
||||
|
|
@ -769,7 +773,7 @@
|
|||
|
||||
[% UNLESS nofax %]
|
||||
<li>
|
||||
<label for="fax" [% IF mandatoryfax %]class="required"[% END %]> Fax: </label>
|
||||
<label for="fax" [% IF mandatoryfax %]class="required"[% END %] id="fax_label"> Fax: </label>
|
||||
<input type="text" id="fax" name="fax" value="[% patron.fax | html %]" />
|
||||
[% IF ( mandatoryfax ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -779,7 +783,7 @@
|
|||
|
||||
[% UNLESS noprimary_contact_method %]
|
||||
<li>
|
||||
<label for="primary_contact_method" [% IF mandatoryprimary_contact_method %]class="required"[% END %]> Main contact method: </label>
|
||||
<label for="primary_contact_method" [% IF mandatoryprimary_contact_method %]class="required"[% END %] id="primary_contact_method_label"> Main contact method: </label>
|
||||
|
||||
<select id="primary_contact_method" name="primary_contact_method">
|
||||
<option value=""></option>
|
||||
|
|
@ -861,7 +865,7 @@
|
|||
<ol>
|
||||
[% UNLESS nocardnumber %]
|
||||
<li>
|
||||
<label for="cardnumber" class="[% mandatorycardnumber ? 'required' : 'validated' | html %]"> Card number: </label>
|
||||
<label for="cardnumber" class="[% mandatorycardnumber ? 'required' : 'validated' | html %]" id="cardnumber_label"> Card number: </label>
|
||||
|
||||
[% IF minlength_cardnumber == maxlength_cardnumber %]
|
||||
<input
|
||||
|
|
@ -919,7 +923,7 @@
|
|||
|
||||
[% UNLESS nobranchcode %]
|
||||
<li>
|
||||
<label for="libraries" class="required">Library:</label>
|
||||
<label for="libraries" class="required" id="libraries_label">Library:</label>
|
||||
<select name="branchcode" id="libraries">
|
||||
[% PROCESS options_for_libraries libraries => Branches.all( selected => userbranch, only_from_group => 1 ) %]
|
||||
</select>
|
||||
|
|
@ -928,7 +932,7 @@
|
|||
[% END %]
|
||||
|
||||
<li>
|
||||
<label for="categorycode_entry" class="required">Category: </label>
|
||||
<label for="categorycode_entry" class="required" id="categorycode_entry_label">Category: </label>
|
||||
<select id="categorycode_entry" name="categorycode">
|
||||
[% FOREACH category_type IN patron_categories.keys.sort %]
|
||||
[% SET optgroup_label = t("Unknown") %]
|
||||
|
|
@ -983,7 +987,7 @@
|
|||
|
||||
[% UNLESS nosort1 %]
|
||||
<li>
|
||||
<label for="sort1" [% IF mandatorysort1 %]class="required"[% END %]> Sort 1: </label>
|
||||
<label for="sort1" [% IF mandatorysort1 %]class="required"[% END %] id="sort1_label"> Sort 1: </label>
|
||||
[% PROCESS 'av-build-dropbox.inc' name="sort1", category="Bsort1", default=borrower_data.sort1, empty=1, size = 20 %]
|
||||
[% IF ( mandatorysort1 ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -993,7 +997,7 @@
|
|||
|
||||
[% UNLESS nosort2 %]
|
||||
<li>
|
||||
<label for="sort2" [% IF mandatorysort2 %]class="required"[% END %]> Sort 2: </label>
|
||||
<label for="sort2" [% IF mandatorysort2 %]class="required"[% END %] id="sort2_label"> Sort 2: </label>
|
||||
[% PROCESS 'av-build-dropbox.inc' name="sort2", category="Bsort2", default=borrower_data.sort2, empty=1, size = 20 %]
|
||||
[% IF ( mandatorysort2 ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -1003,22 +1007,22 @@
|
|||
|
||||
[% UNLESS noautorenew_checkouts %]
|
||||
<li class="radio">
|
||||
<label for="yes-autorenew_checkouts"> Allow auto-renewal of items: </label>
|
||||
<label for="yes-autorenew_checkouts" id="yes-autorenew_checkouts_label"> Allow auto-renewal of items: </label>
|
||||
[% IF ( borrower_data.autorenew_checkouts || op == 'add_form' ) %]
|
||||
<label for="yes-autorenew_checkouts">
|
||||
<label for="yes-autorenew_checkouts" id="yes-autorenew_checkouts_label">
|
||||
Yes
|
||||
<input type="radio" id="yes-autorenew_checkouts" name="autorenew_checkouts" value="1" checked="checked" />
|
||||
</label>
|
||||
<label for="no-autorenew_checkouts">
|
||||
<label for="no-autorenew_checkouts" id="no-autorenew_checkouts_label">
|
||||
No
|
||||
<input type="radio" id="no-autorenew_checkouts" name="autorenew_checkouts" value="0" />
|
||||
</label>
|
||||
[% ELSE %]
|
||||
<label for="yes-autorenew_checkouts">
|
||||
<label for="yes-autorenew_checkouts" id="yes-autorenew_checkouts_label">
|
||||
Yes
|
||||
<input type="radio" id="yes-autorenew_checkouts" name="autorenew_checkouts" value="1" />
|
||||
</label>
|
||||
<label for="no-autorenew_checkouts">
|
||||
<label for="no-autorenew_checkouts" id="no-autorenew_checkouts_label">
|
||||
No
|
||||
<input type="radio" id="no-autorenew_checkouts" name="autorenew_checkouts" value="0" checked="checked" />
|
||||
</label>
|
||||
|
|
@ -1028,22 +1032,22 @@
|
|||
|
||||
[% UNLESS noprotected || !CanUpdateProtectPatron %]
|
||||
<li class="radio">
|
||||
<label for="protected">Protected:</label>
|
||||
<label for="protected" id="protected_label">Protected:</label>
|
||||
[% IF ( patron.protected == 1 ) %]
|
||||
<label for="yes-protected">
|
||||
<label for="yes-protected" id="yes-protected_label">
|
||||
Yes
|
||||
<input type="radio" id="yes-protected" name="protected" value="1" checked="checked" />
|
||||
</label>
|
||||
<label for="no-protected">
|
||||
<label for="no-protected" id="no-protected_label">
|
||||
No
|
||||
<input type="radio" id="no-protected" name="protected" value="0" />
|
||||
</label>
|
||||
[% ELSE %]
|
||||
<label for="yes-protected">
|
||||
<label for="yes-protected" id="yes-protected_label">
|
||||
Yes
|
||||
<input type="radio" id="yes-protected" name="protected" value="1" />
|
||||
</label>
|
||||
<label for="no-protected">
|
||||
<label for="no-protected" id="no-protected_label">
|
||||
No
|
||||
<input type="radio" id="no-protected" name="protected" value="0" checked="checked" />
|
||||
</label>
|
||||
|
|
@ -1053,7 +1057,7 @@
|
|||
|
||||
[% IF ( Koha.Preference('CheckPrevCheckout') == 'softyes' || Koha.Preference('CheckPrevCheckout') == 'softno' ) %]
|
||||
<li>
|
||||
<label for="checkprevcheckout">Check for previous checkouts: </label>
|
||||
<label for="checkprevcheckout" id="checkprevcheckout_label">Check for previous checkouts: </label>
|
||||
<select name="checkprevcheckout" id="checkprevcheckout">
|
||||
[% IF ( borrower_data.checkprevcheckout == 'yes' ) %]
|
||||
<option value="yes" selected="selected">Yes if settings allow it</option>
|
||||
|
|
@ -1074,7 +1078,7 @@
|
|||
|
||||
[% IF Koha.Preference('TranslateNotices') %]
|
||||
<li>
|
||||
<label for="lang">Preferred language for notices: </label>
|
||||
<label for="lang" id="lang_label">Preferred language for notices: </label>
|
||||
<select id="lang" name="lang">
|
||||
<option value="default">Default</option>
|
||||
[% FOR language IN languages %]
|
||||
|
|
@ -1115,7 +1119,7 @@
|
|||
<ol>
|
||||
[% UNLESS nodateenrolled %]
|
||||
<li>
|
||||
<label for="from" [% IF mandatorydateenrolled %]class="required"[% END %]> Registration date: </label>
|
||||
<label for="from" [% IF mandatorydateenrolled %]class="required"[% END %] id="from_label"> Registration date: </label>
|
||||
<input type="text" id="from" name="dateenrolled" maxlength="10" size="10" value="[% borrower_data.dateenrolled | html %]" class="flatpickr" data-date_to="to" />
|
||||
[% IF ( mandatorydateenrolled ) %]
|
||||
<span class="required">Required</span>
|
||||
|
|
@ -1128,7 +1132,7 @@
|
|||
[% END # /UNLESS nodateenrolled %]
|
||||
|
||||
<li [% IF nodateexpiry %]style="display:none"[% END %]>
|
||||
<label for="to" [% IF mandatorydateexpiry %]class="required"[% END %]> Expiry date (leave blank for auto calc): </label>
|
||||
<label for="to" [% IF mandatorydateexpiry %]class="required"[% END %] id="to_label"> Expiry date (leave blank for auto calc): </label>
|
||||
[% UNLESS ( op == 'add_form' ) %]
|
||||
<input type="text" id="to" name="dateexpiry" maxlength="10" size="10" value="[% borrower_data.dateexpiry | html UNLESS op == 'duplicate' %]" class="flatpickr" />
|
||||
[% ELSE %]
|
||||
|
|
@ -1145,7 +1149,7 @@
|
|||
|
||||
[% UNLESS noopacnote %]
|
||||
<li>
|
||||
<label for="opacnote" [% IF mandatoryopacnote %]class="required"[% END %]> OPAC note: </label>
|
||||
<label for="opacnote" [% IF mandatoryopacnote %]class="required"[% END %] id="opacnote_label"> OPAC note: </label>
|
||||
<textarea id="opacnote" name="opacnote" cols="55" rows="5">[% borrower_data.opacnote | html UNLESS op == 'duplicate' %]</textarea>
|
||||
<div class="hint">This message appears on this patron's user page in the OPAC</div>
|
||||
[% IF ( mandatoryopacnote ) %]
|
||||
|
|
@ -1156,7 +1160,7 @@
|
|||
|
||||
[% UNLESS noborrowernotes %]
|
||||
<li>
|
||||
<label for="borrowernotes" [% IF mandatoryborrowernotes %]class="required"[% END %]> Circulation note: </label>
|
||||
<label for="borrowernotes" [% IF mandatoryborrowernotes %]class="required"[% END %] id="borrowernotes_label"> Circulation note: </label>
|
||||
<textarea id="borrowernotes" name="borrowernotes" cols="55" rows="5">[% borrower_data.borrowernotes | $raw UNLESS op == 'duplicate' %]</textarea>
|
||||
<div class="hint">This message displays when checking out to this patron</div>
|
||||
[% IF ( mandatoryborrowernotes ) %]
|
||||
|
|
@ -1178,7 +1182,7 @@
|
|||
<ol>
|
||||
[% UNLESS nouserid %]
|
||||
<li>
|
||||
<label for="userid" [% IF mandatoryuserid %]class="required"[% END %]> Username: </label>
|
||||
<label for="userid" [% IF mandatoryuserid %]class="required"[% END %] id="userid_label"> Username: </label>
|
||||
|
||||
[%# Dummy input to avoid Firefox from using userid/password saved for authentication %]
|
||||
<input type="text" disabled="disabled" style="display:none" />
|
||||
|
|
@ -1205,7 +1209,7 @@
|
|||
|
||||
[% UNLESS nopassword %]
|
||||
<li>
|
||||
<label for="password" [% IF mandatorypassword %]class="required"[% END %]> Password: </label>
|
||||
<label for="password" [% IF mandatorypassword %]class="required"[% END %] id="password_label"> Password: </label>
|
||||
[% IF ( op == 'add_form' ) %]
|
||||
[% IF ( NoUpdateLogin ) %]
|
||||
[% IF ( op == 'duplicate' ) %]
|
||||
|
|
@ -1256,7 +1260,7 @@
|
|||
</li>
|
||||
|
||||
<li>
|
||||
<label for="password2" [% IF mandatorypassword %]class="required"[% END %]> Confirm password: </label>
|
||||
<label for="password2" [% IF mandatorypassword %]class="required"[% END %] id="password2_label"> Confirm password: </label>
|
||||
[% IF ( op == 'add_form' ) %]
|
||||
[% IF ( NoUpdateLogin ) %]
|
||||
[% IF ( op == 'duplicate' ) %]
|
||||
|
|
@ -1301,7 +1305,7 @@
|
|||
[% END # /UNLESS nopassword %]
|
||||
[% UNLESS ( !CanUpdatePasswordExpiration ) %]
|
||||
<li>
|
||||
<label for="password_expiration_date">Password expiration date:</label>
|
||||
<label for="password_expiration_date" id="password_expiration_date_label">Password expiration date:</label>
|
||||
<input type="text" id="password_expiration_date" name="password_expiration_date" maxlength="10" size="10" value="[% borrower_data.password_expiration_date | html %]" class="flatpickr" />
|
||||
</li>
|
||||
[% END %]
|
||||
|
|
@ -1322,9 +1326,9 @@
|
|||
<ol class="radio">
|
||||
[% UNLESS nogonenoaddress %]
|
||||
<li>
|
||||
<label class="radio [% IF mandatorygonenoaddress %]required[% END %]" for="yesgonenoaddress"> Address correction needed: </label>
|
||||
<label class="radio [% IF mandatorygonenoaddress %]required[% END %]" for="yesgonenoaddress" id="yesgonenoaddress_label"> Address correction needed: </label>
|
||||
[% IF CAN_user_circulate_manage_restrictions %]
|
||||
<label for="yesgonenoaddress">
|
||||
<label for="yesgonenoaddress" id="yesgonenoaddress_label">
|
||||
[% IF ( borrower_data.gonenoaddress ) %]
|
||||
<input type="radio" id="yesgonenoaddress" name="gonenoaddress" value="1" checked="checked" />
|
||||
[% ELSE %]
|
||||
|
|
@ -1332,7 +1336,7 @@
|
|||
[% END %]
|
||||
Yes
|
||||
</label>
|
||||
<label for="nogonenoaddress">
|
||||
<label for="nogonenoaddress" id="nogonenoaddress_label">
|
||||
[% IF ( borrower_data.gonenoaddress ) %]
|
||||
<input type="radio" id="nogonenoaddress" name="gonenoaddress" value="0" />
|
||||
[% ELSE %]
|
||||
|
|
@ -1352,7 +1356,7 @@
|
|||
<li>
|
||||
<label class="radio [% IF mandatorylost %]required[% END %]" for="yeslost"> Lost card: </label>
|
||||
[% IF CAN_user_circulate_manage_restrictions %]
|
||||
<label for="yeslost">
|
||||
<label for="yeslost" id="yeslost_label">
|
||||
[% IF ( borrower_data.lost ) %]
|
||||
<input type="radio" id="yeslost" name="lost" value="1" checked="checked" />
|
||||
[% ELSE %]
|
||||
|
|
@ -1360,7 +1364,7 @@
|
|||
[% END %]
|
||||
Yes
|
||||
</label>
|
||||
<label for="nolost">
|
||||
<label for="nolost" id="nolost_label">
|
||||
[% IF ( borrower_data.lost ) %]
|
||||
<input type="radio" id="nolost" name="lost" value="0" />
|
||||
[% ELSE %]
|
||||
|
|
@ -1443,7 +1447,7 @@
|
|||
<ol>
|
||||
[% IF Koha.Preference('PatronRestrictionTypes') %]
|
||||
<li>
|
||||
<label for="debarred_type">Type:</label>
|
||||
<label for="debarred_type" id="debarred_type_label">Type:</label>
|
||||
<select name="debarred_type">
|
||||
[% FOREACH restriction_type IN restriction_types %]
|
||||
[% IF !restriction_type.is_system %]
|
||||
|
|
@ -1458,11 +1462,11 @@
|
|||
</li>
|
||||
[% END %]
|
||||
<li>
|
||||
<label for="debarred_comment">Comment: </label>
|
||||
<label for="debarred_comment" id="debarred_comment_label">Comment: </label>
|
||||
<input type="text" id="debarred_comment" name="debarred_comment" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="debarred_expiration">Expiration: </label>
|
||||
<label for="debarred_expiration" id="debarred_expiration_label">Expiration: </label>
|
||||
<input name="debarred_expiration" id="debarred_expiration" size="10" value="" class="flatpickr" type="text" />
|
||||
<a href="#" id="clear_debarred_expiration">Clear date</a>
|
||||
</li>
|
||||
|
|
@ -1487,30 +1491,30 @@
|
|||
</legend>
|
||||
<ol class="radio">
|
||||
<li>
|
||||
<label class="radio" for="housebound_chooser"> Chooser: </label>
|
||||
<label class="radio" for="housebound_chooser" id="housebound_chooser_label"> Chooser: </label>
|
||||
[% IF ( housebound_role.housebound_chooser == 1 ) %]
|
||||
<label for="yes_housebound_chooser">Yes </label>
|
||||
<label for="yes_housebound_chooser" id="yes_housebound_chooser_label">Yes </label>
|
||||
<input type="radio" id="yes_housebound_chooser" name="housebound_chooser" value="1" checked="checked" />
|
||||
<label for="no_housebound_chooser">No </label>
|
||||
<label for="no_housebound_chooser" id="no_housebound_chooser_label">No </label>
|
||||
<input type="radio" id="no_housebound_chooser" name="housebound_chooser" value="0" />
|
||||
[% ELSE %]
|
||||
<label for="yes_housebound_chooser">Yes </label>
|
||||
<label for="yes_housebound_chooser" id="yes_housebound_chooser_label">Yes </label>
|
||||
<input type="radio" id="yes_housebound_chooser" name="housebound_chooser" value="1" />
|
||||
<label for="no_housebound_chooser">No </label>
|
||||
<label for="no_housebound_chooser" id="no_housebound_chooser_label">No </label>
|
||||
<input type="radio" id="no_housebound_chooser" name="housebound_chooser" value="0" checked="checked" />
|
||||
[% END %]
|
||||
</li>
|
||||
<li>
|
||||
<label class="radio" for="housebound_deliverer">Deliverer:</label>
|
||||
<label class="radio" for="housebound_deliverer" id="housebound_deliverer_label">Deliverer:</label>
|
||||
[% IF ( housebound_role.housebound_deliverer == 1 ) %]
|
||||
<label for="yes_housebound_deliverer">Yes </label>
|
||||
<label for="yes_housebound_deliverer" id="yes_housebound_deliverer_label">Yes </label>
|
||||
<input type="radio" id="yes_housebound_deliverer" name="housebound_deliverer" value="1" checked="checked" />
|
||||
<label for="no_housebound_deliverer">No </label>
|
||||
<label for="no_housebound_deliverer" id="no_housebound_deliverer_label">No </label>
|
||||
<input type="radio" id="no_housebound_deliverer" name="housebound_deliverer" value="0" />
|
||||
[% ELSE %]
|
||||
<label for="yes_housebound_deliverer">Yes </label>
|
||||
<label for="yes_housebound_deliverer" id="yes_housebound_deliverer_label">Yes </label>
|
||||
<input type="radio" id="yes_housebound_deliverer" name="housebound_deliverer" value="1" />
|
||||
<label for="no_housebound_deliverer">No </label>
|
||||
<label for="no_housebound_deliverer" id="no_housebound_deliverer_label">No </label>
|
||||
<input type="radio" id="no_housebound_deliverer" name="housebound_deliverer" value="0" checked="checked" />
|
||||
[% END %]
|
||||
</li>
|
||||
|
|
@ -1541,14 +1545,14 @@
|
|||
[% IF ( SMSSendDriver ) %]
|
||||
[% IF !nosmsalertnumber %]
|
||||
<p>
|
||||
<label for="SMSnumber">SMS number:</label>
|
||||
<label for="SMSnumber" id="SMSnumber_label">SMS number:</label>
|
||||
<input type="text" id="SMSnumber" name="SMSnumber" value="[% SMSnumber | html %]" />
|
||||
<span class="hint sms_number_help">Please enter numbers only. Prefix the number with + or 00 if including the country code.</span>
|
||||
</p>
|
||||
[% END %]
|
||||
[% IF SMSSendDriver == 'Email' && !nosms_provider_id %]
|
||||
<p>
|
||||
<label for="sms_provider_id">SMS provider:</label>
|
||||
<label for="sms_provider_id" id="sms_provider_id_label">SMS provider:</label>
|
||||
<select id="sms_provider_id" name="sms_provider_id">
|
||||
<option value="">Unknown</option>
|
||||
[% FOREACH s IN sms_providers %]
|
||||
|
|
|
|||
Loading…
Reference in New Issue