[Koha-patches] [PATCH] bug_7231: Call GetMarcPrice() in acqui/neworderempty.pl for staged imports

Srdjan Jankovic srdjan at catalyst.net.nz
Fri Jan 27 03:22:21 CET 2012


---
 acqui/neworderempty.pl |   26 ++++----------------------
 1 files changed, 4 insertions(+), 22 deletions(-)

diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl
index 459dfe8..5ca0d64 100755
--- a/acqui/neworderempty.pl
+++ b/acqui/neworderempty.pl
@@ -80,7 +80,7 @@ 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::Output;
 use C4::Input;
 use C4::Koha;
@@ -121,6 +121,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
+my $marcflavour = C4::Context->preference('marcflavour');
 my $basket = GetBasket($basketno);
 my $contract = &GetContract($basket->{contractnumber});
 
@@ -154,26 +155,7 @@ if ( $ordernumber eq '' and defined $params->{'breedingid'}){
         $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');
 }
 
@@ -429,7 +411,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;
-- 
1.6.5



More information about the Koha-patches mailing list