@@ -, +, @@ when record is "Saved" (avoid collisions). -C4/Members.pm: -koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt: -members/memberentry.pl: -If "autoMemberNum" ON: ->In blank case, must generate auto card number in simulataneous users. ->If user entered, check for unique card number. -If "autoMemberNum" OFF: you can not save. Maybe that should be mentioned in the comment for syspref autoMemberNum. --- C4/Members.pm | 6 ++++++ .../prog/en/modules/members/memberentrygen.tt | 16 ++++++++++------ members/memberentry.pl | 7 ++++++- 3 files changed, 22 insertions(+), 7 deletions(-) --- a/C4/Members.pm +++ a/C4/Members.pm @@ -659,6 +659,12 @@ sub AddMember { $data{'dateenrolled'} = output_pref( { dt => dt_from_string, dateonly => 1, dateformat => 'iso' } ); } + if ( C4::Context->preference("autoMemberNum") ) { + if ( not exists $data{cardnumber} or not defined $data{cardnumber} or $data{cardnumber} eq '' ) { + $data{cardnumber} = fixup_cardnumber( $data{cardnumber}, C4::Context->userenv->{'branch'}, $data{categorycode} ); + } + } + my $patron_category = $schema->resultset('Category')->find( $data{'categorycode'} ); $data{'privacy'} = $patron_category->default_privacy() eq 'default' ? 1 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt @@ -600,27 +600,31 @@ $(document).ready(function() { Library management
    [% UNLESS nocardnumber %]
  1. - [% IF ( mandatorycardnumber ) %] + [% IF mandatorycardnumber and not Koha.Preference('autoMemberNum') %] + [% ELSE %] + Card number: + [% END %] [% IF minlength_cardnumber == maxlength_cardnumber %] - [% IF ( mandatorycardnumber ) %]Required[% END %] + [% IF mandatorycardnumber and not Koha.Preference('autoMemberNum') %]Required[% END %]
    Card number must be exactly [% minlength_cardnumber %] characters.
    [% ELSIF minlength_cardnumber && maxlength_cardnumber %] - [% IF ( mandatorycardnumber ) %]Required[% END %] + [% IF mandatorycardnumber and not Koha.Preference('autoMemberNum') %]Required[% END %]
    Card number must be between [% minlength_cardnumber %] and [% maxlength_cardnumber %] characters.
    [% ELSIF maxlength_cardnumber %] - [% IF ( mandatorycardnumber ) %]Required[% END %] + [% IF mandatorycardnumber and not Koha.Preference('autoMemberNum') %]Required[% END %]
    Card number can be up to [% maxlength_cardnumber %] characters.
    [% ELSE %] - [% IF ( mandatorycardnumber ) %]Required[% END %] + [% IF mandatorycardnumber and not Koha.Preference('autoMemberNum') %]Required[% END %]
    There is no minimum or maximum character length.
    [% END %]
  2. --- a/members/memberentry.pl +++ a/members/memberentry.pl @@ -505,7 +505,12 @@ if ( $op eq "duplicate" ) { $data{'cardnumber'} = ""; } -$data{'cardnumber'}=fixup_cardnumber($data{'cardnumber'}) if ( ( $op eq 'add' ) or ( $op eq 'duplicate' ) ); +if (C4::Context->preference("autoMemberNum")) { + $template->param( autoMemberNum => 1); +} else { + $template->param( autoMemberNum => 0); +} + if(!defined($data{'sex'})){ $template->param( none => 1); } elsif($data{'sex'} eq 'F'){ --