newordersuggestion.pl replaces suggestion-select.pl
authortoins <toins>
Wed, 2 Aug 2006 08:16:46 +0000 (08:16 +0000)
committertoins <toins>
Wed, 2 Aug 2006 08:16:46 +0000 (08:16 +0000)
acqui/newordersuggestion.pl [new file with mode: 0755]
acqui/suggestion-select.pl [deleted file]

diff --git a/acqui/newordersuggestion.pl b/acqui/newordersuggestion.pl
new file mode 100755 (executable)
index 0000000..e46fc78
--- /dev/null
@@ -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$
+
+=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;
diff --git a/acqui/suggestion-select.pl b/acqui/suggestion-select.pl
deleted file mode 100755 (executable)
index b8622cc..0000000
+++ /dev/null
@@ -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$
-
-=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;