X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=serials%2Fclaims.pl;h=e51148c7440a5cc8b914259e10e02550e2d1dfd5;hb=aa114f53499b9cffde0571fe7e08622f9c9a332a;hp=cbb6fd686bc0f5be1f1f67ab5f53786517177226;hpb=c9f3ede16119935beb7895f06f230e82df8396f7;p=koha.git diff --git a/serials/claims.pl b/serials/claims.pl index cbb6fd686b..e51148c744 100755 --- a/serials/claims.pl +++ b/serials/claims.pl @@ -1,5 +1,22 @@ #!/usr/bin/perl +# Parts Copyright 2010 Biblibre + +# 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., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + use strict; use warnings; use CGI; @@ -7,65 +24,55 @@ use C4::Auth; use C4::Serials; use C4::Acquisition; use C4::Output; -use C4::Bookseller; +use C4::Bookseller qw( GetBookSeller ); use C4::Context; use C4::Letters; +use C4::Branch; # GetBranches GetBranchesLoop -my $input = new CGI; +my $input = CGI->new; my $serialid = $input->param('serialid'); my $op = $input->param('op'); my $claimletter = $input->param('claimletter'); my $supplierid = $input->param('supplierid'); +my $suppliername = $input->param('suppliername'); my $order = $input->param('order'); -my %supplierlist = GetSuppliersWithLateIssues; -my @select_supplier; # open template first (security & userenv set here) my ($template, $loggedinuser, $cookie) -= get_template_and_user({template_name => "serials/claims.tmpl", += get_template_and_user({template_name => 'serials/claims.tmpl', query => $input, - type => "intranet", + type => 'intranet', authnotrequired => 0, - flagsrequired => {serials => 1}, + flagsrequired => {serials => 'claim_serials'}, debug => 1, }); -foreach my $supplierid (sort {$supplierlist{$a} cmp $supplierlist{$b} } keys %supplierlist){ - my ($count, @dummy) = GetLateOrMissingIssues($supplierid,"",$order); - my $counting = $count; - $supplierlist{$supplierid} = $supplierlist{$supplierid}." ($counting)"; - push @select_supplier, $supplierid +# supplierlist is returned in name order +my $supplierlist = GetSuppliersWithLateIssues(); +for my $s (@{$supplierlist} ) { + $s->{count} = scalar GetLateOrMissingIssues($s->{id}, q{}, $order); + if ($supplierid && $s->{id} == $supplierid) { + $s->{selected} = 1; + } } -my $letters = GetLetters("claimissues"); +my $letters = GetLetters('claimissues'); my @letters; -foreach (keys %$letters){ +foreach (keys %{$letters}){ push @letters ,{code=>$_,name=> $letters->{$_}}; } my $letter=((scalar(@letters)>1) || ($letters[0]->{name}||$letters[0]->{code})); -my ($count2, @missingissues); +my @missingissues; +my @supplierinfo; if ($supplierid) { - ($count2, @missingissues) = GetLateOrMissingIssues($supplierid,$serialid,$order); + @missingissues = GetLateOrMissingIssues($supplierid,$serialid,$order); + @supplierinfo=GetBookSeller($supplierid); } -my $CGIsupplier=CGI::scrolling_list( -name => 'supplierid', - -id => 'supplierid', - -values => \@select_supplier, - -default => $supplierid, - -labels => \%supplierlist, - -size => 1, - -multiple => 0 ); - -my ($singlesupplier,@supplierinfo); -if($supplierid){ - (@supplierinfo)=GetBookSeller($supplierid); -} else { # set up supplierid for the claim links out of main table if all suppliers is chosen - for my $mi (@missingissues){ - $mi->{supplierid} = getsupplierbyserialid($mi->{serialid}); - } -} +my $branchloop = GetBranchesLoop(); +unshift @$branchloop, {value=> 'all',name=>''}; my $preview=0; if($op && $op eq 'preview'){ @@ -75,14 +82,13 @@ if($op && $op eq 'preview'){ if (@serialnums) { # i.e. they have been flagged to generate claims SendAlerts('claimissues',\@serialnums,$input->param("letter_code")); my $cntupdate=UpdateClaimdateIssues(\@serialnums); - ### $cntupdate SHOULD be equal to scalar(@$serialnums) TODO so what do we do about it?? + ### $cntupdate SHOULD be equal to scalar(@$serialnums) } } - $template->param('letters'=>\@letters,'letter'=>$letter); $template->param( order =>$order, - CGIsupplier => $CGIsupplier, + suploop => $supplierlist, phone => $supplierinfo[0]->{phone}, booksellerfax => $supplierinfo[0]->{booksellerfax}, bookselleremail => $supplierinfo[0]->{bookselleremail}, @@ -90,8 +96,9 @@ $template->param( missingissues => \@missingissues, supplierid => $supplierid, claimletter => $claimletter, - singlesupplier => $singlesupplier, supplierloop => \@supplierinfo, + branchloop => $branchloop, dateformat => C4::Context->preference("dateformat"), + DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), ); output_html_with_http_headers $input, $cookie, $template->output;