return $sth->fetchrow;
}
+use Storable;
+
# This is *not* the good way to calcul prices
# But it's how it works at the moment into Koha
# This will be fixed later.
sub populate_order_with_prices {
my ($params) = @_;
+
+ my $cache_id = $params->{order}->{ordernumber};
+ my $cache_dir = '/tmp/orders';
+ mkdir $cache_dir unless -d $cache_dir;
+ if ( -e "$cache_dir/$cache_id" ) {
+ warn "## cache hit $cache_id\n";
+ return retrieve("$cache_dir/$cache_id");
+ }
+
+
my $order = $params->{order};
my $booksellerid = $params->{booksellerid};
return unless $booksellerid;
$order->{totalgsti} = $order->{unitpricegsti} * $order->{quantity};
}
+ store $order, "$cache_dir/$cache_id";
+
return $order;
}
my %line = %{ $order };
$line{invoice} = $invoice->{invoicenumber};
$line{holds} = 0;
- my @itemnumbers = GetItemnumbersFromOrder( $order->{ordernumber} );
- for my $itemnumber ( @itemnumbers ) {
- my $holds = GetReservesFromBiblionumber({ biblionumber => $line{biblionumber}, itemnumber => $itemnumber });
- $line{holds} += scalar( @$holds );
- }
+# my @itemnumbers = GetItemnumbersFromOrder( $order->{ordernumber} );
+# for my $itemnumber ( @itemnumbers ) {
+# my $holds = GetReservesFromBiblionumber({ biblionumber => $line{biblionumber}, itemnumber => $itemnumber });
+# $line{holds} += scalar( @$holds );
+# }
$line{budget} = GetBudgetByOrderNumber( $line{ordernumber} );
$foot{$line{gstrate}}{gstrate} = $line{gstrate};
$foot{$line{gstrate}}{gstvalue} += $line{gstvalue};
$total_gste += $line{totalgste};
$total_gsti += $line{totalgsti};
- my $suggestion = GetSuggestionInfoFromBiblionumber($line{biblionumber});
- $line{suggestionid} = $suggestion->{suggestionid};
- $line{surnamesuggestedby} = $suggestion->{surnamesuggestedby};
- $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
+# my $suggestion = GetSuggestionInfoFromBiblionumber($line{biblionumber});
+# $line{suggestionid} = $suggestion->{suggestionid};
+# $line{surnamesuggestedby} = $suggestion->{surnamesuggestedby};
+# $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
if ( $line{parent_ordernumber} != $line{ordernumber} ) {
if ( grep { $_->{ordernumber} == $line{parent_ordernumber} }
$line{booksellerid} = $booksellerid;
my $biblionumber = $line{'biblionumber'};
- my $countbiblio = CountBiblioInOrders($biblionumber);
+# my $countbiblio = CountBiblioInOrders($biblionumber);
+ my $countbiblio;
my $ordernumber = $line{'ordernumber'};
- my @subscriptions = GetSubscriptionsId ($biblionumber);
- my $itemcount = GetItemsCount($biblionumber);
- my $holds = GetHolds ($biblionumber);
- my @items = GetItemnumbersFromOrder( $ordernumber );
+# my @subscriptions = GetSubscriptionsId ($biblionumber);
+ my @subscriptions = ();
+# my $itemcount = GetItemsCount($biblionumber);
+ my $itemcount = 1;
+# my $holds = GetHolds ($biblionumber);
+ my $holds;
+# my @items = GetItemnumbersFromOrder( $ordernumber );
+ my @items = ();
my $itemholds;
- foreach my $item (@items){
- my $nb = GetItemHolds($biblionumber, $item);
- if ($nb){
- $itemholds += $nb;
- }
- }
-
- my $suggestion = GetSuggestionInfoFromBiblionumber($line{biblionumber});
- $line{suggestionid} = $suggestion->{suggestionid};
- $line{surnamesuggestedby} = $suggestion->{surnamesuggestedby};
- $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
+# foreach my $item (@items){
+# my $nb = GetItemHolds($biblionumber, $item);
+# if ($nb){
+# $itemholds += $nb;
+# }
+# }
+
+# my $suggestion = GetSuggestionInfoFromBiblionumber($line{biblionumber});
+# $line{suggestionid} = $suggestion->{suggestionid};
+# $line{surnamesuggestedby} = $suggestion->{surnamesuggestedby};
+# $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
# if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds we can then show the link "Delete order and Biblio" see bug 5680
$line{can_del_bib} = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !(@subscriptions) && !($holds);