X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=acqui%2Fneworderempty.pl;h=7dc7cb5924b0b7c2cb30267b1c64be1509956ced;hb=HEAD;hp=76be7e1ee613141dab62a5d451ada8934a2f5950;hpb=49b167e8486e19a20f055e1ce9cde30f82cfc55e;p=koha_gimpoz diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl index 76be7e1ee6..7dc7cb5924 100755 --- a/acqui/neworderempty.pl +++ b/acqui/neworderempty.pl @@ -75,19 +75,18 @@ use C4::Input; use C4::Auth; use C4::Budgets; use C4::Input; -use C4::Dates; use C4::Bookseller qw/ GetBookSellerFromId /; use C4::Acquisition; use C4::Suggestions; # GetSuggestion -use C4::Biblio; # GetBiblioData +use C4::Biblio; # GetBiblioData GetMarcPrice use C4::Items; #PrepareItemRecord use C4::Output; use C4::Input; use C4::Koha; use C4::Branch; # GetBranches use C4::Members; -use C4::Search qw/FindDuplicate BiblioAddAuthorities/; +use C4::Search qw/FindDuplicate/; #needed for z3950 import: use C4::ImportBatch qw/GetImportRecordMarc SetImportRecordStatus/; @@ -122,6 +121,13 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( } ); +my $marcflavour = C4::Context->preference('marcflavour'); + +if(!$basketno) { + my $order = GetOrder($ordernumber); + $basketno = $order->{'basketno'}; +} + my $basket = GetBasket($basketno); my $contract = &GetContract($basket->{contractnumber}); @@ -149,32 +155,13 @@ if ( $ordernumber eq '' and defined $params->{'breedingid'}){ } #from this point: add a new record if (C4::Context->preference("BiblioAddsAuthorities")){ - my ($countlinked,$countcreated)=BiblioAddAuthorities($marcrecord, $params->{'frameworkcode'}); + my $headings_linked=BiblioAutoLink($marcrecord, $params->{'frameworkcode'}); } my $bibitemnum; $params->{'frameworkcode'} or $params->{'frameworkcode'} = ""; ( $biblionumber, $bibitemnum ) = AddBiblio( $marcrecord, $params->{'frameworkcode'} ); # 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 ($marcrecord->subfield("345","d")) { - $listprice = $marcrecord->subfield("345","d"); - if ($listprice =~ /^([\d\.,]*)/) { - $listprice = $1; - $listprice =~ s/,/\./; - } else { - $listprice = 0; - } - } - elsif ($marcrecord->subfield("010","d")) { - $listprice = $marcrecord->subfield("010","d"); - if ($listprice =~ /^([\d\.,]*)/) { - $listprice = $1; - $listprice =~ s/,/\./; - } else { - $listprice = 0; - } - } + $listprice = GetMarcPrice($marcrecord, $marcflavour); SetImportRecordStatus($params->{'breedingid'}, 'imported'); } @@ -205,6 +192,9 @@ else { #modify order $booksellerid = $data2->{'booksellerid'}; } +my $suggestion; +$suggestion = GetSuggestionInfo($suggestionid) if $suggestionid; + # get currencies (for change rates calcs if needed) my $active_currency = GetCurrency(); my $default_currency; @@ -274,6 +264,8 @@ foreach my $r (@{$budgets}) { }; } +@{$budget_loop} = + sort { uc( $a->{b_txt}) cmp uc( $b->{b_txt}) } @{$budget_loop}; if ($close) { $budget_id = $data->{'budget_id'}; @@ -318,17 +310,15 @@ if ($CGIsort2) { } if (C4::Context->preference('AcqCreateItem') eq 'ordering' && !$ordernumber) { - # prepare empty item form - my $cell = PrepareItemrecordDisplay('','','','ACQ'); -# warn "==> ".Data::Dumper::Dumper($cell); - unless ($cell) { - $cell = PrepareItemrecordDisplay('','','',''); + # Check if ACQ framework exists + my $marc = GetMarcStructure(1, 'ACQ'); + unless($marc) { $template->param('NoACQframework' => 1); } - my @itemloop; - push @itemloop,$cell; - - $template->param(items => \@itemloop); + $template->param( + AcqCreateItemOrdering => 1, + UniqueItemFields => C4::Context->preference('UniqueItemFields'), + ); } # Get the item types list, but only if item_level_itype is YES. Otherwise, it will be in the item, no need to display it in the biblio my @itemtypes; @@ -355,12 +345,14 @@ $template->param( basketbooksellernote => $basket->{booksellernote}, basketcontractno => $basket->{contractnumber}, basketcontractname => $contract->{contractname}, - creationdate => C4::Dates->new($basket->{creationdate},'iso')->output, + creationdate => $basket->{creationdate}, authorisedby => $basket->{'authorisedby'}, authorisedbyname => $basket->{'authorisedbyname'}, - closedate => C4::Dates->new($basket->{'closedate'},'iso')->output, + closedate => $basket->{'closedate'}, # order details - suggestionid => $suggestionid, + suggestionid => $suggestion->{suggestionid}, + surnamesuggestedby => $suggestion->{surnamesuggestedby}, + firstnamesuggestedby => $suggestion->{firstnamesuggestedby}, biblionumber => $biblionumber, uncertainprice => $data->{'uncertainprice'}, authorisedbyname => $borrower->{'firstname'} . " " . $borrower->{'surname'}, @@ -377,6 +369,7 @@ $template->param( title => $data->{'title'}, author => $data->{'author'}, publicationyear => $data->{'publicationyear'} ? $data->{'publicationyear'} : $data->{'copyrightdate'}, + editionstatement => $data->{'editionstatement'}, budget_loop => $budget_loop, isbn => $data->{'isbn'}, seriestitle => $data->{'seriestitle'}, @@ -430,7 +423,7 @@ sub MARCfindbreeding { } } # fix the unimarc 100 coded field (with unicode information) - if (C4::Context->preference('marcflavour') eq 'UNIMARC' && $record->subfield(100,'a')) { + if ($marcflavour eq 'UNIMARC' && $record->subfield(100,'a')) { my $f100a=$record->subfield(100,'a'); my $f100 = $record->field(100); my $f100temp = $f100->as_string;