# 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., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
+# 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 strict;
use warnings;
use C4::Items;
use C4::Koha qw/GetItemTypes/;
use C4::Budgets qw/GetBudgets/;
-use C4::Acquisition qw/NewOrderItem/;
+use C4::Acquisition qw/NewOrderItem GetBasket/;
+use C4::Bookseller qw/GetBookSellerFromId/;
my $input = new CGI;
my ($template, $loggedinuser, $cookie) = get_template_and_user({
});
my $cgiparams = $input->Vars;
my $op = $cgiparams->{'op'};
-$template->param(scriptname => "/cgi-bin/koha/acqui/addorderiso2709.pl");
-my $ordnum;
+my $booksellerid = $input->param('booksellerid');
+my $bookseller = GetBookSellerFromId($booksellerid);
+
+$template->param(scriptname => "/cgi-bin/koha/acqui/addorderiso2709.pl",
+ booksellerid => $booksellerid,
+ booksellername => $bookseller->{name},
+ );
+my $ordernumber;
if ($cgiparams->{'import_batch_id'} && $op eq ""){
$op = "batch_details";
if (C4::Context->preference("BiblioAddsAuthorities")){
my ($countlinked,$countcreated)=BiblioAddAuthorities($marcrecord, $cgiparams->{'frameworkcode'});
}
- my $patron = C4::Members->GetMember($loggedinuser);
+ my $patron = C4::Members->GetMember(borrowernumber => $loggedinuser);
my $branch = C4::Branch->GetBranchDetail($patron->{branchcode});
my ($invoice);
my %orderinfo = ("biblionumber", $biblionumber,
- "basketno", $cgiparams->{'basketno'},
- "quantity", $cgiparams->{'quantityrec-' . $biblio->{'import_record_id'}},
-# "budgetdate", $budget,
- "branchcode", $branch,
- "booksellerinvoicenumber", $invoice,
- "budget_id", $budget_id,
- "uncertainprice", 1,
- );
+ "basketno", $cgiparams->{'basketno'},
+ "quantity", $cgiparams->{'quantityrec-' . $biblio->{'import_record_id'}},
+ "branchcode", $branch,
+ "booksellerinvoicenumber", $invoice,
+ "budget_id", $budget_id,
+ "uncertainprice", 1,
+ );
# get the price if there is one.
# filter by storing only the 1st number
# we suppose the currency is correct, as we have no possibilities to get it.
if ($orderinfo{'listprice'} =~ /^([\d\.,]*)/) {
$orderinfo{'listprice'} = $1;
$orderinfo{'listprice'} =~ s/,/\./;
- eval "use C4::Acquisition qw/GetBasket/;";
- eval "use C4::Bookseller qw/GetBookSellerFromId/;";
my $basket = GetBasket($orderinfo{basketno});
my $bookseller = GetBookSellerFromId($basket->{booksellerid});
my $gst = $bookseller->{gstrate} || C4::Context->preference("gist") || 0;
if ($orderinfo{'listprice'} =~ /^([\d\.,]*)/) {
$orderinfo{'listprice'} = $1;
$orderinfo{'listprice'} =~ s/,/\./;
- eval "use C4::Acquisition qw/GetBasket/;";
- eval "use C4::Bookseller qw/GetBookSellerFromId/;";
my $basket = GetBasket($orderinfo{basketno});
my $bookseller = GetBookSellerFromId($basket->{booksellerid});
my $gst = $bookseller->{gstrate} || C4::Context->preference("gist") || 0;
}
$orderinfo{'rrp'} = $orderinfo{'listprice'};
}
+ # remove uncertainprice flag if we have found a price in the MARC record
+ $orderinfo{uncertainprice} = 0 if $orderinfo{listprice};
my $basketno;
- ( $basketno, $ordnum ) = NewOrder(\%orderinfo);
+ ( $basketno, $ordernumber ) = NewOrder(\%orderinfo);
# now, add items if applicable
# parse all items sent by the form, and create an item just for the import_record_id we are dealing with
$found = 1;
}
}
- push @{$item->{tags}}, @tags[$i];
- push @{$item->{subfields}}, @subfields[$i];
- push @{$item->{field_values}}, @field_values[$i];
- push @{$item->{ind_tag}}, @ind_tag[$i];
- push @{$item->{indicator}}, @indicator[$i];
+ push @{$item->{tags}}, $tags[$i];
+ push @{$item->{subfields}}, $subfields[$i];
+ push @{$item->{field_values}}, $field_values[$i];
+ push @{$item->{ind_tag}}, $ind_tag[$i];
+ push @{$item->{indicator}}, $indicator[$i];
$item->{itemid} = $itemid;
if (! $found){
push @items, $item;
$item->{'indicator'});
my $record=MARC::Record::new_from_xml($xml, 'UTF-8');
my ($biblionumber,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$biblionumber);
- NewOrderItem( $itemnumber, $ordnum);
+ NewOrderItem( $itemnumber, $ordernumber);
}
}
}
sub import_biblios_list {
my ($template, $import_batch_id) = @_;
- my $batch = GetImportBatch($import_batch_id);
- my $biblios = GetImportBibliosRange($import_batch_id);
+ my $batch = GetImportBatch($import_batch_id,'staged');
+ my $biblios = GetImportBibliosRange($import_batch_id,'','','staged');
my @list = ();
-# Itemtype is mandatory for adding a biblioitem, we just add a default, the user needs to modify this aftewards
- my $itemtypehash = GetItemTypes();
- my @itemtypes;
- for my $key (sort { $itemtypehash->{$a}->{description} cmp $itemtypehash->{$b}->{description} } keys %$itemtypehash) {
- push(@itemtypes, $itemtypehash->{$key});
- }
+# # Itemtype is mandatory for adding a biblioitem, we just add a default, the user needs to modify this aftewards
+# my $itemtypehash = GetItemTypes();
+# my @itemtypes;
+# for my $key (sort { $itemtypehash->{$a}->{description} cmp $itemtypehash->{$b}->{description} } keys %$itemtypehash) {
+# push(@itemtypes, $itemtypehash->{$key});
+# }
foreach my $biblio (@$biblios) {
my $citation = $biblio->{'title'};
$citation .= " $biblio->{'author'}" if $biblio->{'author'};
match_biblionumber => $#$match > -1 ? $match->[0]->{'biblionumber'} : 0,
match_citation => $#$match > -1 ? $match->[0]->{'title'} . ' ' . $match->[0]->{'author'} : '',
match_score => $#$match > -1 ? $match->[0]->{'score'} : 0,
- itemtypes => \@itemtypes,
+# itemtypes => \@itemtypes,
);
- if (C4::Context->preference('AcqCreateItem') eq 'ordering' && !$ordnum) {
- # prepare empty item form
- my $cell = PrepareItemrecordDisplay();
- my @itemloop;
- push @itemloop,$cell;
- $cellrecord{'items'} = \@itemloop;
- }
+# if (C4::Context->preference('AcqCreateItem') eq 'ordering' && !$ordernumber) {
+# # prepare empty item form
+# my $cell = PrepareItemrecordDisplay();
+# my @itemloop;
+# push @itemloop,$cell;
+# $cellrecord{'items'} = \@itemloop;
+# }
push @list, \%cellrecord;
my $nomatch_action = GetImportBatchNoMatchAction($import_batch_id);
my $item_action = GetImportBatchItemAction($import_batch_id);
$template->param(biblio_list => \@list,
- num_results => $num_biblios,
- import_batch_id => $import_batch_id,
- "overlay_action_${overlay_action}" => 1,
- overlay_action => $overlay_action,
- "nomatch_action_${nomatch_action}" => 1,
- nomatch_action => $nomatch_action,
- "item_action_${item_action}" => 1,
- item_action => $item_action
- );
+ num_results => $num_biblios,
+ import_batch_id => $import_batch_id,
+ "overlay_action_${overlay_action}" => 1,
+ overlay_action => $overlay_action,
+ "nomatch_action_${nomatch_action}" => 1,
+ nomatch_action => $nomatch_action,
+ "item_action_${item_action}" => 1,
+ item_action => $item_action
+ );
batch_info($template, $batch);
}