[Koha-cvs] koha/acqui newordersuggestion.pl suggestion-sel...

Antoine Farnault antoine at koha-fr.org
Wed Aug 2 10:16:46 CEST 2006


CVSROOT:	/sources/koha
Module name:	koha
Changes by:	Antoine Farnault <toins>	06/08/02 08:16:46

Added files:
	acqui          : newordersuggestion.pl 
Removed files:
	acqui          : suggestion-select.pl 

Log message:
	newordersuggestion.pl replaces suggestion-select.pl

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/acqui/newordersuggestion.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/acqui/suggestion-select.pl?cvsroot=koha&r1=1.7&r2=0

Patches:
Index: newordersuggestion.pl
===================================================================
RCS file: newordersuggestion.pl
diff -N newordersuggestion.pl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ newordersuggestion.pl	2 Aug 2006 08:16:46 -0000	1.1
@@ -0,0 +1,182 @@
+#!/usr/bin/perl
+
+# 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., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+# $Id: newordersuggestion.pl,v 1.1 2006/08/02 08:16:46 toins Exp $
+
+=head1 NAME
+newordersuggestion.pl
+
+=head1 DESCRIPTION
+this script allow to add an order from a existing suggestion.
+
+=head1 CGI PARAMETERS
+
+=over 4
+
+=item basketno
+the number of this basket.
+
+=item booksellerid
+the bookseller who sells this record.
+
+=item title
+the title of this record suggested.
+
+=item author
+the author of this suggestion.
+
+=item note
+this param allow to enter a note with this suggestion.
+
+=item copyrightdate
+the copyright date for this suggestion.
+
+=item publishercode
+
+=item volumedesc
+
+=item publicationyear
+the publication year of this record.
+
+=item place
+
+=item isbn
+the isbn of this suggestion.
+
+=item duplicateNumber
+is the biblionumber to put to the new suggestion.
+
+=item suggestionid
+the id of the suggestion to select.
+
+=item op
+can be equal to
+    * connectDuplicate :
+        then call to the function : ConnectSuggestionAndBiblio.
+        i.e set the biblionumber of this suggestion.
+    * else :
+        is the default value.
+=back
+
+=cut
+
+use strict;
+require Exporter;
+use CGI;
+use HTML::Template;
+use C4::Auth;       # get_template_and_user
+use C4::Interface::CGI::Output;
+use C4::Suggestions;
+use C4::Biblio;
+use C4::SearchMarc;
+
+my $input = new CGI;
+
+my $basketno = $input->param('basketno');
+my $supplierid = $input->param('booksellerid');
+my $title = $input->param('title');
+my $author = $input->param('author');
+my $note = $input->param('note');
+my $copyrightdate =$input->param('copyrightdate');
+my $publishercode = $input->param('publishercode');
+my $volumedesc = $input->param('volumedesc');
+my $publicationyear = $input->param('publicationyear');
+my $place = $input->param('place');
+my $isbn = $input->param('isbn');
+my $duplicateNumber = $input->param('duplicateNumber');
+my $suggestionid = $input->param('suggestionid');
+
+my $status = 'ACCEPTED';
+my $suggestedbyme = -1; # search ALL suggestors
+my $op = $input->param('op');
+$op = 'else' unless $op;
+
+my $dbh = C4::Context->dbh;
+my ($template, $borrowernumber, $cookie)
+    = get_template_and_user({template_name => "acqui/suggestion-select.tmpl",
+			     type => "intranet",
+			     query => $input,
+			     authnotrequired => 1,
+			     flagsrequired => {acquisition => 1},
+			 });
+
+if ($op eq 'connectDuplicate') {
+	ConnectSuggestionAndBiblio($suggestionid,$duplicateNumber);
+}
+my $suggestions_loop= &SearchSuggestion($borrowernumber,$author,$title,$publishercode,$status,$suggestedbyme);
+foreach (@$suggestions_loop) {
+	unless ($_->{biblionumber}) {
+		my (@tags, @and_or, @excluding, @operator, @value, $offset,$length);
+		# search on biblio.title
+		if ($_->{title}) {
+			my ($tag,$subfield) = MARCfind_marc_from_kohafield($dbh,"biblio.title","");
+			push @tags, "'".$tag.$subfield."'";
+			push @and_or, "and";
+			push @excluding, "";
+			push @operator, "contains";
+			push @value, $_->{title};
+		}
+		if ($_->{author}) {
+			my ($tag,$subfield) = MARCfind_marc_from_kohafield($dbh,"biblio.author","");
+			push @tags, "'".$tag.$subfield."'";
+			push @and_or, "and";
+			push @excluding, "";
+			push @operator, "contains";
+			push @value, $_->{author};
+		}
+		# ... and on publicationyear.
+		if ($_->{publicationyear}) {
+			my ($tag,$subfield) = MARCfind_marc_from_kohafield($dbh,"biblioitems.publicationyear","");
+			push @tags, "'".$tag.$subfield."'";
+			push @and_or, "and";
+			push @excluding, "";
+			push @operator, "=";
+			push @value, $_->{publicationyear};
+		}
+		# ... and on publisher.
+		if ($_->{publishercode}) {
+			my ($tag,$subfield) = MARCfind_marc_from_kohafield($dbh,"biblioitems.publishercode","");
+			push @tags, "'".$tag.$subfield."'";
+			push @and_or, "and";
+			push @excluding, "";
+			push @operator, "=";
+			push @value, $_->{publishercode};
+		}
+	
+		my ($finalresult,$nbresult) = C4::SearchMarc::catalogsearch($dbh,\@tags,\@and_or,\@excluding,\@operator,\@value,0,10);
+		# there is at least 1 result => return the 1st one
+		if ($nbresult) {
+	# 		warn "$nbresult => ".@$finalresult[0]->{biblionumber},@$finalresult[0]->{bibid},@$finalresult[0]->{title};
+# 			warn "DUPLICATE ==>".@$finalresult[0]->{biblionumber},@$finalresult[0]->{bibid},@$finalresult[0]->{title};
+			$_->{duplicateBiblionumber} = @$finalresult[0]->{biblionumber};
+		}
+	}
+}
+$template->param(suggestions_loop => $suggestions_loop,
+				title => $title,
+				author => $author,
+				publishercode => $publishercode,
+				status => $status,
+				suggestedbyme => $suggestedbyme,
+				basketno => $basketno,
+				supplierid => $supplierid,
+				"op_$op" => 1,
+				intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
+		intranetstylesheet => C4::Context->preference("intranetstylesheet"),
+		IntranetNav => C4::Context->preference("IntranetNav"),
+);
+output_html_with_http_headers $input, $cookie, $template->output;

Index: suggestion-select.pl
===================================================================
RCS file: suggestion-select.pl
diff -N suggestion-select.pl
--- suggestion-select.pl	31 Jul 2006 14:30:45 -0000	1.7
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,182 +0,0 @@
-#!/usr/bin/perl
-
-# 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., 59 Temple Place,
-# Suite 330, Boston, MA  02111-1307 USA
-
-# $Id: suggestion-select.pl,v 1.7 2006/07/31 14:30:45 toins Exp $
-
-=head1 NAME
-suggestion-select.pl
-
-=head1 DESCRIPTION
-this script allow to add an order from a existing suggestion.
-
-=head1 CGI PARAMETERS
-
-=over 4
-
-=item basketno
-the number of this basket.
-
-=item booksellerid
-the bookseller who sells this record.
-
-=item title
-the title of this record suggested.
-
-=item author
-the author of this suggestion.
-
-=item note
-this param allow to enter a note with this suggestion.
-
-=item copyrightdate
-the copyright date for this suggestion.
-
-=item publishercode
-
-=item volumedesc
-
-=item publicationyear
-the publication year of this record.
-
-=item place
-
-=item isbn
-the isbn of this suggestion.
-
-=item duplicateNumber
-is the biblionumber to put to the new suggestion.
-
-=item suggestionid
-the id of the suggestion to select.
-
-=item op
-can be equal to
-    * connectDuplicate :
-        then call to the function : ConnectSuggestionAndBiblio.
-        i.e set the biblionumber of this suggestion.
-    * else :
-        is the default value.
-=back
-
-=cut
-
-use strict;
-require Exporter;
-use CGI;
-use HTML::Template;
-use C4::Auth;       # get_template_and_user
-use C4::Interface::CGI::Output;
-use C4::Suggestions;
-use C4::Biblio;
-use C4::SearchMarc;
-
-my $input = new CGI;
-
-my $basketno = $input->param('basketno');
-my $supplierid = $input->param('booksellerid');
-my $title = $input->param('title');
-my $author = $input->param('author');
-my $note = $input->param('note');
-my $copyrightdate =$input->param('copyrightdate');
-my $publishercode = $input->param('publishercode');
-my $volumedesc = $input->param('volumedesc');
-my $publicationyear = $input->param('publicationyear');
-my $place = $input->param('place');
-my $isbn = $input->param('isbn');
-my $duplicateNumber = $input->param('duplicateNumber');
-my $suggestionid = $input->param('suggestionid');
-
-my $status = 'ACCEPTED';
-my $suggestedbyme = -1; # search ALL suggestors
-my $op = $input->param('op');
-$op = 'else' unless $op;
-
-my $dbh = C4::Context->dbh;
-my ($template, $borrowernumber, $cookie)
-    = get_template_and_user({template_name => "acqui/suggestion-select.tmpl",
-			     type => "intranet",
-			     query => $input,
-			     authnotrequired => 1,
-			     flagsrequired => {acquisition => 1},
-			 });
-
-if ($op eq 'connectDuplicate') {
-	ConnectSuggestionAndBiblio($suggestionid,$duplicateNumber);
-}
-my $suggestions_loop= &SearchSuggestion($borrowernumber,$author,$title,$publishercode,$status,$suggestedbyme);
-foreach (@$suggestions_loop) {
-	unless ($_->{biblionumber}) {
-		my (@tags, @and_or, @excluding, @operator, @value, $offset,$length);
-		# search on biblio.title
-		if ($_->{title}) {
-			my ($tag,$subfield) = MARCfind_marc_from_kohafield($dbh,"biblio.title","");
-			push @tags, "'".$tag.$subfield."'";
-			push @and_or, "and";
-			push @excluding, "";
-			push @operator, "contains";
-			push @value, $_->{title};
-		}
-		if ($_->{author}) {
-			my ($tag,$subfield) = MARCfind_marc_from_kohafield($dbh,"biblio.author","");
-			push @tags, "'".$tag.$subfield."'";
-			push @and_or, "and";
-			push @excluding, "";
-			push @operator, "contains";
-			push @value, $_->{author};
-		}
-		# ... and on publicationyear.
-		if ($_->{publicationyear}) {
-			my ($tag,$subfield) = MARCfind_marc_from_kohafield($dbh,"biblioitems.publicationyear","");
-			push @tags, "'".$tag.$subfield."'";
-			push @and_or, "and";
-			push @excluding, "";
-			push @operator, "=";
-			push @value, $_->{publicationyear};
-		}
-		# ... and on publisher.
-		if ($_->{publishercode}) {
-			my ($tag,$subfield) = MARCfind_marc_from_kohafield($dbh,"biblioitems.publishercode","");
-			push @tags, "'".$tag.$subfield."'";
-			push @and_or, "and";
-			push @excluding, "";
-			push @operator, "=";
-			push @value, $_->{publishercode};
-		}
-	
-		my ($finalresult,$nbresult) = C4::SearchMarc::catalogsearch($dbh,\@tags,\@and_or,\@excluding,\@operator,\@value,0,10);
-		# there is at least 1 result => return the 1st one
-		if ($nbresult) {
-	# 		warn "$nbresult => ".@$finalresult[0]->{biblionumber},@$finalresult[0]->{bibid},@$finalresult[0]->{title};
-# 			warn "DUPLICATE ==>".@$finalresult[0]->{biblionumber},@$finalresult[0]->{bibid},@$finalresult[0]->{title};
-			$_->{duplicateBiblionumber} = @$finalresult[0]->{biblionumber};
-		}
-	}
-}
-$template->param(suggestions_loop => $suggestions_loop,
-				title => $title,
-				author => $author,
-				publishercode => $publishercode,
-				status => $status,
-				suggestedbyme => $suggestedbyme,
-				basketno => $basketno,
-				supplierid => $supplierid,
-				"op_$op" => 1,
-				intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
-		intranetstylesheet => C4::Context->preference("intranetstylesheet"),
-		IntranetNav => C4::Context->preference("IntranetNav"),
-);
-output_html_with_http_headers $input, $cookie, $template->output;





More information about the Koha-cvs mailing list