X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=reserve%2Frequest.pl;h=5bcaca2ca63e324e58a8d4d18d9a7fd1973e6cf3;hb=4bd9406309933be5c6a5a9dcee651978a42ba8fb;hp=24557f4c4cdc428df997d839179078e1bc0cc52b;hpb=803095a7989bd1cd4357ebe9736a19284d97b2db;p=koha.git diff --git a/reserve/request.pl b/reserve/request.pl index 24557f4c4c..5bcaca2ca6 100755 --- a/reserve/request.pl +++ b/reserve/request.pl @@ -42,6 +42,7 @@ use C4::Circulation; use C4::Dates qw/format_date/; use C4::Members; use C4::Search; # enabled_staff_search_views +use Koha::DateUtils; my $dbh = C4::Context->dbh; my $sth; @@ -64,23 +65,11 @@ my $showallitems = $input->param('showallitems'); my $branches = GetBranches(); my $itemtypes = GetItemTypes(); -my $default = C4::Context->userenv->{branch}; -my @values; -my %label_of; - -foreach my $branchcode (sort keys %{$branches} ) { - push @values, $branchcode; - $label_of{$branchcode} = $branches->{$branchcode}->{branchname}; +my $userbranch = ''; +if (C4::Context->userenv && C4::Context->userenv->{'branch'}) { + $userbranch = C4::Context->userenv->{'branch'}; } -my $CGIbranch = CGI::scrolling_list( - -name => 'pickup', - -id => 'pickup', - -values => \@values, - -default => $default, - -labels => \%label_of, - -size => 1, - -multiple => 0, - ); + # Select borrowers infos my $findborrower = $input->param('findborrower'); @@ -109,6 +98,11 @@ if ( $action eq 'move' ) { my $borrowernumber = $input->param('borrowernumber'); my $biblionumber = $input->param('biblionumber'); ToggleLowestPriority( $borrowernumber, $biblionumber ); +} elsif ( $action eq 'toggleSuspend' ) { + my $borrowernumber = $input->param('borrowernumber'); + my $biblionumber = $input->param('biblionumber'); + my $suspend_until = $input->param('suspend_until'); + ToggleSuspend( $borrowernumber, $biblionumber, $suspend_until ); } if ($findborrower) { @@ -238,9 +232,16 @@ foreach my $biblionumber (@biblionumbers) { my $dat = GetBiblioData($biblionumber); unless ( CanBookBeReserved($borrowerinfo->{borrowernumber}, $biblionumber) ) { - $warnings = 1; + $warnings = 1; $maxreserves = 1; } + + my $alreadypossession; + if (not C4::Context->preference('AllowHoldsOnPatronsPossessions') and CheckIfIssuedToPatron($borrowerinfo->{borrowernumber},$biblionumber)) { + $warnings = 1; + $alreadypossession = 1; + } + # get existing reserves ..... my ( $count, $reserves ) = GetReservesFromBiblionumber($biblionumber,1); my $totalcount = $count; @@ -262,7 +263,8 @@ foreach my $biblionumber (@biblionumbers) { $template->param( alreadyreserved => $alreadyreserved, messages => $messages, warnings => $warnings, - maxreserves=>$maxreserves + maxreserves=>$maxreserves, + alreadypossession => $alreadypossession, ); @@ -367,7 +369,7 @@ foreach my $biblionumber (@biblionumbers) { # change the background color my $issues= GetItemIssue($itemnumber); if ( $issues->{'date_due'} ) { - $item->{date_due} = format_date($issues->{'date_due'}); + $item->{date_due} = format_sqldatetime($issues->{date_due}); $item->{backgroundcolor} = 'onloan'; } @@ -567,7 +569,8 @@ foreach my $biblionumber (@biblionumbers) { $reserve{'lowestPriority'} = $res->{'lowestPriority'}; $reserve{'branchloop'} = GetBranchesLoop($res->{'branchcode'}); $reserve{'optionloop'} = \@optionloop; - + $reserve{'suspend'} = $res->{'suspend'}; + $reserve{'suspend_until'} = $res->{'suspend_until'}; push( @reserveloop, \%reserve ); } @@ -575,8 +578,7 @@ foreach my $biblionumber (@biblionumbers) { my $time = time(); $template->param( - CGIbranch => $CGIbranch, - + branchloop => GetBranchesLoop($userbranch), time => $time, fixedRank => $fixedRank, ); @@ -616,7 +618,6 @@ foreach my $biblionumber (@biblionumbers) { $template->param( biblioloop => \@biblioloop ); $template->param( biblionumbers => $biblionumbers ); -$template->param( DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar() ); if ($multihold) { $template->param( multi_hold => 1 ); @@ -626,5 +627,10 @@ if ( C4::Context->preference( 'AllowHoldDateInFuture' ) ) { $template->param( reserve_in_future => 1 ); } +$template->param( + SuspendHoldsIntranet => C4::Context->preference('SuspendHoldsIntranet'), + AutoResumeSuspendedHolds => C4::Context->preference('AutoResumeSuspendedHolds'), +); + # printout the page output_html_with_http_headers $input, $cookie, $template->output;