From 061d05e2835ceea15f1a684fba003745ecf5f4ed Mon Sep 17 00:00:00 2001 From: Baptiste Wojtkowski Date: Mon, 19 Jun 2017 15:04:28 +0000 Subject: [PATCH] Bug 13178: increase max value of CardnumberLength MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit testplan 1 - Apply patch 2 - Run updatedatabase.pl 3 - Update dbix scheme 4 - set the value of CardnumberLength to a value between 16 and 32 5 - Check you can enter a propper cardnumber (modify to 32 instead 20) + max value now depends on the database field value to Signed-off-by: Marc VĂ©ron --- C4/Members.pm | 2 +- installer/data/mysql/atomicupdate/bug_13178_wide_cardnumber.sql | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 installer/data/mysql/atomicupdate/bug_13178_wide_cardnumber.sql diff --git a/C4/Members.pm b/C4/Members.pm index 6527c79..3e6592c 100644 --- a/C4/Members.pm +++ b/C4/Members.pm @@ -956,7 +956,7 @@ database column. =cut sub get_cardnumber_length { - my ( $min, $max ) = ( 0, 16 ); # borrowers.cardnumber is a nullable varchar(16) + my ( $min, $max ) = ( 0, 32 ); # borrowers.cardnumber is a nullable varchar(20) $min = 1 if C4::Context->preference('BorrowerMandatoryField') =~ /cardnumber/; if ( my $cardnumber_length = C4::Context->preference('CardnumberLength') ) { # Is integer and length match diff --git a/installer/data/mysql/atomicupdate/bug_13178_wide_cardnumber.sql b/installer/data/mysql/atomicupdate/bug_13178_wide_cardnumber.sql new file mode 100644 index 0000000..7f3e23b --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_13178_wide_cardnumber.sql @@ -0,0 +1,6 @@ +ALTER TABLE borrowers MODIFY cardnumber varchar(32); +ALTER TABLE borrower_modifications MODIFY cardnumber varchar(32); +ALTER TABLE deletedborrowers MODIFY cardnumber varchar(32); +ALTER TABLE deletedborrowers MODIFY cardnumber varchar(32); +ALTER TABLE pending_offline_operations MODIFY cardnumber varchar(32); +ALTER TABLE tmp_holdsqueue MODIFY cardnumber varchar(32); -- 2.1.4