[Koha-cvs] koha/acqui neworderbiblio.pl newbasket2.pl
Antoine Farnault
antoine at koha-fr.org
Wed Aug 2 09:55:19 CEST 2006
CVSROOT: /sources/koha
Module name: koha
Changes by: Antoine Farnault <toins> 06/08/02 07:55:19
Added files:
acqui : neworderbiblio.pl
Removed files:
acqui : newbasket2.pl
Log message:
neworderbiblio.pl replaces newbasket2.pl
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/acqui/neworderbiblio.pl?cvsroot=koha&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/koha/acqui/newbasket2.pl?cvsroot=koha&r1=1.19&r2=0
Patches:
Index: neworderbiblio.pl
===================================================================
RCS file: neworderbiblio.pl
diff -N neworderbiblio.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ neworderbiblio.pl 2 Aug 2006 07:55:19 -0000 1.1
@@ -0,0 +1,354 @@
+#!/usr/bin/perl
+
+#origninally script to provide intranet (librarian) advanced search facility
+#now script to do searching for acquisitions
+
+# Copyright 2000-2002 Katipo Communications
+#
+# 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
+
+=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 type
+To know if this script is called from intranet or from the opac.
+
+=item d
+the keyword the librarian has typed to search an existing record.
+
+=item author
+the author of the new record.
+
+=item offset
+
+=item num
+
+=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.
+
+=item sub
+FIXME : is this param still used ?
+
+=back
+
+=cut
+
+
+use strict;
+use C4::Search;
+use CGI;
+use C4::Output;
+use C4::Bookseller;
+use C4::Biblio;
+use HTML::Template;
+use C4::Auth;
+use C4::Interface::CGI::Output;
+
+
+#use Data::Dumper;
+
+my $env;
+my $input = new CGI;
+
+#print $input->header;
+
+#whether it is called from the opac of the intranet
+my $type = $input->param('type');
+if ( $type eq '' ) {
+ $type = 'intra';
+}
+
+#print $input->dump;
+my $blah;
+my %search;
+
+#build hash of users input
+my $title = $input->param('search');
+$search{'title'} = $title;
+my $keyword = $input->param('d');
+$search{'keyword'} = $keyword;
+my $author = $input->param('author');
+$search{'author'} = $author;
+
+my @results;
+my $offset = $input->param('offset');
+
+#default value for offset
+my $offset = 0 unless $offset;
+
+my $num = $input->param('num');
+
+#default value for num
+my $num = 10 unless $num;
+
+my $donation;
+my $booksellerid = $input->param('booksellerid');
+if ( $booksellerid == 72 ) {
+ $donation = 'yes';
+}
+my $basketno = $input->param('basketno');
+my $sub = $input->param('sub');
+
+#print $sub;
+my @booksellers = GetBookSeller($booksellerid);
+my $count = scalar @booksellers;
+
+my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
+ {
+ template_name => "acqui/neworderbiblio.tmpl",
+ query => $input,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => { order => 1 },
+ debug => 1,
+ }
+);
+
+#my $template = gettemplate("acqui/neworderbiblio.tmpl");
+#print startpage();
+#print startmenu('acquisitions');
+my $invalidsearch;
+
+if ( $keyword ne '' ) {
+ ( $count, @results ) =
+ KeywordSearch( undef, 'intra', \%search, $num, $offset );
+}
+elsif ( $search{'front'} ne '' ) {
+ ( $count, @results ) =
+ FrontSearch( undef, 'intra', \%search, $num, $offset );
+}
+elsif ( $search{'author'} || $search{'title'} ) {
+ ( $count, @results ) = CatSearch( undef, 'loose', \%search, $num, $offset );
+}
+else {
+ $invalidsearch = 1;
+}
+
+my @loopsearch;
+
+while ( my ( $key, $value ) = each %search ) {
+ if ( $value ne '' ) {
+ my %linesearch;
+ $value =~ s/\\//g;
+ $linesearch{key} = $key;
+ $linesearch{value} = $value;
+ push( @loopsearch, \%linesearch );
+ }
+}
+
+my $offset2 = $num + $offset;
+my $dispnum = $offset + 1;
+if ( $offset2 > $count ) {
+ $offset2 = $count;
+}
+
+my $count2 = @results;
+if ( $keyword ne '' && $offset > 0 ) {
+ $count2 = $count - $offset;
+ if ( $count2 > 10 ) {
+ $count2 = 10;
+ }
+}
+my $i = 0;
+my $colour = 0;
+
+my @loopresult;
+
+while ( $i < $count2 ) {
+ my %lineres;
+ my $toggle;
+
+ my $result = $results[$i];
+ $result->{'title'} =~ s/\`/\\\'/g;
+ my $title2 = $result->{'title'};
+ my $author2 = $result->{'author'};
+ $author2 =~ s/ /%20/g;
+ $title2 =~ s/ /%20/g;
+ $title2 =~ s/\#/\&\#x23;/g;
+ $title2 =~ s/\"/\"\;/g;
+
+ my $itemcount;
+ my $location = '';
+ my $location_only = '';
+ my $word = $result->{'author'};
+ $word =~ s/([a-z]) +([a-z])/$1%20$2/ig;
+ $word =~ s/ //g;
+ $word =~ s/ /%20/g;
+ $word =~ s/\,/\,%20/g;
+ $word =~ s/\n//g;
+ $lineres{word} = $word;
+ $lineres{type} = $type;
+
+ my ( $counts, $branchcounts ) =
+ C4::Search::itemcount( $env, $result->{'biblionumber'}, $type );
+
+ if ( $counts->{'nacount'} > 0 ) {
+ $location .= "On Loan";
+ if ( $counts->{'nacount'} > 1 ) {
+ $location .= "=($counts->{'nacount'})";
+ }
+ $location .= " ";
+ $lineres{'on-loan-p'} = 1;
+ }
+ foreach my $key ( keys %$branchcounts ) {
+ if ( $branchcounts->{$key} > 0 ) {
+ $location .= $key;
+ $location_only .= $key;
+
+ if ( $branchcounts->{$key} > 1 ) {
+ $location .= "=$branchcounts->{$key}";
+ $location_only .= "=$branchcounts->{$key}";
+ }
+ $location .= " ";
+ $location_only .= " ";
+ }
+ }
+ if ( $counts->{'lostcount'} > 0 ) {
+ $location .= "Lost";
+ if ( $counts->{'lostcount'} > 1 ) {
+ $location .= "=($counts->{'lostcount'})";
+ }
+ $location .= " ";
+ $lineres{'lost-p'} = 1;
+ }
+ if ( $counts->{'mending'} > 0 ) {
+ $location .= "Mending";
+ if ( $counts->{'mending'} > 1 ) {
+ $location .= "=($counts->{'mending'})";
+ }
+ $location .= " ";
+ $lineres{'mending-p'} = 1;
+ }
+ if ( $counts->{'transit'} > 0 ) {
+ $location .= "In Transit";
+ if ( $counts->{'transit'} > 1 ) {
+ $location .= "=($counts->{'transit'})";
+ }
+ $location .= " ";
+ $lineres{'in-transit-p'} = 1;
+ }
+ if ( $colour eq 0 ) {
+ $toggle = 1;
+ $colour = 1;
+ }
+ else {
+ $colour = 0;
+ $toggle = 0;
+ }
+ $lineres{author2} = $author2;
+ $lineres{title2} = $title2;
+ $lineres{copyright} = $result->{'copyrightdate'};
+ $lineres{booksellerid} = $booksellerid;
+ $lineres{basketno} = $basketno;
+ $lineres{sub} = $sub;
+ $lineres{biblionumber} = $result->{biblionumber};
+ $lineres{title} = $result->{title};
+ $lineres{author} = $result->{author};
+ $lineres{toggle} = $toggle;
+ $lineres{itemcount} = $counts->{'count'};
+ $lineres{location} = $location;
+ $lineres{'location-only'} = $location_only;
+
+ # lets get a list on existing orders for all bibitems.
+ my @bibitems = GetBiblioItemByBiblioNumber( $result->{biblionumber} );
+ my $count1 = scalar @bibitems;
+ my $order, my $ordernumber;
+
+ my $i1 = 0;
+
+ my @ordernumbers;
+ foreach my $bibitem (@bibitems) {
+ my $ordernumber = GetOrderNumber($result->{biblionumber},$bibitem->{biblioitemnumber});
+ $order = &GetOrder($ordernumber);
+
+ #only show order if its current;
+ my %order;
+ $order{'number'} = $ordernumber;
+ if ( ( !$order->{cancelledby} )
+ && ( $order->{quantityreceived} < $order->{quantity} ) )
+ {
+ push @ordernumbers, \%order;
+ }
+ }
+ $lineres{existingorder} = \@ordernumbers;
+ push( @loopresult, \%lineres );
+ $i++;
+}
+
+my $prevoffset = $offset - $num;
+my $offsetprev = 1;
+if ( $prevoffset < 0 ) {
+ $offsetprev = 0;
+}
+
+$offset = $num + $offset;
+
+my @numbers = ();
+if ( $count > 10 ) {
+ for ( my $i = 0 ; $i < ( $count / $num ) ; $i++ ) {
+ my $highlight = 0;
+ my $numberoffset = $i * $num;
+ if ( ( $numberoffset + $num ) == $offset ) { $highlight = 1 }
+
+ # warn "I $i | N $num | O $offset | NO $numberoffset | H $highlight";
+ push @numbers,
+ {
+ number => ( $i + 1 ),
+ highlight => $highlight,
+ numberoffset => $numberoffset
+ };
+ }
+}
+
+$template->param(
+ bookselname => $booksellers[0]->{'name'},
+ booksellerid => $booksellerid,
+ basketno => $basketno,
+ parsub => $sub,
+ count => $count,
+ offset2 => $offset2,
+ dispnum => $dispnum,
+ offsetover => ( $offset < $count ),
+ num => $num,
+ offset => $prevoffset,
+ offsetprev => $offsetprev,
+ type => $type,
+ title => $title,
+ author => $author,
+ donation => $donation,
+ loopsearch => \@loopsearch,
+ loopresult => \@loopresult,
+ numbers => \@numbers,
+ invalidsearch => $invalidsearch,
+ 'use-location-flags-p' => 1
+);
+
+output_html_with_http_headers $input, $cookie, $template->output;
+
Index: newbasket2.pl
===================================================================
RCS file: newbasket2.pl
diff -N newbasket2.pl
--- newbasket2.pl 1 Aug 2006 08:30:15 -0000 1.19
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,354 +0,0 @@
-#!/usr/bin/perl
-
-#origninally script to provide intranet (librarian) advanced search facility
-#now script to do searching for acquisitions
-
-# Copyright 2000-2002 Katipo Communications
-#
-# 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
-
-=head1 NAME
-
-newbasket2.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 type
-To know if this script is called from intranet or from the opac.
-
-=item d
-the keyword the librarian has typed to search an existing record.
-
-=item author
-the author of the new record.
-
-=item offset
-
-=item num
-
-=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.
-
-=item sub
-FIXME : is this param still used ?
-
-=back
-
-=cut
-
-
-use strict;
-use C4::Search;
-use CGI;
-use C4::Output;
-use C4::Bookseller;
-use C4::Biblio;
-use HTML::Template;
-use C4::Auth;
-use C4::Interface::CGI::Output;
-
-
-#use Data::Dumper;
-
-my $env;
-my $input = new CGI;
-
-#print $input->header;
-
-#whether it is called from the opac of the intranet
-my $type = $input->param('type');
-if ( $type eq '' ) {
- $type = 'intra';
-}
-
-#print $input->dump;
-my $blah;
-my %search;
-
-#build hash of users input
-my $title = $input->param('search');
-$search{'title'} = $title;
-my $keyword = $input->param('d');
-$search{'keyword'} = $keyword;
-my $author = $input->param('author');
-$search{'author'} = $author;
-
-my @results;
-my $offset = $input->param('offset');
-
-#default value for offset
-my $offset = 0 unless $offset;
-
-my $num = $input->param('num');
-
-#default value for num
-my $num = 10 unless $num;
-
-my $donation;
-my $booksellerid = $input->param('booksellerid');
-if ( $booksellerid == 72 ) {
- $donation = 'yes';
-}
-my $basketno = $input->param('basketno');
-my $sub = $input->param('sub');
-
-#print $sub;
-my @booksellers = GetBookSeller($booksellerid);
-my $count = scalar @booksellers;
-
-my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
- {
- template_name => "acqui/newbasket2.tmpl",
- query => $input,
- type => "intranet",
- authnotrequired => 0,
- flagsrequired => { order => 1 },
- debug => 1,
- }
-);
-
-#my $template = gettemplate("acqui/newbasket2.tmpl");
-#print startpage();
-#print startmenu('acquisitions');
-my $invalidsearch;
-
-if ( $keyword ne '' ) {
- ( $count, @results ) =
- KeywordSearch( undef, 'intra', \%search, $num, $offset );
-}
-elsif ( $search{'front'} ne '' ) {
- ( $count, @results ) =
- FrontSearch( undef, 'intra', \%search, $num, $offset );
-}
-elsif ( $search{'author'} || $search{'title'} ) {
- ( $count, @results ) = CatSearch( undef, 'loose', \%search, $num, $offset );
-}
-else {
- $invalidsearch = 1;
-}
-
-my @loopsearch;
-
-while ( my ( $key, $value ) = each %search ) {
- if ( $value ne '' ) {
- my %linesearch;
- $value =~ s/\\//g;
- $linesearch{key} = $key;
- $linesearch{value} = $value;
- push( @loopsearch, \%linesearch );
- }
-}
-
-my $offset2 = $num + $offset;
-my $dispnum = $offset + 1;
-if ( $offset2 > $count ) {
- $offset2 = $count;
-}
-
-my $count2 = @results;
-if ( $keyword ne '' && $offset > 0 ) {
- $count2 = $count - $offset;
- if ( $count2 > 10 ) {
- $count2 = 10;
- }
-}
-my $i = 0;
-my $colour = 0;
-
-my @loopresult;
-
-while ( $i < $count2 ) {
- my %lineres;
- my $toggle;
-
- my $result = $results[$i];
- $result->{'title'} =~ s/\`/\\\'/g;
- my $title2 = $result->{'title'};
- my $author2 = $result->{'author'};
- $author2 =~ s/ /%20/g;
- $title2 =~ s/ /%20/g;
- $title2 =~ s/\#/\&\#x23;/g;
- $title2 =~ s/\"/\"\;/g;
-
- my $itemcount;
- my $location = '';
- my $location_only = '';
- my $word = $result->{'author'};
- $word =~ s/([a-z]) +([a-z])/$1%20$2/ig;
- $word =~ s/ //g;
- $word =~ s/ /%20/g;
- $word =~ s/\,/\,%20/g;
- $word =~ s/\n//g;
- $lineres{word} = $word;
- $lineres{type} = $type;
-
- my ( $counts, $branchcounts ) =
- C4::Search::itemcount( $env, $result->{'biblionumber'}, $type );
-
- if ( $counts->{'nacount'} > 0 ) {
- $location .= "On Loan";
- if ( $counts->{'nacount'} > 1 ) {
- $location .= "=($counts->{'nacount'})";
- }
- $location .= " ";
- $lineres{'on-loan-p'} = 1;
- }
- foreach my $key ( keys %$branchcounts ) {
- if ( $branchcounts->{$key} > 0 ) {
- $location .= $key;
- $location_only .= $key;
-
- if ( $branchcounts->{$key} > 1 ) {
- $location .= "=$branchcounts->{$key}";
- $location_only .= "=$branchcounts->{$key}";
- }
- $location .= " ";
- $location_only .= " ";
- }
- }
- if ( $counts->{'lostcount'} > 0 ) {
- $location .= "Lost";
- if ( $counts->{'lostcount'} > 1 ) {
- $location .= "=($counts->{'lostcount'})";
- }
- $location .= " ";
- $lineres{'lost-p'} = 1;
- }
- if ( $counts->{'mending'} > 0 ) {
- $location .= "Mending";
- if ( $counts->{'mending'} > 1 ) {
- $location .= "=($counts->{'mending'})";
- }
- $location .= " ";
- $lineres{'mending-p'} = 1;
- }
- if ( $counts->{'transit'} > 0 ) {
- $location .= "In Transit";
- if ( $counts->{'transit'} > 1 ) {
- $location .= "=($counts->{'transit'})";
- }
- $location .= " ";
- $lineres{'in-transit-p'} = 1;
- }
- if ( $colour eq 0 ) {
- $toggle = 1;
- $colour = 1;
- }
- else {
- $colour = 0;
- $toggle = 0;
- }
- $lineres{author2} = $author2;
- $lineres{title2} = $title2;
- $lineres{copyright} = $result->{'copyrightdate'};
- $lineres{booksellerid} = $booksellerid;
- $lineres{basketno} = $basketno;
- $lineres{sub} = $sub;
- $lineres{biblionumber} = $result->{biblionumber};
- $lineres{title} = $result->{title};
- $lineres{author} = $result->{author};
- $lineres{toggle} = $toggle;
- $lineres{itemcount} = $counts->{'count'};
- $lineres{location} = $location;
- $lineres{'location-only'} = $location_only;
-
- # lets get a list on existing orders for all bibitems.
- my @bibitems = GetBiblioItemByBiblioNumber( $result->{biblionumber} );
- my $count1 = scalar @bibitems;
- my $order, my $ordernumber;
-
- my $i1 = 0;
-
- my @ordernumbers;
- foreach my $bibitem (@bibitems) {
- my $ordernumber = GetOrderNumber($result->{biblionumber},$bibitem->{biblioitemnumber});
- $order = &GetOrder($ordernumber);
-
- #only show order if its current;
- my %order;
- $order{'number'} = $ordernumber;
- if ( ( !$order->{cancelledby} )
- && ( $order->{quantityreceived} < $order->{quantity} ) )
- {
- push @ordernumbers, \%order;
- }
- }
- $lineres{existingorder} = \@ordernumbers;
- push( @loopresult, \%lineres );
- $i++;
-}
-
-my $prevoffset = $offset - $num;
-my $offsetprev = 1;
-if ( $prevoffset < 0 ) {
- $offsetprev = 0;
-}
-
-$offset = $num + $offset;
-
-my @numbers = ();
-if ( $count > 10 ) {
- for ( my $i = 0 ; $i < ( $count / $num ) ; $i++ ) {
- my $highlight = 0;
- my $numberoffset = $i * $num;
- if ( ( $numberoffset + $num ) == $offset ) { $highlight = 1 }
-
- # warn "I $i | N $num | O $offset | NO $numberoffset | H $highlight";
- push @numbers,
- {
- number => ( $i + 1 ),
- highlight => $highlight,
- numberoffset => $numberoffset
- };
- }
-}
-
-$template->param(
- bookselname => $booksellers[0]->{'name'},
- booksellerid => $booksellerid,
- basketno => $basketno,
- parsub => $sub,
- count => $count,
- offset2 => $offset2,
- dispnum => $dispnum,
- offsetover => ( $offset < $count ),
- num => $num,
- offset => $prevoffset,
- offsetprev => $offsetprev,
- type => $type,
- title => $title,
- author => $author,
- donation => $donation,
- loopsearch => \@loopsearch,
- loopresult => \@loopresult,
- numbers => \@numbers,
- invalidsearch => $invalidsearch,
- 'use-location-flags-p' => 1
-);
-
-output_html_with_http_headers $input, $cookie, $template->output;
-
More information about the Koha-cvs
mailing list