Koha/acqui/neworderbiblio.pl
Galen Charlton c9ba8c899d Merge branch 'bug2505_patches' of git://git.catalyst.net.nz/koha into to-push
* 'bug2505_patches' of git://git.catalyst.net.nz/koha: (24 commits)
  Bug 2505 - use strict and warnings in sax_parser_test
  Bug 2505 - enable warnings for link_bibs_to_authorities
  Bug 2505 - add strict and warnings to perlmodule_ls
  Bug 2505 - add strict and warnings to check_sysprefs
  Bug 2505 - Add commented use warnings where missing in *.t
  Bug 2505 - Add commented use warnings where missing in *.pm
  Bug 2505 - Add commented use warnings where missing in the cataloguing/ directory
  Bug 2505 - Add commented use warnings where missing in the misc/ directory
  Bug 2505 - Add commented use warnings where missing in the tools/ directory
  Bug 2505 - Add commented use warnings where missing in the installer/ directory
  Bug 2505 - Add commented use warnings where missing in the rotating_collections/ directory
  Bug 2505 - Add commented use warnings where missing in the C4/ directory
  Bug 2505 - Add commented use warnings where missing in the serials/ directory
  Bug 2505 - Add commented use warnings where missing in the catalogue/ directory
  Bug 2505 - Add commented use warnings where missing in the sms/ directory
  Bug 2505 - Add commented use warnings where missing in the opac/ directory
  Bug 2505 - Add commented use warnings where missing in the virtualshelves/ directory
  Bug 2505 - Add commented use warnings where missing in the suggestion/ directory
  Bug 2505 - Add commented use warnings where missing in the admin/ directory
  Bug 2505 - Add commented use warnings where missing in the circ/ directory
  ...

Conflicts:
	C4/Auth_with_cas.pm
	acqui/supplier.pl

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-04-23 07:13:37 -04:00

131 lines
3.7 KiB
Perl
Executable file

#!/usr/bin/perl
#origninally script to provide intranet (librarian) advanced search facility
#now script to do searching for acquisitions
# Copyright 2000-2002 Katipo Communications
# Copyright 2008-2009 BibLibre SARL
#
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
# 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.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
=head1 NAME
neworderbiblio.pl
=head1 DESCRIPTION
this script allows to perform a new order from an existing record.
=head1 CGI PARAMETERS
=over 4
=item search
the title the librarian has typed to search an existing record.
=item q
the keyword the librarian has typed to search an existing record.
=item author
the author of the new record.
=item num
the number of result per page to display
=item booksellerid
the id of the bookseller this script has to add an order.
=item basketno
the basket number to know on which basket this script have to add a new order.
=back
=cut
use strict;
#use warnings; FIXME - Bug 2505
use C4::Search;
use CGI;
use C4::Bookseller;
use C4::Biblio;
use C4::Auth;
use C4::Output;
use C4::Koha;
my $input = new CGI;
#getting all CGI params into a hash.
my $params = $input->Vars;
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(
{
template_name => "acqui/neworderbiblio.tmpl",
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => { acquisition => 'order_manage' },
}
);
# Searching the catalog.
my ($error, $marcresults, $total_hits) = SimpleSearch($query, $results_per_page * ($page - 1), $results_per_page);
if (defined $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 @results;
if ($marcresults) {
foreach my $result ( @{$marcresults} ) {
my $marcrecord = MARC::File::USMARC::decode( $result );
my $biblio = TransformMarcToKoha( C4::Context->dbh, $marcrecord, '' );
$biblio->{booksellerid} = $booksellerid;
push @results, $biblio;
}
}
$template->param(
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
output_html_with_http_headers $input, $cookie, $template->output;