Browse Source

Bug 26935: Don't use basket for claimacquisition and claimissues

Incorrect basketid is sent for claimacquisition and claimissues.

The basket info are not used in the default template of these notices, but if it
is used, a wrong basket may be passed to generate the notice.

This has been caught by a test failure after bug 26745.

 #   Failed test 'SendAlerts - claimissue'
 #   at t/db_dependent/Letters.t line 642.
 C4::Letters::_substitute_tables(): DBI Exception: DBD::mysql::st execute failed: called with 2 bind variables when 1 are needed [for Statement "SELECT * FROM aqbasket WHERE       basketno = ?" with ParamValues: 0=53] at /kohadevbox/koha/C4/Letters.pm line 679

This is a quick patch to fix the failing test, but more work would needed.

We are removing the basket info from those 2 notices and keeping it only
for orderacquisition.

Technically: the $externalid is coming from the parameter list of
SendAlerts, but it is a basketno only for orderacquisition. We must not
pass it for other notices.

Test plan:
Confirm that the failing test is now passing and that the changes make
sense.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
20.11.x
Jonathan Druart 4 years ago
parent
commit
cb3753d292
  1. 8
      C4/Letters.pm

8
C4/Letters.pm

@ -373,6 +373,7 @@ sub SendAlerts {
my $sthorders;
my $dataorders;
my $action;
my $basketno;
if ( $type eq 'claimacquisition') {
$strsth = qq{
SELECT aqorders.*,aqbasket.*,biblio.*,biblioitems.*
@ -419,6 +420,7 @@ sub SendAlerts {
}
if ( $type eq 'orderacquisition') {
my $basketno = $externalid;
$strsth = qq{
SELECT aqorders.*,aqbasket.*,biblio.*,biblioitems.*
FROM aqorders
@ -429,13 +431,13 @@ sub SendAlerts {
AND orderstatus IN ('new','ordered')
};
if (!$externalid){
unless ( $basketno ) {
carp "No basketnumber given";
return { error => "no_basketno" };
}
$action = "ACQUISITION ORDER";
$sthorders = $dbh->prepare($strsth);
$sthorders->execute($externalid);
$sthorders->execute($basketno);
$dataorders = $sthorders->fetchall_arrayref( {} );
}
@ -472,7 +474,7 @@ sub SendAlerts {
'branches' => $userenv->{branch},
'aqbooksellers' => $databookseller,
'aqcontacts' => $datacontact,
'aqbasket' => $externalid,
'aqbasket' => $basketno,
},
repeat => $dataorders,
want_librarian => 1,

Loading…
Cancel
Save