synch'ing 2.2 and head
[koha.git] / opac / opac-addbookbybiblionumber.pl
1 #!/usr/bin/perl
2 #script to provide bookshelf management
3 # WARNING: This file uses 4-character tabs!
4 #
5 # $Header$
6 #
7 # Copyright 2000-2002 Katipo Communications
8 #
9 # This file is part of Koha.
10 #
11 # Koha is free software; you can redistribute it and/or modify it under the
12 # terms of the GNU General Public License as published by the Free Software
13 # Foundation; either version 2 of the License, or (at your option) any later
14 # version.
15 #
16 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
17 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
18 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License along with
21 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
22 # Suite 330, Boston, MA  02111-1307 USA
23
24 use strict;
25 use C4::Search;
26 use C4::Biblio;
27 use CGI;
28 use C4::Output;
29 use C4::BookShelves;
30 use C4::Circulation::Circ2;
31 use C4::Auth;
32 use C4::Interface::CGI::Output;
33 use HTML::Template;
34
35 my $env;
36 my $query = new CGI;
37 my $biblionumber = $query->param('biblionumber');
38 my $shelfnumber = $query->param('shelfnumber');
39 my $newbookshelf = $query->param('newbookshelf');
40 my $category = $query->param('category');
41
42 my ($template, $loggedinuser, $cookie)
43 = get_template_and_user({template_name => "opac-addbookbybiblionumber.tmpl",
44                                                         query => $query,
45                                                         type => "opac",
46                                                         authnotrequired => 1,
47                                                 });
48
49 my $x; # for trash
50 ($x,$x,$shelfnumber) = AddShelf('',$newbookshelf,$loggedinuser,$category) if $newbookshelf;
51
52 if ($shelfnumber) {
53         &AddToShelfFromBiblio($env, $biblionumber, $shelfnumber);
54         print "Content-Type: text/html\n\n<html><body onload=\"window.close()\"></body></html>";
55         exit;
56 } else {
57
58         my  ( $bibliocount, @biblios )  = getbiblio($biblionumber);
59
60         my ($shelflist) = GetShelfList($loggedinuser,3);
61         my @shelvesloop;
62         my %shelvesloop;
63         foreach my $element (sort keys %$shelflist) {
64                         push (@shelvesloop, $element);
65                         $shelvesloop{$element} = $shelflist->{$element}->{'shelfname'};
66         }
67
68         my $CGIbookshelves=CGI::scrolling_list( -name     => 'shelfnumber',
69                                 -values   => \@shelvesloop,
70                                 -labels   => \%shelvesloop,
71                                 -size     => 1,
72                                 -multiple => 0 );
73
74         $template->param(biblionumber => $biblionumber,
75                                                 title => $biblios[0]->{'title'},
76                                                 author => $biblios[0]->{'author'},
77                                                 CGIbookshelves => $CGIbookshelves,
78                                                 LibraryName => C4::Context->preference("LibraryName"),
79                                                 suggestion => C4::Context->preference("suggestion"),
80                                                 virtualshelves => C4::Context->preference("virtualshelves"),
81                                                 );
82
83         output_html_with_http_headers $query, $cookie, $template->output;
84 }
85 # $Log$
86 # Revision 1.2  2005/05/04 09:02:38  tipaul
87 # synch'ing 2.2 and head
88 #
89 # Revision 1.1.2.2  2005/03/25 17:04:27  tipaul
90 # adding virtual shelves & suggestions button to the top
91 #
92 # Revision 1.1.2.1  2005/03/10 08:44:43  tipaul
93 # bugfix in baskets :
94 # * The user does not need to have to have librarian rights to use virtual shelves
95 # * error when adding a biblio to an existing basket
96 #
97 # Revision 1.1  2005/01/03 11:09:59  tipaul
98 # *** empty log message ***
99 #
100
101 # Local Variables:
102 # tab-width: 4
103 # End: