X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=acqui%2Fneworderempty.pl;h=459dfe88a6aac65be4db7479c31cbd82362b39ad;hb=3ea42998cb28549e1dee5aab8f7e446ef80dc39c;hp=0ba7180ea0dd8b99d5a56df7c39f0cfe1f489ff8;hpb=88b3711ca918877796d8577c54efe3f0aba96673;p=koha.git diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl index 0ba7180ea0..459dfe88a6 100755 --- a/acqui/neworderempty.pl +++ b/acqui/neworderempty.pl @@ -93,7 +93,7 @@ use C4::ImportBatch qw/GetImportRecordMarc SetImportRecordStatus/; my $input = new CGI; my $booksellerid = $input->param('booksellerid'); # FIXME: else ERROR! -my $budget_id = $input->param('budget_id') || 0; # FIXME: else ERROR! +my $budget_id = $input->param('budget_id') || 0; my $title = $input->param('title'); my $author = $input->param('author'); my $publicationyear = $input->param('publicationyear'); @@ -132,6 +132,11 @@ if ( $ordernumber eq '' and defined $params->{'breedingid'}){ my ($marcrecord, $encoding) = MARCfindbreeding($params->{'breedingid'}); die("Could not find the selected record in the reservoir, bailing") unless $marcrecord; + # Remove all the items (952) from the imported record + foreach my $item ($marcrecord->field('952')) { + $marcrecord->delete_field($item); + } + my $duplicatetitle; #look for duplicates ($biblionumber,$duplicatetitle) = FindDuplicate($marcrecord); @@ -243,7 +248,7 @@ foreach my $thisbranch ( sort {$branches->{$a}->{'branchname'} cmp $branches->{$ value => $thisbranch, branchname => $branches->{$thisbranch}->{'branchname'}, ); - $row{'selected'} = 1 if( $thisbranch eq $data->{branchcode}) ; + $row{'selected'} = 1 if( $thisbranch && $data->{branchcode} && $thisbranch eq $data->{branchcode}) ; push @branchloop, \%row; } $template->param( branchloop => \@branchloop ); @@ -263,6 +268,7 @@ foreach my $r (@{$budgets}) { push @{$budget_loop}, { b_id => $r->{budget_id}, b_txt => $r->{budget_name}, + b_active => $r->{budget_period_active}, b_sel => ( $r->{budget_id} == $budget_id ) ? 1 : 0, }; } @@ -277,12 +283,12 @@ if ($close) { my $CGIsort1; if ($budget) { # its a mod .. if ( defined $budget->{'sort1_authcat'} ) { # with custom Asort* planning values - $CGIsort1 = GetAuthvalueDropbox( 'sort1', $budget->{'sort1_authcat'}, $data->{'sort1'} ); + $CGIsort1 = GetAuthvalueDropbox( $budget->{'sort1_authcat'}, $data->{'sort1'} ); } -} elsif(scalar(@$budgets)){ - $CGIsort1 = GetAuthvalueDropbox( 'sort1', @$budgets[0]->{'sort1_authcat'}, '' ); +} elsif(@{$budgets}){ + $CGIsort1 = GetAuthvalueDropbox( @$budgets[0]->{'sort1_authcat'}, '' ); }else{ - $CGIsort1 = GetAuthvalueDropbox( 'sort1','', '' ); + $CGIsort1 = GetAuthvalueDropbox( '', '' ); } # if CGIsort is successfully fetched, the use it @@ -296,12 +302,12 @@ if ($CGIsort1) { my $CGIsort2; if ($budget) { if ( defined $budget->{'sort2_authcat'} ) { - $CGIsort2 = GetAuthvalueDropbox( 'sort2', $budget->{'sort2_authcat'}, $data->{'sort2'} ); + $CGIsort2 = GetAuthvalueDropbox( $budget->{'sort2_authcat'}, $data->{'sort2'} ); } -} elsif(scalar(@$budgets)) { - $CGIsort2 = GetAuthvalueDropbox( 'sort2', @$budgets[0]->{sort2_authcat}, '' ); +} elsif(@{$budgets}) { + $CGIsort2 = GetAuthvalueDropbox( @$budgets[0]->{sort2_authcat}, '' ); }else{ - $CGIsort2 = GetAuthvalueDropbox( 'sort2','', '' ); + $CGIsort2 = GetAuthvalueDropbox( '', '' ); } if ($CGIsort2) { @@ -323,6 +329,12 @@ if (C4::Context->preference('AcqCreateItem') eq 'ordering' && !$ordernumber) { $template->param(items => \@itemloop); } +# 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; +@itemtypes = C4::ItemType->all unless C4::Context->preference('item-level_itypes'); + +# Find the items.barcode subfield for barcode validations +my (undef, $barcode_subfield) = GetMarcFromKohaField('items.barcode', ''); # fill template $template->param( @@ -367,14 +379,17 @@ $template->param( budget_loop => $budget_loop, isbn => $data->{'isbn'}, seriestitle => $data->{'seriestitle'}, + itemtypeloop => \@itemtypes, quantity => $data->{'quantity'}, quantityrec => $data->{'quantity'}, rrp => $data->{'rrp'}, listprice => sprintf("%.2f", $data->{'listprice'}||$data->{'price'}||$listprice), total => sprintf("%.2f", ($data->{'ecost'}||0)*($data->{'quantity'}||0) ), ecost => $data->{'ecost'}, + unitprice => sprintf("%.2f", $data->{'unitprice'}), notes => $data->{'notes'}, publishercode => $data->{'publishercode'}, + barcode_subfield => $barcode_subfield, import_batch_id => $import_batch_id,