X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=reserve%2Fplacerequest.pl;h=a253fb55473968c82f1f0a3ff3ee70d64b91313c;hb=c89c25d81aa8d6a2500820b84aaf7a5c157ed815;hp=c23313d36c34ffdd5e662b820018e945c30c66ad;hpb=52b5a22edfbab0e211f5c5a3a8aa51b6fbd25202;p=koha-ffzg.git diff --git a/reserve/placerequest.pl b/reserve/placerequest.pl index c23313d36c..a253fb5547 100755 --- a/reserve/placerequest.pl +++ b/reserve/placerequest.pl @@ -37,26 +37,25 @@ checkauth($input, 0, { reserveforothers => 'place_holds' }, 'intranet'); my @reqbib = $input->multi_param('reqbib'); my @biblionumbers = $input->multi_param('biblionumber'); +my @holdable_bibs = $input->multi_param('holdable_bibs'); my $borrowernumber = $input->param('borrowernumber'); my $notes = $input->param('notes'); my $branch = $input->param('pickup'); my $startdate = $input->param('reserve_date') || ''; my @rank = $input->multi_param('rank-request'); -my $type = $input->param('type'); my $title = $input->param('title'); my $checkitem = $input->param('checkitem'); +my $item_group_id = $input->param('item_group_id'); my $expirationdate = $input->param('expiration_date'); my $itemtype = $input->param('itemtype') || undef; my $non_priority = $input->param('non_priority'); my $patron = Koha::Patrons->find( $borrowernumber ); -my $bad_bibs_param = $input->param('bad_bibs'); -my @bad_bibs = split '/', $bad_bibs_param; my $holds_to_place_count = $input->param('holds_to_place_count') || 1; my %bibinfos = (); -foreach my $bibnum (@biblionumbers) { +foreach my $bibnum ( @holdable_bibs ) { my %bibinfo = (); $bibinfo{title} = $input->param("title_$bibnum"); $bibinfo{rank} = $input->param("rank_$bibnum"); @@ -66,41 +65,42 @@ foreach my $bibnum (@biblionumbers) { my $found; -if ( $type eq 'str8' && $patron ) { +if ( $patron ) { foreach my $biblionumber ( keys %bibinfos ) { my $can_override = C4::Context->preference('AllowHoldPolicyOverride'); if ( defined $checkitem && $checkitem ne '' ) { - my $item_pickup_location = $input->param("item_pickup_$checkitem"); + if ( my $item_pickup_location = $input->param("item_pickup_$checkitem") ) { - my $item = Koha::Items->find($checkitem); + my $item = Koha::Items->find($checkitem); - if ( $item->biblionumber ne $biblionumber ) { - $biblionumber = $item->biblionumber; - } + if ( $item->biblionumber ne $biblionumber ) { + $biblionumber = $item->biblionumber; + } - my $can_item_be_reserved = CanItemBeReserved($patron, $item, $item_pickup_location)->{status}; + my $can_item_be_reserved = CanItemBeReserved($patron, $item, $item_pickup_location)->{status}; - if ( $can_item_be_reserved eq 'OK' || ( $can_item_be_reserved ne 'itemAlreadyOnHold' && $can_override ) ) { - AddReserve( - { - branchcode => $item_pickup_location, - borrowernumber => $patron->borrowernumber, - biblionumber => $biblionumber, - priority => $rank[0], - reservation_date => $startdate, - expiration_date => $expirationdate, - notes => $notes, - title => $title, - itemnumber => $checkitem, - found => $found, - itemtype => $itemtype, - non_priority => $non_priority, - } - ); + if ( $can_item_be_reserved eq 'OK' || ( $can_item_be_reserved ne 'itemAlreadyOnHold' && $can_override ) ) { + AddReserve( + { + branchcode => $item_pickup_location, + borrowernumber => $patron->borrowernumber, + biblionumber => $biblionumber, + priority => $rank[0], + reservation_date => $startdate, + expiration_date => $expirationdate, + notes => $notes, + title => $title, + itemnumber => $checkitem, + found => $found, + itemtype => $itemtype, + non_priority => $non_priority, + } + ); + } } } elsif (@biblionumbers > 1) { @@ -141,6 +141,7 @@ if ( $type eq 'str8' && $patron ) { found => $found, itemtype => $itemtype, non_priority => $non_priority, + item_group_id => $item_group_id, } ); } @@ -148,11 +149,8 @@ if ( $type eq 'str8' && $patron ) { } } - if (@bad_bibs) { - push @biblionumbers, @bad_bibs; - } my $redirect_url = URI->new("request.pl"); - $redirect_url->query_form( biblionumber => @biblionumbers); + $redirect_url->query_form( biblionumber => [@biblionumbers]); print $input->redirect($redirect_url); } elsif ( $borrowernumber eq '' ) {