rel_3_0 moved to HEAD
[koha.git] / cataloguing / addbooks.pl
index 2a79a24..6a80060 100755 (executable)
@@ -2,6 +2,19 @@
 
 # $Id$
 
+#
+# Modified saas@users.sf.net 12:00 01 April 2001
+# The biblioitemnumber was not correctly initialised
+# The max(barcode) value was broken - koha 'barcode' is a string value!
+# - If left blank, barcode value now defaults to max(biblionumber)
+
+#
+# TODO
+#
+# Add info on biblioitems and items already entered as you enter new ones
+#
+# Add info on biblioitems and items already entered as you enter new ones
+
 # Copyright 2000-2002 Katipo Communications
 #
 # This file is part of Koha.
@@ -23,18 +36,23 @@ use strict;
 use CGI;
 use C4::Auth;
 use C4::Biblio;
+use C4::Breeding;
 use C4::Output;
 use C4::Interface::CGI::Output;
+
 use C4::Koha;
+use C4::Search;
+
+my $input = new CGI;
 
-my $query = new CGI;
+my $success = $input->param('biblioitem');
+my $query   = $input->param('q');
+my @value = $input->param('value');
 
-my $error   = $query->param('error');
-my $success = $query->param('biblioitem');
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
         template_name   => "cataloguing/addbooks.tmpl",
-        query           => $query,
+        query           => $input,
         type            => "intranet",
         authnotrequired => 0,
         flagsrequired   => { editcatalogue => 1 },
@@ -52,8 +70,78 @@ foreach my $thisframeworkcode (keys %$frameworks) {
        push @frameworkcodeloop, \%row;
 }
 
-my $marc_p = C4::Context->boolean_preference("marc");
-$template->param( NOTMARC => !$marc_p,
-                               frameworkcodeloop => \@frameworkcodeloop );
+# Searching the catalog.
+if($query) {
+    my ($error, $marcresults) = SimpleSearch($query);
+
+    if (defined $error) {
+        $template->param(error => $error);
+        warn "error: ".$error;
+        output_html_with_http_headers $input, $cookie, $template->output;
+        exit;
+    }
+
+    my $total = scalar @$marcresults;
+    my @results;
+
+    for(my $i=0;$i<$total;$i++) {
+        my %resultsloop;
+        my $marcrecord = MARC::File::USMARC::decode($marcresults->[$i]);
+        my $biblio = MARCmarc2koha(C4::Context->dbh,$marcrecord,'');
+    
+        #hilight the result
+        $biblio->{'title'} =~ s/$query/<span class=term>$&<\/span>/gi;
+        $biblio->{'subtitle'} =~ s/$query/<span class=term>$&<\/span>/gi;
+        $biblio->{'biblionumber'} =~ s/$query/<span class=term>$&<\/span>/gi;
+        $biblio->{'author'} =~ s/$query/<span class=term>$&<\/span>/gi;
+        $biblio->{'publishercode'} =~ s/$query/<span class=term>$&<\/span>/gi;
+        $biblio->{'publicationyear'} =~ s/$query/<span class=term>$&<\/span>/gi;
+    
+        #build the hash for the template.
+        $resultsloop{highlight}       = ($i % 2)?(1):(0);
+        $resultsloop{title}           = $biblio->{'title'};
+        $resultsloop{subtitle}        = $biblio->{'subtitle'};
+        $resultsloop{biblionumber}    = $biblio->{'biblionumber'};
+        $resultsloop{author}          = $biblio->{'author'};
+        $resultsloop{publishercode}   = $biblio->{'publishercode'};
+        $resultsloop{publicationyear} = $biblio->{'publicationyear'};
+
+        push @results, \%resultsloop;
+    }
+    $template->param(
+        total => $total,
+        query => $query,
+        resultsloop => \@results,
+    );
+}
+
+# fill with books in breeding farm
+my $toggle=0;
+my ($title,$isbn);
+# fill isbn or title, depending on what has been entered
+$isbn=$query if $query =~ /\d/;
+$title=$query unless $isbn;
+my ( $countbr, @resultsbr ) = BreedingSearch( $title, $isbn ) if $query;
+my @breeding_loop = ();
+for ( my $i = 0 ; $i <= $#resultsbr ; $i++ ) {
+    my %row_data;
+    if ( $i % 2 ) {
+        $toggle = 0;
+    }
+    else {
+        $toggle = 1;
+    }
+    $row_data{toggle} = $toggle;
+    $row_data{id}     = $resultsbr[$i]->{'id'};
+    $row_data{isbn}   = $resultsbr[$i]->{'isbn'};
+    $row_data{file}   = $resultsbr[$i]->{'file'};
+    $row_data{title}  = $resultsbr[$i]->{'title'};
+    $row_data{author} = $resultsbr[$i]->{'author'};
+    push ( @breeding_loop, \%row_data );
+}
+
+$template->param( frameworkcodeloop => \@frameworkcodeloop,
+                  breeding_loop => \@breeding_loop,
+              );
 
-output_html_with_http_headers $query, $cookie, $template->output;
+output_html_with_http_headers $input, $cookie, $template->output;