X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=acqui%2Fneworderbiblio.pl;h=bc782afe46e89fb06581edff965e1e1b8ca1066e;hb=568f32606c2c9c247b2b477193a2d6814f738fa6;hp=f491f5afc8ab4b79f2fabd1eda782bdb7a3bf813;hpb=f8e9fb6445dadbdef91e13a253c9c6bcb75e0eec;p=koha.git diff --git a/acqui/neworderbiblio.pl b/acqui/neworderbiblio.pl index f491f5afc8..bc782afe46 100755 --- a/acqui/neworderbiblio.pl +++ b/acqui/neworderbiblio.pl @@ -4,6 +4,7 @@ #now script to do searching for acquisitions # Copyright 2000-2002 Katipo Communications +# Copyright 2008-2009 BibLibre SARL # # This file is part of Koha. # @@ -16,9 +17,9 @@ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =head1 NAME @@ -55,29 +56,30 @@ the basket number to know on which basket this script have to add a new order. =cut use strict; +#use warnings; FIXME - Bug 2505 + use C4::Search; use CGI; -use C4::Output; -use C4::Bookseller; +use C4::Bookseller qw/ GetBookSellerFromId /; use C4::Biblio; - use C4::Auth; -use C4::Interface::CGI::Output; +use C4::Output; use C4::Koha; +use C4::Members qw/ GetMember /; +use C4::Budgets qw/ GetBudgetHierarchy /; my $input = new CGI; #getting all CGI params into a hash. my $params = $input->Vars; -my $offset = $params->{'offset'} || 0; -my $query = $params->{'q'}; -my $num = $params->{'num'}; -$num = 20 unless $num; - -my $booksellerid = $params->{'booksellerid'}; -my $basketno = $params->{'basketno'}; -my $sub = $params->{'sub'}; +my $page = $params->{'page'} || 1; +my $query = $params->{'q'}; +my $results_per_page = $params->{'num'} || 20; +my $booksellerid = $params->{'booksellerid'}; +my $basketno = $params->{'basketno'}; +my $sub = $params->{'sub'}; +my $bookseller = GetBookSellerFromId($booksellerid); # getting the template my ( $template, $loggedinuser, $cookie ) = get_template_and_user( @@ -86,50 +88,57 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( query => $input, type => "intranet", authnotrequired => 0, - flagsrequired => { acquisition => 1 }, + flagsrequired => { acquisition => 'order_manage' }, } ); # Searching the catalog. -my ($error, $marcresults) = SimpleSearch($query); + + # find results +my ( $error, $marcresults, $total_hits ) = SimpleSearch( $query, $results_per_page * ( $page - 1 ), $results_per_page ); if (defined $error) { - $template->param(query_error => $error); - warn "error: ".$error; + $template->param( + query_error => $error, + basketno => $basketno, + booksellerid => $bookseller->{'id'}, + name => $bookseller->{'name'}, + ); output_html_with_http_headers $input, $cookie, $template->output; exit; } -my $hits = scalar @$marcresults; my @results; -for(my $i=0;$i<$hits;$i++) { - my %resultsloop; - my $marcrecord = MARC::File::USMARC::decode($marcresults->[$i]); - my $biblio = MARCmarc2koha(C4::Context->dbh,$marcrecord,''); +foreach my $result ( @{$marcresults} ) { + my $marcrecord = MARC::File::USMARC::decode( $result ); + my $biblio = TransformMarcToKoha( C4::Context->dbh, $marcrecord, '' ); + + $biblio->{booksellerid} = $booksellerid; + push @results, $biblio; - #build the hash for the template. - %resultsloop=%$biblio; - $resultsloop{highlight} = ($i % 2)?(1):(0); +} - push @results, \%resultsloop; +my $borrower= GetMember('borrowernumber' => $loggedinuser); +my $budgets = GetBudgetHierarchy(q{},$borrower->{branchcode},$borrower->{borrowernumber}); +my $has_budgets = 0; +foreach my $r (@{$budgets}) { + if (!defined $r->{budget_amount} || $r->{budget_amount} == 0) { + next; + } + $has_budgets = 1; + last; } $template->param( - basketno => $basketno, - booksellerid => $booksellerid, - resultsloop => \@results, - total => $hits, - query => $query, - virtualshelves => C4::Context->preference("virtualshelves"), - LibraryName => C4::Context->preference("LibraryName"), - OpacNav => C4::Context->preference("OpacNav"), - opaccredits => C4::Context->preference("opaccredits"), - AmazonContent => C4::Context->preference("AmazonContent"), - opacsmallimage => C4::Context->preference("opacsmallimage"), - opaclayoutstylesheet => C4::Context->preference("opaclayoutstylesheet"), - opaccolorstylesheet => C4::Context->preference("opaccolorstylesheet"), - "BiblioDefaultView".C4::Context->preference("IntranetBiblioDefaultView") => 1, + has_budgets => $has_budgets, + basketno => $basketno, + booksellerid => $bookseller->{'id'}, + name => $bookseller->{'name'}, + resultsloop => \@results, + total => $total_hits, + query => $query, + pagination_bar => pagination_bar( "$ENV{'SCRIPT_NAME'}?q=$query&booksellerid=$booksellerid&basketno=$basketno&", getnbpages( $total_hits, $results_per_page ), $page, 'page' ), ); # BUILD THE TEMPLATE