Bug 12626: SQLHelper replacement - C4::Acquisition

With this patch, the subroutine NewOrder uses DBIx::Class instead of C4::SQLHelper.

Test plan:
1) Apply the patch

2) Execute the unit tests by launching :
prove t/db_dependent/Acquisition.t

3) The result has to be a success without error or warning :
t/db_dependent/Acquisition.t .. ok
All tests successful.
Files=1, Tests=79,  2 wallclock secs ( 0.04 usr  0.01 sys +  1.80 cusr  0.09 csys =  1.94 CPU)
Result: PASS

4) Log in the koha intranet and create a new order in the acquition module

5) The creation has to be a success

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Test pass, new order created without problem, no koha-qa errors

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested creating a new order from a subscription, no problems found.
Passes tests and QA script.
This commit is contained in:
Yohann Dufour 2014-07-22 13:48:03 +02:00 committed by Tomas Cohen Arazi
parent 2bbb27c841
commit 05b261595c
1 changed files with 9 additions and 9 deletions

View File

@ -28,7 +28,6 @@ use C4::Suggestions;
use C4::Biblio;
use C4::Contract;
use C4::Debug;
use C4::SQLHelper qw(InsertInTable UpdateInTable);
use C4::Bookseller qw(GetBookSellerFromId);
use C4::Templates qw(gettemplate);
@ -1273,18 +1272,19 @@ sub NewOrder {
croak "Mandatory parameter $key missing" unless $orderinfo->{$key};
}
if ( defined $orderinfo->{subscription} && $orderinfo->{'subscription'} eq 'yes' ) {
$orderinfo->{'subscription'} = 1;
} else {
$orderinfo->{'subscription'} = 0;
}
$orderinfo->{'entrydate'} ||= C4::Dates->new()->output("iso");
if (!$orderinfo->{quantityreceived}) {
$orderinfo->{quantityreceived} = 0;
}
my $ordernumber=InsertInTable("aqorders",$orderinfo);
if (not $orderinfo->{parent_ordernumber}) {
# get only the columns of Aqorder
my $schema = Koha::Database->new()->schema;
my $columns = ' '.join(' ', $schema->source('Aqorder')->columns).' ';
my $new_order = { map { $columns =~ / $_ / ? ($_ => $orderinfo->{$_}) : () } keys(%$orderinfo) };
my $rs = $schema->resultset('Aqorder');
my $ordernumber = $rs->create($new_order)->id;
if (not $new_order->{parent_ordernumber}) {
my $sth = $dbh->prepare("
UPDATE aqorders
SET parent_ordernumber = ordernumber
@ -1292,7 +1292,7 @@ sub NewOrder {
");
$sth->execute($ordernumber);
}
return ( $orderinfo->{'basketno'}, $ordernumber );
return ( $new_order->{'basketno'}, $ordernumber );
}