X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=reports%2Fserials_stats.pl;h=a3b12b55b38c4c9f2e7eb47e6b789d5353773c82;hb=9d6d641d1f8b77271800f43bc027b651f9aea52b;hp=640ef603ad16cf46bdad8f9ba10156124a315a33;hpb=c190d93a12c2741b8d4539b7bee175257da815c8;p=srvgit diff --git a/reports/serials_stats.pl b/reports/serials_stats.pl index 640ef603ad..a3b12b55b3 100755 --- a/reports/serials_stats.pl +++ b/reports/serials_stats.pl @@ -4,30 +4,26 @@ # # 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 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 3 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. +# 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., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . -use strict; -use warnings; -use C4::Auth; -use CGI; +use Modern::Perl; +use C4::Auth qw( get_template_and_user ); +use CGI qw ( -utf8 ); use C4::Context; -use C4::Branch; # GetBranches -use C4::Dates qw/format_date/; -use C4::Output; -use C4::Koha; -use C4::Reports; -use C4::Serials; +use C4::Output qw( output_html_with_http_headers ); +use C4::Reports qw( GetDelimiterChoices ); +use C4::Serials qw( GetExpirationDate HasSubscriptionExpired ); =head1 serials_out @@ -35,12 +31,10 @@ plugin that shows a stats on serials =head1 DESCRIPTION -=over 2 - =cut -my $input = new CGI; -my $templatename = "reports/serials_stats.tmpl"; +my $input = CGI->new; +my $templatename = "reports/serials_stats.tt"; my $do_it = $input->param("do_it"); my $bookseller = $input->param("bookseller"); my $branchcode = $input->param("branchcode"); @@ -55,9 +49,7 @@ my ($template, $borrowernumber, $cookie) = get_template_and_user({template_name => $templatename, query => $input, type => "intranet", - authnotrequired => 0, flagsrequired => {reports => '*'}, - debug => 1, }); @@ -94,16 +86,25 @@ if($do_it){ my @datas; while(my $row = $sth->fetchrow_hashref){ - $row->{'enddate'} = format_date(GetExpirationDate($row->{'subscriptionid'})); - $row->{'startdate'} = format_date($row->{'startdate'}); - push @datas, $row if ($expired || (not $expired && not HasSubscriptionExpired($row->{subscriptionid})) ); + $row->{'enddate'} = GetExpirationDate($row->{'subscriptionid'}); + $row->{expired} = HasSubscriptionExpired($row->{subscriptionid}); + push @datas, $row if ( + $expired + or ( + not $expired + and ( + not $row->{expired} + and not $row->{closed} + ) + ) + ); } - + if($output eq 'screen'){ $template->param(datas => \@datas, do_it => 1); }else{ - binmode STDOUT, ':utf8'; + binmode STDOUT, ':encoding(UTF-8)'; print $input->header(-type => 'application/vnd.sun.xml.calc', -encoding => 'utf-8', -name => "$basename.csv", @@ -125,7 +126,7 @@ if($do_it){ print $item->{startdate}.$sep; print $item->{enddate}."\n"; } - exit(1); + exit; } }else{ ## We generate booksellers list @@ -134,37 +135,21 @@ if($do_it){ my $sth = $dbh->prepare("SELECT aqbooksellerid, aqbooksellers.name FROM subscription LEFT JOIN aqbooksellers ON (subscription.aqbooksellerid=aqbooksellers.id ) - GROUP BY aqbooksellerid"); + ORDER BY aqbooksellers.name ASC + "); $sth->execute(); while(my $row = $sth->fetchrow_hashref){ push(@booksellers,$row) } - - ## We generate branchlist - my $branches=GetBranches(); - my @branchloop; - foreach (sort {$branches->{$a}->{'branchname'} cmp $branches->{$b}->{'branchname'}} keys %$branches) { - my $thisbranch = ''; # FIXME: populate $thisbranch to preselect one - my %row = (branchcode => $_, - selected => ($thisbranch eq $_ ? 1 : 0), - branchname => $branches->{$_}->{'branchname'}, - ); - push @branchloop, \%row; - } - - my $CGIextChoice=CGI::scrolling_list( - -name => 'MIME', - -id => 'MIME', - -values => ['CSV'], # FIXME translation - -size => 1, - -multiple => 0 ); + + my $CGIextChoice = ( 'CSV' ); # FIXME translation my $CGIsepChoice=GetDelimiterChoices; $template->param( CGIextChoice => $CGIextChoice, CGIsepChoice => $CGIsepChoice, booksellers => \@booksellers, - branches => \@branchloop); + ); } output_html_with_http_headers $input, $cookie, $template->output;