From c0296902967711e97c9894ae35a0760917ba3aab Mon Sep 17 00:00:00 2001 From: Olivier Crouzet Date: Thu, 12 Mar 2020 14:29:03 +0100 Subject: [PATCH] Bug 24842 regexp issue create serial missing list doubles --- C4/Serials.pm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/C4/Serials.pm b/C4/Serials.pm index 9d34b14..74b9b79 100644 --- a/C4/Serials.pm +++ b/C4/Serials.pm @@ -1119,18 +1119,18 @@ sub ModSerialStatus { if ( $status == ARRIVED || ($oldstatus == ARRIVED && $status != ARRIVED) ) { $recievedlist .= "; $serialseq" - if ($recievedlist !~ /(^|;)\s*$serialseq(?=;|$)/); + if ($recievedlist !~ /(^|;)\s*\Q$serialseq\E(?=;|$)/); } # in case serial has been previously marked as missing if (grep /$status/, (EXPECTED, ARRIVED, LATE, CLAIMED)) { - $missinglist=~ s/(^|;)\s*$serialseq(?=;|$)//g; + $missinglist=~ s/(^|;)\s*\Q$serialseq\E(?=;|$)//g; } $missinglist .= "; $serialseq" - if ( ( grep { $_ == $status } ( MISSING_STATUSES ) ) && ( $missinglist !~/(^|;)\s*$serialseq(?=;|$)/ ) ); + if ( ( grep { $_ == $status } ( MISSING_STATUSES ) ) && ( $missinglist !~/(^|;)\s*\Q$serialseq\E(?=;|$)/ ) ); $missinglist .= "; not issued $serialseq" - if ( $status == NOT_ISSUED && $missinglist !~ /(^|;)\s*$serialseq(?=;|$)/ ); + if ( $status == NOT_ISSUED && $missinglist !~ /(^|;)\s*\Q$serialseq\E(?=;|$)/ ); $query = "UPDATE subscriptionhistory SET recievedlist=?, missinglist=? WHERE subscriptionid=?"; $sth = $dbh->prepare($query); @@ -1778,8 +1778,8 @@ sub DelIssue { $sth->execute( $dataissue->{'subscriptionid'} ); my $data = $sth->fetchrow_hashref; my $serialseq = $dataissue->{'serialseq'}; - $data->{'missinglist'} =~ s/\b$serialseq\b//; - $data->{'recievedlist'} =~ s/\b$serialseq\b//; + $data->{'missinglist'} =~ s/(^|;)\s*\Q$serialseq\E(?=;|$)//g; + $data->{'recievedlist'} =~ s/(^|;)\s*\Q$serialseq\E(?=;|$)//g; my $strsth = "UPDATE subscriptionhistory SET " . join( ",", map { join( "=", $_, $dbh->quote( $data->{$_} ) ) } keys %$data ) . " WHERE subscriptionid=?"; $sth = $dbh->prepare($strsth); $sth->execute( $dataissue->{'subscriptionid'} ); -- 2.1.4