@@ -, +, @@
---
C4/Members.pm | 13 ++++-----
...RegistrationBorrowrUnwantedField_by_default.sql | 1 +
.../bootstrap/en/modules/opac-memberentry.tt | 31 ++++++++++++++++++++++
opac/opac-memberentry.pl | 10 ++++++-
t/db_dependent/Members.t | 11 +++++++-
5 files changed, 58 insertions(+), 8 deletions(-)
create mode 100644 installer/data/mysql/atomicupdate/bug_15343-add_password_to_PatronSelfRegistrationBorrowrUnwantedField_by_default.sql
--- a/C4/Members.pm
+++ a/C4/Members.pm
@@ -2483,17 +2483,18 @@ sub AddMember_Opac {
my ( %borrower ) = @_;
$borrower{'categorycode'} = C4::Context->preference('PatronSelfRegistrationDefaultCategory');
-
- my $sr = new String::Random;
- $sr->{'A'} = [ 'A'..'Z', 'a'..'z' ];
- my $password = $sr->randpattern("AAAAAAAAAA");
- $borrower{'password'} = $password;
+ if (not defined $borrower{'password'}){
+ my $sr = new String::Random;
+ $sr->{'A'} = [ 'A'..'Z', 'a'..'z' ];
+ my $password = $sr->randpattern("AAAAAAAAAA");
+ $borrower{'password'} = $password;
+ }
$borrower{'cardnumber'} = fixup_cardnumber();
my $borrowernumber = AddMember(%borrower);
- return ( $borrowernumber, $password );
+ return ( $borrowernumber, $borrower{'password'} );
}
=head2 AddEnrolmentFeeIfNeeded
--- a/installer/data/mysql/atomicupdate/bug_15343-add_password_to_PatronSelfRegistrationBorrowrUnwantedField_by_default.sql
+++ a/installer/data/mysql/atomicupdate/bug_15343-add_password_to_PatronSelfRegistrationBorrowrUnwantedField_by_default.sql
@@ -0,0 +1, @@
+UPDATE systempreferences SET value = CONCAT_WS('|', IF(value='', NULL, value), "password") WHERE variable="PatronSelfRegistrationBorrowerUnwantedField" AND value NOT LIKE "%password%";
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt
+++ a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt
@@ -60,6 +60,8 @@
[% IF field == "email" %]
Contact information: primary email address[% END %]
[% IF field == "emailpro" %]Contact information: secondary email address[% END %]
[% IF field == "B_email" %]Alternate address information: email address[% END %]
+ [% IF field == "password_match" %]Passwords do not match! password[% END %]
+ [% IF field == "password_invalid" %]Password does not meet minium requirements! password[% END %]
[% END %]
Please correct the errors and resubmit.
@@ -751,8 +753,37 @@
[% END %]
[% UNLESS action == 'edit' %]
+
+