Bug 20264: Remove syspref checkdigit
According to http://irc.koha-community.org/koha/2013-06-26#i_1333289 http://irc.koha-community.org/koha/2013-06-26#i_1333589 and Hea data, this syspref is no longer in used and is always set to false. Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au> Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
c40e07d6a6
commit
bd29269185
|
|
@ -534,9 +534,6 @@ mode, to avoid database corruption.
|
|||
|
||||
=cut
|
||||
|
||||
use vars qw( @weightings );
|
||||
my @weightings = ( 8, 4, 6, 3, 5, 2, 1 );
|
||||
|
||||
sub fixup_cardnumber {
|
||||
my ($cardnumber) = @_;
|
||||
my $autonumber_members = C4::Context->boolean_preference('autoMemberNum') || 0;
|
||||
|
|
@ -545,56 +542,15 @@ sub fixup_cardnumber {
|
|||
# automatically. Should be either "1" or something else.
|
||||
# Defaults to "0", which is interpreted as "no".
|
||||
|
||||
# if ($cardnumber !~ /\S/ && $autonumber_members) {
|
||||
($autonumber_members) or return $cardnumber;
|
||||
my $checkdigit = C4::Context->preference('checkdigit');
|
||||
my $dbh = C4::Context->dbh;
|
||||
if ( $checkdigit and $checkdigit eq 'katipo' ) {
|
||||
|
||||
# if checkdigit is selected, calculate katipo-style cardnumber.
|
||||
# otherwise, just use the max()
|
||||
# purpose: generate checksum'd member numbers.
|
||||
# We'll assume we just got the max value of digits 2-8 of member #'s
|
||||
# from the database and our job is to increment that by one,
|
||||
# determine the 1st and 9th digits and return the full string.
|
||||
my $sth = $dbh->prepare(
|
||||
"select max(substring(borrowers.cardnumber,2,7)) as new_num from borrowers"
|
||||
);
|
||||
$sth->execute;
|
||||
my $data = $sth->fetchrow_hashref;
|
||||
$cardnumber = $data->{new_num};
|
||||
if ( !$cardnumber ) { # If DB has no values,
|
||||
$cardnumber = 1000000; # start at 1000000
|
||||
} else {
|
||||
$cardnumber += 1;
|
||||
}
|
||||
|
||||
my $sum = 0;
|
||||
for ( my $i = 0 ; $i < 8 ; $i += 1 ) {
|
||||
# read weightings, left to right, 1 char at a time
|
||||
my $temp1 = $weightings[$i];
|
||||
|
||||
# sequence left to right, 1 char at a time
|
||||
my $temp2 = substr( $cardnumber, $i, 1 );
|
||||
|
||||
# mult each char 1-7 by its corresponding weighting
|
||||
$sum += $temp1 * $temp2;
|
||||
}
|
||||
|
||||
my $rem = ( $sum % 11 );
|
||||
$rem = 'X' if $rem == 10;
|
||||
|
||||
return "V$cardnumber$rem";
|
||||
} else {
|
||||
|
||||
my $sth = $dbh->prepare(
|
||||
'SELECT MAX( CAST( cardnumber AS SIGNED ) ) FROM borrowers WHERE cardnumber REGEXP "^-?[0-9]+$"'
|
||||
);
|
||||
$sth->execute;
|
||||
my ($result) = $sth->fetchrow;
|
||||
return $result + 1;
|
||||
}
|
||||
return $cardnumber; # just here as a fallback/reminder
|
||||
my $sth = $dbh->prepare(
|
||||
'SELECT MAX( CAST( cardnumber AS SIGNED ) ) FROM borrowers WHERE cardnumber REGEXP "^-?[0-9]+$"'
|
||||
);
|
||||
$sth->execute;
|
||||
my ($result) = $sth->fetchrow;
|
||||
return $result + 1;
|
||||
}
|
||||
|
||||
=head2 GetPendingIssues
|
||||
|
|
|
|||
|
|
@ -291,7 +291,6 @@ sub BuildReport {
|
|||
AutoEmailPrimaryAddress
|
||||
autoMemberNum
|
||||
BorrowerRenewalPeriodBase
|
||||
checkdigit
|
||||
EnableBorrowerFiles
|
||||
EnhancedMessagingPreferences
|
||||
ExtendedPatronAttributes
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
DELETE FROM systempreferences WHERE variable="checkdigit";
|
||||
|
|
@ -102,7 +102,6 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `
|
|||
('casServerUrl','https://localhost:8443/cas','','URL of the cas server','Free'),
|
||||
('CatalogModuleRelink','0',NULL,'If OFF the linker will never replace the authids that are set in the cataloging module.','YesNo'),
|
||||
('CataloguingLog','1',NULL,'If ON, log edit/create/delete actions on bibliographic data. WARNING: this feature is very resource consuming.','YesNo'),
|
||||
('checkdigit','none','none|katipo','If ON, enable checks on patron cardnumber: none or \"Katipo\" style checks','Choice'),
|
||||
('CheckPrevCheckout','hardno','hardyes|softyes|softno|hardno','By default, for every item checked out, should we warn if the patron has borrowed that item in the past?','Choice'),
|
||||
('CircAutocompl','1',NULL,'If ON, autocompletion is enabled for the Circulation input','YesNo'),
|
||||
('CircAutoPrintQuickSlip','qslip',NULL,'Choose what should happen when an empty barcode field is submitted in circulation: Display a print quick slip window, Display a print slip window or Clear the screen.','Choice'),
|
||||
|
|
|
|||
|
|
@ -54,12 +54,6 @@ Patrons:
|
|||
softno: "Unless overridden, do not"
|
||||
hardno: "Do not"
|
||||
- " check borrower checkout history to see if the current item has been checked out before."
|
||||
-
|
||||
- pref: checkdigit
|
||||
choices:
|
||||
none: "Don't"
|
||||
katipo: Do
|
||||
- check and construct borrower card numbers in the Katipo style. This overrides <code>autoMemberNum</code> if on.
|
||||
-
|
||||
- pref: EnhancedMessagingPreferences
|
||||
choices:
|
||||
|
|
|
|||
|
|
@ -545,7 +545,6 @@ sub mocking_systempreferences_to_a_set_value {
|
|||
AutoEmailPrimaryAddress
|
||||
autoMemberNum
|
||||
BorrowerRenewalPeriodBase
|
||||
checkdigit
|
||||
EnableBorrowerFiles
|
||||
EnhancedMessagingPreferences
|
||||
ExtendedPatronAttributes
|
||||
|
|
|
|||
Loading…
Reference in New Issue