update database for :
[koha.git] / bookshelves / 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 => "bookshelves/addbookbybiblionumber.tmpl",
44                                                         query => $query,
45                                                         type => "intranet",
46                                                         authnotrequired => 0,
47                                                         flagsrequired => {catalogue => 1},
48                                                 });
49
50 my $x; # for trash
51 ($x,$x,$shelfnumber) = AddShelf('',$newbookshelf,$loggedinuser,$category) if $newbookshelf;
52
53 if ($shelfnumber) {
54         &AddToShelfFromBiblio($env, $biblionumber, $shelfnumber);
55         print "Content-Type: text/html\n\n<html><body onload=\"window.close()\"></body></html>";
56         exit;
57 } else {
58
59         my  ( $bibliocount, @biblios )  = getbiblio($biblionumber);
60
61         my ($shelflist) = GetShelfList($loggedinuser,3);
62         my @shelvesloop;
63         my %shelvesloop;
64         foreach my $element (sort keys %$shelflist) {
65                         push (@shelvesloop, $element);
66                         $shelvesloop{$element} = $shelflist->{$element}->{'shelfname'};
67         }
68
69         my $CGIbookshelves=CGI::scrolling_list( -name     => 'shelfnumber',
70                                 -values   => \@shelvesloop,
71                                 -labels   => \%shelvesloop,
72                                 -size     => 1,
73                                 -multiple => 0 );
74
75         $template->param(biblionumber => $biblionumber,
76                                                 title => $biblios[0]->{'title'},
77                                                 author => $biblios[0]->{'author'},
78                                                 CGIbookshelves => $CGIbookshelves,
79                                                 );
80
81         output_html_with_http_headers $query, $cookie, $template->output;
82 }
83 # $Log$
84 # Revision 1.3  2004/12/15 17:28:22  tipaul
85 # adding bookshelf features :
86 # * create bookshelf on the fly
87 # * modify a bookshelf (this being not finished, will commit the rest soon)
88 #
89 # Revision 1.2  2004/11/19 16:31:30  tipaul
90 # bugfix for bookshelves not in official CVS
91 #
92 # Revision 1.1.2.2  2004/03/10 15:08:18  tipaul
93 # modifying shelves : introducing category of shelf : private, public, free for all
94 #
95 # Revision 1.1.2.1  2004/02/19 10:14:36  tipaul
96 # new feature : adding book to bookshelf from biblio detail screen.
97 #
98
99 # Local Variables:
100 # tab-width: 4
101 # End: