100e6a9808
So this implies quite a change for files. Sorry about conflicts which will be caused. directory Interface::CGI should now be dropped. I noticed that many scripts (reports ones, but also some circ/stats.pl or opac-topissues) still use Date::Manip.
119 lines
3.7 KiB
Perl
119 lines
3.7 KiB
Perl
#!/usr/bin/perl
|
|
|
|
# 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
|
|
|
|
use strict;
|
|
use CGI qw/:standard/;
|
|
use C4::Circulation;
|
|
use C4::Output;
|
|
use C4::Auth;
|
|
use C4::Print;
|
|
use C4::Koha;
|
|
use C4::Branch; # GetBranches
|
|
|
|
# this is a reorganisation of circulationold.pl
|
|
# dividing it up into three scripts......
|
|
# this will be the first one that chooses branch and printer settings....
|
|
|
|
#general design stuff...
|
|
|
|
# try to get the branch and printer settings from the http....
|
|
my $query = new CGI;
|
|
my $branches = GetBranches();
|
|
my $printers = GetPrinters();
|
|
my $branch = $query->param('branch');
|
|
my $printer = $query->param('printer');
|
|
|
|
my %cookie = $query->cookie('userenv');
|
|
($branch) || ( $branch = $cookie{'branch'} );
|
|
($printer) || ( $printer = $cookie{'printer'} );
|
|
|
|
( $branches->{$branch} ) || ( $branch = ( keys %$branches )[0] );
|
|
( $printers->{$printer} ) || ( $printer = ( keys %$printers )[0] );
|
|
|
|
# is you force a selection....
|
|
my $oldbranch = $branch;
|
|
my $oldprinter = $printer;
|
|
|
|
# set up select options....
|
|
my $branchcount = 0;
|
|
my $printercount = 0;
|
|
my @branchloop;
|
|
foreach my $br ( keys %$branches ) {
|
|
next unless $br =~ /\S/; # next unless $br is not blank.
|
|
|
|
$branchcount++;
|
|
my %branch;
|
|
$branch{selected} = ( $br eq $oldbranch );
|
|
$branch{name} = $branches->{$br}->{'branchname'};
|
|
$branch{value} = $br;
|
|
push( @branchloop, \%branch );
|
|
}
|
|
my @printerloop;
|
|
foreach ( keys %$printers ) {
|
|
(next) unless ($_); # next unless if this printer is blank.
|
|
$printercount++;
|
|
my %printer;
|
|
$printer{selected} = ( $_ eq $oldprinter );
|
|
$printer{name} = $printers->{$_}->{'printername'};
|
|
$printer{value} = $_;
|
|
push( @printerloop, \%printer );
|
|
}
|
|
|
|
# if there is only one....
|
|
my $printername;
|
|
my $branchname;
|
|
|
|
my $oneprinter = ( $printercount == 1 );
|
|
my $onebranch = ( $branchcount == 1 );
|
|
if ( $printercount == 1 ) {
|
|
my ($tmpprinter) = keys %$printers;
|
|
$printername = $printers->{$tmpprinter}->{printername};
|
|
}
|
|
if ( $branchcount == 1 ) {
|
|
my ($tmpbranch) = keys %$branches;
|
|
$branchname = $branches->{$tmpbranch}->{branchname};
|
|
}
|
|
|
|
################################################################################
|
|
# Start writing page....
|
|
# set header with cookie....
|
|
|
|
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
|
|
{
|
|
template_name => "circ/selectbranchprinter.tmpl",
|
|
query => $query,
|
|
type => "intranet",
|
|
authnotrequired => 0,
|
|
flagsrequired => { circulate => 1 },
|
|
}
|
|
);
|
|
$template->param(
|
|
oneprinter => $oneprinter,
|
|
onebranch => $onebranch,
|
|
printername => $printername,
|
|
branchname => $branchname,
|
|
printerloop => \@printerloop,
|
|
branchloop => \@branchloop,
|
|
intranetcolorstylesheet =>
|
|
C4::Context->preference("intranetcolorstylesheet"),
|
|
intranetstylesheet => C4::Context->preference("intranetstylesheet"),
|
|
IntranetNav => C4::Context->preference("IntranetNav"),
|
|
);
|
|
|
|
output_html_with_http_headers $query, $cookie, $template->output;
|