use C4::Debug;
use C4::Templates qw(gettemplate);
use Koha::DateUtils qw( dt_from_string output_pref );
-use Koha::Acquisition::Order;
use Koha::Acquisition::Booksellers;
+use Koha::Acquisition::Orders;
use Koha::Biblios;
use Koha::Items;
use Koha::Number::Price;
$order->{datereceived} = $datereceived;
$order->{invoiceid} = $invoice->{invoiceid};
$order->{orderstatus} = 'complete';
- $new_ordernumber = Koha::Acquisition::Order->new($order)->insert->{ordernumber};
+ $new_ordernumber = Koha::Acquisition::Order->new($order)->store->ordernumber; # TODO What if the store fails?
if ($received_items) {
foreach my $itemnumber (@$received_items) {
return unless ($ordernumber and $basketno);
- my $order = GetOrder( $ordernumber );
- return if $order->{datereceived};
+ my $order = Koha::Acquisition::Orders->find( $ordernumber ) or return;
+ return if $order->datereceived;
+
+ $order = $order->unblessed;
+
my $basket = GetBasket($basketno);
return unless $basket;
delete $order->{parent_ordernumber};
$order->{'basketno'} = $basketno;
- my $newordernumber = Koha::Acquisition::Order->new($order)->insert->{ordernumber};
+ my $newordernumber = Koha::Acquisition::Order->new($order)->store->ordernumber;
$query = q{
UPDATE aqorders_items
pk => 'idnew',
},
aqorders => {
- module => 'Koha::Tmp::Orders', # Should Koha::Acquisition::Orders when will be based on Koha::Objects
+ module => 'Koha::Acquisition::Orders',
singular => 'order',
plural => 'orders',
pk => 'ordernumber',
package Koha::Acquisition::Order;
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 3 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
use Modern::Perl;
+use Carp qw( croak );
+
use Koha::Database;
use Koha::DateUtils qw( dt_from_string output_pref );
-use Carp qw( croak );
+use base qw(Koha::Object);
-use base qw( Class::Accessor );
+=head1 NAME
-# TODO fetch order from itemnumber (GetOrderFromItemnnumber)
-# TODO Move code from GetOrder
-sub fetch {
- my ( $class, $params ) = @_;
- my $ordernumber = $params->{ordernumber};
- return unless $ordernumber;
- my $schema = Koha::Database->new->schema;
+Koha::Acquisition::Order Object class
+
+=head1 API
+
+=head2 Class Methods
- my $order =
- $schema->resultset('Aqorder')->find( { ordernumber => $ordernumber },
- { result_class => 'DBIx::Class::ResultClass::HashRefInflator' } );
- return $class->new( $order );
+=cut
+
+sub new {
+ my ( $self, $params ) = @_;
+
+ my $schema = Koha::Database->new->schema;
+ my @columns = $schema->source('Aqorder')->columns;
+
+ my $values =
+ { map { exists $params->{$_} ? ( $_ => $params->{$_} ) : () } @columns };
+ return $self->SUPER::new($values);
}
-sub insert {
+sub store {
my ($self) = @_;
my $schema = Koha::Database->new->schema;
# Override quantity for standing orders
- $self->{quantity} = 1 if ( $self->{basketno} && $schema->resultset('Aqbasket')->find( $self->{basketno} )->is_standing );
+ $self->quantity(1) if ( $self->basketno && $schema->resultset('Aqbasket')->find( $self->basketno )->is_standing );
# if these parameters are missing, we can't continue
for my $key (qw( basketno quantity biblionumber budget_id )) {
croak "Cannot insert order: Mandatory parameter $key is missing"
- unless $self->{$key};
+ unless $self->$key;
}
- $self->{quantityreceived} ||= 0;
- $self->{entrydate} ||=
- output_pref( { dt => dt_from_string, dateformat => 'iso' } );
-
- my @columns = $schema->source('Aqorder')->columns;
-
- $self->{ordernumber} ||= undef;
+ $self->quantityreceived(0) unless $self->quantityreceived;
+ $self->entrydate(output_pref( { dt => dt_from_string, dateformat => 'iso' } )) unless $self->entrydate;
- my $rs = $schema->resultset('Aqorder')->create(
- {
- map {
- exists $self->{$_} ? ( $_ => $self->{$_} ) : ()
- } @columns
- }
- );
- $self->{ordernumber} = $rs->id;
+ $self->ordernumber(undef) unless $self->ordernumber;
+ $self = $self->SUPER::store( $self );
- unless ( $self->{parent_ordernumber} ) {
- $self->{parent_ordernumber} = $self->{ordernumber};
- $rs->update( { parent_ordernumber => $self->{parent_ordernumber} } );
+ unless ( $self->parent_ordernumber ) {
+ $self->set( { parent_ordernumber => $self->ordernumber } );
+ $self = $self->SUPER::store( $self );
}
return $self;
}
+=head3 add_item
+
+ $order->add_item( $itemnumber );
+
+Link an item to this order.
+
+=cut
+
sub add_item {
my ( $self, $itemnumber ) = @_;
+
my $schema = Koha::Database->new->schema;
my $rs = $schema->resultset('AqordersItem');
- $rs->create({ ordernumber => $self->{ordernumber}, itemnumber => $itemnumber });
+ $rs->create({ ordernumber => $self->ordernumber, itemnumber => $itemnumber });
}
-# TODO Move code from ModItemOrder
-sub update_item {
- die "not implemented yet";
-}
-
-sub del_item {
- die "not implemented yet";
-}
+=head3 _type
-# TODO Move code from ModOrder
-sub update {
- die "not implemented yet";
-}
-
-# TODO Move code from DelOrder
-sub delete {
- die "not implemented yet";
-}
+=cut
-# TODO Move code from TransferOrder
-sub transfer {
- die "not implemented yet";
+sub _type {
+ return 'Aqorder';
}
1;
-package Koha::Tmp::Orders;
+package Koha::Acquisition::Orders;
# This file is part of Koha.
#
use Koha::Database;
-use Koha::Tmp::Order;
+use Koha::Acquisition::Order;
use base qw(Koha::Objects);
=head1 NAME
-Koha::Tmp::Orders - This is a temporary class to make notices working with orders
+Koha::Acquisition::Orders object set class
=head1 API
}
sub object_class {
- return 'Koha::Tmp::Order';
+ return 'Koha::Acquisition::Order';
}
1;
+++ /dev/null
-package Koha::Tmp::Order;
-
-# This file is part of Koha.
-#
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 3 of the License, or (at your option) any later
-# version.
-#
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-use Modern::Perl;
-
-use Carp;
-
-use Koha::Database;
-
-use base qw(Koha::Object);
-
-=head1 NAME
-
-Koha::Tmp::Order - This is a temporary class to make notices working with orders
-
-=head1 API
-
-=head2 Class Methods
-
-=cut
-
-=head3 type
-
-=cut
-
-sub _type {
- return 'Aqorder';
-}
-
-1;
use C4::Items;
use C4::Output;
use Koha::Acquisition::Currencies;
+use Koha::Acquisition::Orders;
use C4::Barcodes;
### "-------------------- addorder.pl ----------"
);
# get CGI parameters
-my $orderinfo = $input->Vars;
+my $orderinfo = $input->Vars;
$orderinfo->{'list_price'} ||= 0;
$orderinfo->{'uncertainprice'} ||= 0;
$orderinfo->{subscriptionid} ||= undef;
ModOrderUsers( $orderinfo->{ordernumber}, @order_users );
}
else { # else, it's a new line
- $order->insert;
+ $order->store;
}
# now, add items if applicable
use Koha::Number::Price;
use Koha::Libraries;
use Koha::Acquisition::Currencies;
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Orders;
use Koha::Acquisition::Booksellers;
use Koha::Patrons;
)
};
- my $order = Koha::Acquisition::Order->new( \%orderinfo )->insert;
+ my $order = Koha::Acquisition::Order->new( \%orderinfo )->store;
$order->add_item( $_ ) for @itemnumbers;
}
}
)
};
- my $order = Koha::Acquisition::Order->new( \%orderinfo )->insert;
+ my $order = Koha::Acquisition::Order->new( \%orderinfo )->store;
# 4th, add items if applicable
# parse the item sent by the form, and create an item just for the import_record_id we are dealing with
use Koha::Number::Price;
use Koha::Acquisition::Booksellers;
+use Koha::Acquisition::Orders;
use List::MoreUtils qw/any/;
push @{$itemhash{$itemid[$i]}->{'ind_tag'}},$ind_tag[$i];
push @{$itemhash{$itemid[$i]}->{'indicator'}},$indicator[$i];
}
- my $order = Koha::Acquisition::Order->fetch({ ordernumber => $new_ordernumber });
+ my $new_order = Koha::Acquisition::Orders->find( $new_ordernumber );
foreach my $item (keys %itemhash){
my $xml = TransformHtmlToXml( $itemhash{$item}->{'tags'},
$itemhash{$item}->{'subfields'},
'ITEM' );
my $record=MARC::Record::new_from_xml($xml, 'UTF-8');
my (undef,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$biblionumber);
- $order->add_item( $itemnumber );
+ $new_order->add_item( $itemnumber );
}
}
}
use C4::Output;
use Koha::Acquisition::Booksellers;
-use Koha::Acquisition::Currency;
use Koha::Acquisition::Currencies;
+use Koha::Acquisition::Orders;
my $input = CGI->new;
my $searchfield = $input->param('searchfield') || $input->param('description') || q{};
} elsif ( $op eq 'delete_confirm' ) {
my $currency = Koha::Acquisition::Currencies->find($currency_code);
- # TODO rewrite the following when Koha::Acquisition::Orders will use Koha::Objects
- my $schema = Koha::Database->schema;
- my $nb_of_orders = $schema->resultset('Aqorder')->search( { currency => $currency->currency } )->count;
+ my $nb_of_orders = Koha::Acquisition::Orders->search( { currency => $currency->currency } )->count;
my $nb_of_vendors = Koha::Acquisition::Booksellers->search( { -or => { listprice => $currency->currency, invoiceprice => $currency->currency } })->count;
$template->param(
currency => $currency,
use_ok('C4::Acquisition');
use_ok('C4::Biblio');
use_ok('C4::Budgets');
- use_ok('Koha::Acquisition::Order');
+ use_ok('Koha::Acquisition::Orders');
use_ok('Koha::Acquisition::Booksellers');
}
ecost => 38.15,
rrp => 40.15,
discount => 5.1111,
- tax_rate => 0.0515
}
},
{
ecost => 38.1,
rrp => 11.0,
discount => 5.1,
- tax_rate => 0.1
}
},
{
rrp => 11.00,
discount => 0,
uncertainprice => 0,
- tax_rate => 0
}
},
{
rrp => 10,
discount => 0,
uncertainprice => 0,
- tax_rate => 0
}
},
{
rrp => 10,
discount => 0,
uncertainprice => 0,
- tax_rate => 0
}
}
);
values %{ $order_content[$_]->{num} };
@ocontent{ keys %{ $order_content[$_]->{str} } } =
values %{ $order_content[$_]->{str} };
- $ordernumbers[$_] = Koha::Acquisition::Order->new( \%ocontent )->insert->{ordernumber};
+ use Data::Printer colored => 1; warn p %ocontent;
+ $ordernumbers[$_] = Koha::Acquisition::Order->new( \%ocontent )->store->ordernumber;
$order_content[$_]->{str}->{ordernumber} = $ordernumbers[$_];
}
my ($datereceived, $new_ordernumber) = ModReceiveOrder(
{
biblionumber => $biblionumber4,
- order => GetOrder( $ordernumbers[4] ),
+ order => Koha::Acquisition::Orders->find( $ordernumbers[4] )->unblessed,
quantityreceived => 1,
invoice => $invoice,
budget_id => $order_content[4]->{str}->{budget_id},
"AddClaim : Check claimed_date"
);
-my $order2 = GetOrder( $ordernumbers[1] );
+my $order2 = Koha::Acquisition::Orders->find( $ordernumbers[1] )->unblessed;
$order2->{order_internalnote} = "my notes";
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
{
}
);
-my $order3 = GetOrder( $ordernumbers[2] );
+my $order3 = Koha::Acquisition::Orders->find( $ordernumbers[2] )->unblessed;
$order3->{order_internalnote} = "my other notes";
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
{
2, 'Splitting up order received items on new order' );
is( $neworder->{'budget_id'}, $budgetid2, 'Budget on new order is changed' );
-$order3 = GetOrder( $ordernumbers[2] );
+$order3 = Koha::Acquisition::Orders->find( $ordernumbers[2] )->unblessed;
$order3->{order_internalnote} = "my third notes";
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
{
use Koha::Database;
use Koha::DateUtils;
use Koha::Acquisition::Booksellers;
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Orders;
use MARC::Record;
my $schema = Koha::Database->new()->schema();
biblionumber => $biblionumber,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber = $order->{ordernumber};
+)->store;
+my $ordernumber = $order->ordernumber;
ModReceiveOrder(
{
biblionumber => $biblionumber,
- order => $order,
+ order => $order->unblessed,
quantityreceived => 2,
}
);
biblionumber => $biblionumber,
budget_id => $budget->{budget_id},
}
-)->insert;
-$ordernumber = $order->{ordernumber};
+)->store;
+$ordernumber = $order->ordernumber;
-is( $order->{parent_ordernumber}, $order->{ordernumber},
+is( $order->parent_ordernumber, $order->ordernumber,
"Insert an order should set parent_order=ordernumber, if no parent_ordernumber given"
);
$order->add_item( $itemnumber2 );
is(
- scalar( GetItemnumbersFromOrder( $order->{ordernumber} ) ),
+ scalar( GetItemnumbersFromOrder( $order->ordernumber ) ),
2,
"Create items on ordering: 2 items should be linked to the order before receiving"
);
my ( undef, $new_ordernumber ) = ModReceiveOrder(
{
biblionumber => $biblionumber,
- order => $order,
+ order => $order->unblessed,
quantityreceived => 1,
received_items => [ $itemnumber1 ],
}
);
is(
- scalar( GetItemnumbersFromOrder( $order->{ordernumber} ) ),
+ scalar( GetItemnumbersFromOrder( $order->ordernumber ) ),
1,
"Create items on ordering: 1 item should still be linked to the original order after receiving"
);
"Create items on ordering: no item should be linked to the cancelled order"
);
is(
- scalar( GetItemnumbersFromOrder( $order->{ordernumber} ) ),
+ scalar( GetItemnumbersFromOrder( $order->ordernumber ) ),
2,
"Create items on ordering: items are not deleted after cancelling a receipt"
);
use Koha::Database;
use Koha::CsvProfile;
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Orders;
my $schema = Koha::Database->new()->schema();
$schema->storage->txn_begin();
biblionumber => $biblionumber,
budget_id => $budget_id,
entrydate => '2016-01-02',
-})->insert;
+})->store;
# Use user CSV profile
my $basket_csv1 = C4::Acquisition::GetBasketAsCSV($basketno, $query, $csv_profile->export_format_id);
# Use default template
my $basket_csv2 = C4::Acquisition::GetBasketAsCSV($basketno, $query);
is($basket_csv2, 'Contract name,Order number,Entry date,ISBN,Author,Title,Publication year,Publisher,Collection title,Note for vendor,Quantity,RRP,Delivery place,Billing place
-"",' . $order->{ordernumber} . ',2016-01-02,,"King, Stephen","Test Record",,"","","",3,,"",""
+"",' . $order->ordernumber . ',2016-01-02,,"King, Stephen","Test Record",,"","","",3,,"",""
', 'CSV should be generated with default template');
my $basket_csv3 = C4::Acquisition::GetBasketAsCSV($basketno, $query, $csv_profile2->export_format_id);
use C4::Budgets qw( AddBudget );
use C4::Context;
use Koha::Database;
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Orders;
my $schema = Koha::Database->new()->schema();
$schema->storage->txn_begin();
biblionumber => $biblionumber1,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber1 = $order1->{ordernumber};
+)->store;
+my $ordernumber1 = $order1->ordernumber;
my $order2 = Koha::Acquisition::Order->new(
{
biblionumber => $biblionumber2,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber2 = $order2->{ordernumber};
+)->store;
+my $ordernumber2 = $order2->ordernumber;
my $baskets = C4::Acquisition::GetBasketsInfosByBookseller( $supplierid );
is( scalar(@$baskets), 1, 'Start: 1 basket' );
use C4::Biblio;
use C4::Budgets;
use Koha::Database;
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Orders;
use MARC::Record;
biblionumber => $biblionumber1,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber1 = $order1->{ordernumber};
+)->store;
+my $ordernumber1 = $order1->ordernumber;
my $order2 = Koha::Acquisition::Order->new(
{
biblionumber => $biblionumber2,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber2 = $order1->{ordernumber};
+)->store;
+my $ordernumber2 = $order2->ordernumber;
my $order3 = Koha::Acquisition::Order->new(
{
biblionumber => $biblionumber2,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber3 = $order1->{ordernumber};
+)->store;
+my $ordernumber3 = $order3->ordernumber;
my @orders = GetOrdersByBiblionumber();
is(scalar(@orders), 0, 'GetOrdersByBiblionumber : no argument, return undef');
use C4::Biblio qw( AddBiblio );
-use Koha::Acquisition::Order;
use Koha::Acquisition::Booksellers;
+use Koha::Acquisition::Orders;
use Koha::Database;
use Test::More tests => 24;
biblionumber => $biblionumber1,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber1 = $order1->{ordernumber};
+)->store;
+my $ordernumber1 = $order1->ordernumber;
my $order2 = Koha::Acquisition::Order->new(
{
biblionumber => $biblionumber2,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber2 = $order2->{ordernumber};
+)->store;
+my $ordernumber2 = $order2->ordernumber;
my $order3 = Koha::Acquisition::Order->new(
{
ecost => 42,
rrp => 42,
}
-)->insert;
-my $ordernumber3 = $order3->{ordernumber};
+)->store;
+my $ordernumber3 = $order3->ordernumber;
my $invoiceid1 = AddInvoice(invoicenumber => 'invoice1', booksellerid => $booksellerid, unknown => "unknown");
my $invoiceid2 = AddInvoice(invoicenumber => 'invoice2', booksellerid => $booksellerid, unknown => "unknown",
my ( $datereceived, $new_ordernumber ) = ModReceiveOrder(
{
biblionumber => $biblionumber1,
- order => $order1,
+ order => $order1->unblessed,
quantityreceived => 2,
invoice => $invoice1,
}
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
{
biblionumber => $biblionumber2,
- order => $order2,
+ order => $order2->unblessed,
quantityreceived => 1,
invoice => $invoice2,
rrp => 42
( $datereceived, $new_ordernumber ) = ModReceiveOrder(
{
biblionumber => $biblionumber3,
- order => $order3,
+ order => $order3->unblessed,
quantityreceived => 1,
invoice => $invoice2,
}
use Koha::Database;
use Koha::DateUtils qw( dt_from_string output_pref );
use Koha::Acquisition::Booksellers;
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Orders;
my $schema = Koha::Database->new()->schema();
$schema->storage->txn_begin();
# returns undef and croaks if basketno, quantity, biblionumber or budget_id is missing
-my $order = eval { Koha::Acquisition::Order->new->insert };
+my $order = eval { Koha::Acquisition::Order->new->store };
my $return_error = $@;
ok(
( ! defined $order )
my %test_missing_mandatoryparams = %$mandatoryparams;
delete $test_missing_mandatoryparams{$mandatoryparams_key};
$order = eval {
- Koha::Acquisition::Order->new( \%test_missing_mandatoryparams )->insert;
+ Koha::Acquisition::Order->new( \%test_missing_mandatoryparams )->store;
};
$return_error = $@;
my $expected_error = "Cannot insert order: Mandatory parameter $mandatoryparams_key is missing";
biblionumber => $biblionumber1,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber = $order->{ordernumber};
-$order = Koha::Acquisition::Order->fetch({ ordernumber => $ordernumber });
-is( $order->{quantityreceived}, 0, 'Koha::Acquisition::Order->insert set quantityreceivedto 0 if undef is given' );
-is( $order->{entrydate}, output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }), 'Koha::Acquisition::Order->insert set entrydate to today' );
+)->store;
+my $ordernumber = $order->ordernumber;
+$order = Koha::Acquisition::Orders->find( $ordernumber );
+is( $order->quantityreceived, 0, 'Koha::Acquisition::Order->insert set quantityreceivedto 0 if undef is given' );
+is( $order->entrydate, output_pref({ dt => dt_from_string, dateformat => 'iso', dateonly => 1 }), 'Koha::Acquisition::Order->store set entrydate to today' );
$schema->storage->txn_rollback();
use_ok('C4::Budgets');
use_ok('C4::Serials');
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Orders;
use Koha::Database;
# Start transaction
quantity => 1,
currency => $curcode,
listprice => $cost,
- notes => "This is a note",
basketno => $basketno,
rrp => $cost,
ecost => $cost,
- tax_rate => 0.0500,
orderstatus => 'new',
subscriptionid => $subscription->{subscriptionid},
budget_id => $budget_id,
-})->insert;
-my $ordernumber = $order->{ordernumber};
+})->store;
+my $ordernumber = $order->ordernumber;
my $is_currently_on_order = subscriptionCurrentlyOnOrder( $subscription->{subscriptionid} );
is ( $is_currently_on_order, 1, "The subscription is currently on order");
use C4::Biblio;
use C4::Letters;
use Koha::Database;
-use Koha::Acquisition::Order;
use Koha::Acquisition::Booksellers;
+use Koha::Acquisition::Orders;
use t::lib::TestBuilder;
budget_id => $budgetid,
entrydate => '01-01-2014',
currency => $currency->{currency},
- notes => "This is a note1",
orderstatus => 1,
quantityreceived => 0,
rrp => 10,
ecost => 10,
}
-)->insert;
-my $ordernumber = $order->{ordernumber};
+)->store;
+my $ordernumber = $order->ordernumber;
my $invoiceid = AddInvoice(
invoicenumber => 'invoice',
my $is_added = grep { /^$borrowernumber$/ } C4::Acquisition::GetOrderUsers( $ordernumber );
is( $is_added, 1, 'ModOrderUsers should link patrons to an order' );
-$order = Koha::Acquisition::Order->fetch({ ordernumber => $ordernumber });
+$order = Koha::Acquisition::Orders->find( $ordernumber );
ModReceiveOrder(
{
biblionumber => $biblionumber,
- order => $order,
+ order => $order->unblessed,
quantityreceived => 1,
cost => 10,
ecost => 10,
my $messages = C4::Letters::GetQueuedMessages({ borrowernumber => $borrowernumber });
is( scalar( @$messages ), 0, 'The letter has not been sent to message queue on receiving the order, the order is not entire received');
-$order = Koha::Acquisition::Order->fetch({ ordernumber => $ordernumber });
+$order = Koha::Acquisition::Orders->find( $ordernumber );
ModReceiveOrder(
{
biblionumber => $biblionumber,
- order => $order,
+ order => $order->unblessed,
quantityreceived => 1,
cost => 10,
ecost => 10,
use C4::Biblio;
use C4::Items;
use C4::Budgets;
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Orders;
use t::lib::Mocks;
use t::lib::TestBuilder;
unitprice => 12,
unitprice_tax_included => 12,
unitprice_tax_excluded => 12,
- tax_rate => 0,
tax_rate_on_ordering => 0,
tax_rate_on_receiving => 0,
}
-)->insert->{ordernumber};
+)->store->ordernumber;
isnt( $ordernumber, undef, 'standing order successfully created' );
unknown => "unknown"
);
-my $order = Koha::Acquisition::Order->fetch( { ordernumber => $ordernumber } );
+my $order = Koha::Acquisition::Orders->find( $ordernumber );
my ( $datereceived, $new_ordernumber ) = ModReceiveOrder(
{
biblionumber => $biblionumber,
- order => $order,
+ order => $order->unblessed,
quantityreceived => 2,
invoiceid => $invoiceid,
}
isnt( $ordernumber, $new_ordernumber, "standing order split on receive" );
#order has been updated, refetch
-$order = Koha::Acquisition::Order->fetch( { ordernumber => $ordernumber } );
-my $neworder = Koha::Acquisition::Order->fetch( { ordernumber => $new_ordernumber } );
-
-is( $order->{orderstatus}, 'partial', 'original order set to partially received' );
-is( $order->{quantity}, 1, 'original order quantity unchanged' );
-is( $order->{quantityreceived}, 0, 'original order has no received items' );
-isnt( $order->{unitprice}, 12, 'original order does not get cost' );
-is( $neworder->{orderstatus}, 'complete', 'new order set to complete' );
-is( $neworder->{quantityreceived}, 2, 'new order has received items' );
-cmp_ok( $neworder->{unitprice}, '==', 12, 'new order does get cost' );
+$order = Koha::Acquisition::Orders->find( $ordernumber );
+my $neworder = Koha::Acquisition::Orders->find( $new_ordernumber );
+
+is( $order->orderstatus, 'partial', 'original order set to partially received' );
+is( $order->quantity, 1, 'original order quantity unchanged' );
+is( $order->quantityreceived, 0, 'original order has no received items' );
+isnt( $order->unitprice, 12, 'original order does not get cost' );
+is( $neworder->orderstatus, 'complete', 'new order set to complete' );
+is( $neworder->quantityreceived, 2, 'new order has received items' );
+cmp_ok( $neworder->unitprice, '==', 12, 'new order does get cost' );
$search_orders = SearchOrders( {
basketno => $basketno,
use Koha::Database;
use Koha::DateUtils;
use Koha::Acquisition::Booksellers;
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Orders;
use MARC::Record;
my $schema = Koha::Database->new()->schema();
biblionumber => $biblionumber,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber = $order->{ordernumber};
+)->store;
+my $ordernumber = $order->ordernumber;
$order->add_item( $itemnumber );
# Begin tests
is ( scalar( @$orders ), 1, 'SearchOrders returns 1 order with [old]ordernumber' );
is ( $orders->[0]->{ordernumber}, $newordernumber, 'SearchOrders returns newordernumber if [old]ordernumber is given' );
-my $neworder = GetOrder( $newordernumber );
+my $neworder = Koha::Acquisition::Orders->find( $newordernumber )->unblessed;
ModReceiveOrder({
biblionumber => $biblionumber,
use C4::Budgets;
use C4::Context;
use Koha::Database;
-use Koha::Acquisition::Bookseller;
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Booksellers;
+use Koha::Acquisition::Orders;
# Start transaction
my $schema = Koha::Database->new()->schema();
biblionumber => $biblionumber1,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber1 = $order1->{ordernumber};
+)->store;
+my $ordernumber1 = $order1->ordernumber;
my $order2 = Koha::Acquisition::Order->new(
{
biblionumber => $biblionumber2,
budget_id => $budget->{budget_id},
}
-)->insert;
-my $ordernumber2 = $order2->{ordernumber};
+)->store;
+my $ordernumber2 = $order2->ordernumber;
my $nb_biblio = C4::Acquisition::GetBiblioCountByBasketno( $basketno );
is ( $nb_biblio, 2, "There are 2 biblio for this basket" );
use C4::Biblio;
use Koha::Acquisition::Booksellers;
-use Koha::Acquisition::Order;
+use Koha::Acquisition::Orders;
use Koha::Database;
BEGIN {
ecost => 10,
datereceived => '01-06-2013'
}
-)->insert;
-my $ordernumber1 = $order1->{ordernumber};
+)->store;
+my $ordernumber1 = $order1->ordernumber;
my $order2 = Koha::Acquisition::Order->new(
{
rrp => 10,
ecost => 10,
}
-)->insert;
-my $ordernumber2 = $order2->{ordernumber};
+)->store;
+my $ordernumber2 = $order2->ordernumber;
my $order3 = Koha::Acquisition::Order->new(
{
rrp => 11,
ecost => 11,
}
-)->insert;
-my $ordernumber3 = $order3->{ordernumber};
+)->store;
+my $ordernumber3 = $order3->ordernumber;
my $order4 = Koha::Acquisition::Order->new(
{
ecost => 11,
quantityreceived => 20
}
-)->insert;
-my $ordernumber4 = $order4->{ordernumber};
+)->store;
+my $ordernumber4 = $order4->ordernumber;
#Test cases:
# Sample datas :
use C4::Acquisition;
use C4::Members qw( AddMember );
-use Koha::Acquisition::Order;
use Koha::Acquisition::Booksellers;
+use Koha::Acquisition::Orders;
use t::lib::TestBuilder;
discount => 0,
uncertainprice => 0,
}
- )->insert;
- my $ordernumber = $order->{ordernumber};
+ )->store;
+ my $ordernumber = $order->ordernumber;
push @{ $budgets{$infos->{budget_id}} }, $ordernumber;
$number_of_orders_to_move++;
}
discount => 0,
uncertainprice => 0,
}
- )->insert;
- my $ordernumber = $order->{ordernumber};
+ )->store;
+ my $ordernumber = $order->ordernumber;
ModReceiveOrder({
biblionumber => $biblionumber,
- order => $order,
+ order => $order->unblessed,
budget_id => $infos->{budget_id},
quantityreceived => $item_quantity,
invoice => $invoice,
use t::lib::TestBuilder;
use Koha::Database;
use Koha::DateUtils qw( dt_from_string output_pref );
-use Koha::Acquisition::Order;
use Koha::Acquisition::Booksellers;
use Koha::Acquisition::Bookseller::Contacts;
+use Koha::Acquisition::Orders;
use Koha::Libraries;
use Koha::Notice::Templates;
my $schema = Koha::Database->schema;
biblionumber => $biblionumber,
budget_id => $budgetid,
}
-)->insert;
-my $ordernumber = $order->{ordernumber};
+)->store;
+my $ordernumber = $order->ordernumber;
C4::Acquisition::CloseBasket( $basketno );
my $err;
use_ok( 'C4::AuthoritiesMarc', qw(AddAuthority) );
use_ok('C4::Reserves');
use_ok('MARC::Record');
- use_ok('Koha::Acquisition::Order');
+ use_ok('Koha::Acquisition::Orders');
}
can_ok(