#now script to do searching for acquisitions
# Copyright 2000-2002 Katipo Communications
+# Copyright 2008-2009 BibLibre SARL
#
# This file is part of Koha.
#
# 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
=cut
use strict;
+#use warnings; FIXME - Bug 2505
+
use C4::Search;
use CGI;
-use C4::Bookseller;
+use C4::Bookseller qw/ GetBookSellerFromId /;
use C4::Biblio;
-
use C4::Auth;
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(
query => $input,
type => "intranet",
authnotrequired => 0,
- flagsrequired => { acquisition => 1 },
+ flagsrequired => { acquisition => 'order_manage' },
}
);
# Searching the catalog.
-my ($error, $marcresults) = SimpleSearch($query);
+my @operands = $query;
+my ( @operators, @indexes, @sort_by, @limits ) = ();
+my ( $builterror, $builtquery, $simple_query, $query_cgi, $query_desc, $limit, $limit_cgi, $limit_desc, $stopwords_removed, $query_type ) =
+ buildQuery( \@operators, \@operands, \@indexes, @limits, \@sort_by, undef, undef );
+
+ # find results
+my ( $error, $marcresults, $total_hits ) = SimpleSearch( $builtquery, $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 = TransformMarcToKoha(C4::Context->dbh,$marcrecord,'');
+foreach my $result ( @{$marcresults} ) {
+ my $marcrecord = MARC::File::USMARC::decode( $result );
+ my $biblio = TransformMarcToKoha( C4::Context->dbh, $marcrecord, '' );
- #build the hash for the template.
- %resultsloop=%$biblio;
- $resultsloop{highlight} = ($i % 2)?(1):(0);
+ $biblio->{booksellerid} = $booksellerid;
+ push @results, $biblio;
- 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