Bug 34438: Add lang field to OPAC patron self registration form

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Lucas Gass 2023-07-27 20:32:14 +00:00 committed by Tomas Cohen Arazi
parent bf249fc5fe
commit 181cef50f7
No known key found for this signature in database
GPG Key ID: 0A272EA1B2F3C15F
2 changed files with 36 additions and 3 deletions

View File

@ -210,7 +210,7 @@
<form method="post" action="/cgi-bin/koha/opac-memberentry.pl" id="memberentry-form" autocomplete="off">
[% FOREACH field = ['streetnumber' 'streettype' 'cardnumber' 'branchcode' 'categorycode' 'title' 'surname' 'firstname' 'middle_name' 'dateofbirth' 'initials' 'pronouns' 'othernames' 'address' 'address2' 'city' 'state' 'zipcode' 'country' 'phone' 'phonepro' 'mobile' 'email' 'emailpro' 'fax' 'B_streettype' 'B_streetnumber' 'B_address' 'B_address2' 'B_city' 'B_state' 'B_zipcode' 'B_country' 'B_phone' 'B_email' 'contactnote' 'altcontactsurname' 'altcontactfirstname' 'altcontactaddress1' 'altcontactaddress2' 'altcontactaddress3' 'altcontactstate' 'altcontactzipcode' 'altcontactcountry' 'altcontactphone' 'password' ] %]
[% FOREACH field = ['streetnumber' 'streettype' 'cardnumber' 'branchcode' 'categorycode' 'title' 'surname' 'firstname' 'middle_name' 'dateofbirth' 'initials' 'pronouns' 'othernames' 'address' 'address2' 'city' 'state' 'zipcode' 'country' 'phone' 'phonepro' 'mobile' 'email' 'emailpro' 'fax' 'B_streettype' 'B_streetnumber' 'B_address' 'B_address2' 'B_city' 'B_state' 'B_zipcode' 'B_country' 'B_phone' 'B_email' 'contactnote' 'altcontactsurname' 'altcontactfirstname' 'altcontactaddress1' 'altcontactaddress2' 'altcontactaddress3' 'altcontactstate' 'altcontactzipcode' 'altcontactcountry' 'altcontactphone' 'password' 'lang' ] %]
[% IF mandatory.defined( field ) %]
[% SET required.$field = 'required' %]
[% END %]
@ -679,6 +679,36 @@
</select>
[% IF ( mandatory.defined('primary_contact_method') ) %]<span class="required">Required</span>[% END %]
</li>
[% UNLESS hidden.defined('lang') %]
<li>
[% IF ( mandatory.defined('lang') ) %]
<label for="borrower_lang" class="required">Preferred language for notices: </label>
[% ELSE %]
<label for="borrower_lang">Preferred language for notices: </label>
[% END %]
<select id="borrower_lang" name="borrower_lang">
<option value="default">Default</option>
[% FOR language IN languages %]
[% FOR sublanguage IN language.sublanguages_loop %]
[% IF language.plural %]
[% IF sublanguage.rfc4646_subtag == borrower.lang %]
<option value="[% sublanguage.rfc4646_subtag | html %]" selected="selected">[% sublanguage.native_description | html %] [% sublanguage.region_description | html %] ([% sublanguage.rfc4646_subtag | html %])</option>
[% ELSE %]
<option value="[% sublanguage.rfc4646_subtag | html %]">[% sublanguage.native_description | html %] [% sublanguage.region_description | html %] ([% sublanguage.rfc4646_subtag | html %])</option>
[% END %]
[% ELSE %]
[% IF sublanguage.rfc4646_subtag == borrower.lang %]
<option value="[% sublanguage.rfc4646_subtag | html %]" selected="selected">[% sublanguage.native_description | html %] ([% sublanguage.rfc4646_subtag | html %])</option>
[% ELSE %]
<option value="[% sublanguage.rfc4646_subtag | html %]">[% sublanguage.native_description | html %] ([% sublanguage.rfc4646_subtag | html %])</option>
[% END %]
[% END # /IF language.plural %]
[% END # /FOR sublanguage %]
[% END #/FOR language %]
</select> <!-- /#lang -->
[% IF ( mandatory.defined('lang') ) %]<div class="required_label required">Required</div>[% END %]
</li>
[% END %]
[% END %]
</ol>
</fieldset>

View File

@ -100,13 +100,16 @@ if ( defined $min ) {
);
}
my $translated_languages = C4::Languages::getTranslatedLanguages( 'opac', C4::Context->preference('template') );
$template->param(
action => $action,
hidden => GetHiddenFields( $mandatory, $action ),
mandatory => $mandatory,
libraries => $libraries,
OPACPatronDetails => C4::Context->preference('OPACPatronDetails'),
defaultCategory => $defaultCategory,
defaultCategory => $defaultCategory,
languages => $translated_languages,
);
my $attributes = ParsePatronAttributes($borrowernumber,$cgi);
@ -569,7 +572,7 @@ sub ParseCgiForBorrower {
# Replace checkbox 'agreed' by datetime in gdpr_proc_consent
$borrower{gdpr_proc_consent} = dt_from_string if $borrower{gdpr_proc_consent} && $borrower{gdpr_proc_consent} eq 'agreed';
delete $borrower{$_} for qw/borrowernumber date_renewed debarred debarredcomment flags privacy privacy_guarantor_fines privacy_guarantor_checkouts checkprevcheckout updated_on lastseen lang login_attempts overdrive_auth_token anonymized/; # See also members/memberentry.pl
delete $borrower{$_} for qw/borrowernumber date_renewed debarred debarredcomment flags privacy privacy_guarantor_fines privacy_guarantor_checkouts checkprevcheckout updated_on lastseen login_attempts overdrive_auth_token anonymized/; # See also members/memberentry.pl
delete $borrower{$_} for qw/dateenrolled dateexpiry borrowernotes opacnote sort1 sort2 sms_provider_id autorenew_checkouts gonenoaddress lost relationship/; # On OPAC only
delete $borrower{$_} for split( /\s*\|\s*/, C4::Context->preference('PatronSelfRegistrationBorrowerUnwantedField') || q{} );