X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=serials%2Fclaims.pl;h=b723136e186228bab7fa88c01baf03467c95b26a;hb=f245998ac964881e9cc2b36434860c55698e8701;hp=8ff672f5d67645d3c32c4257f06a737f92b321b3;hpb=db511d897b6987dee3212b91a5c543265f0c5bf6;p=koha.git diff --git a/serials/claims.pl b/serials/claims.pl index 8ff672f5d6..b723136e18 100755 --- a/serials/claims.pl +++ b/serials/claims.pl @@ -1,5 +1,20 @@ #!/usr/bin/perl +# 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; @@ -10,7 +25,7 @@ use C4::Output; use C4::Bookseller; use C4::Context; use C4::Letters; -my $input = new CGI; +my $input = CGI->new; my $serialid = $input->param('serialid'); my $op = $input->param('op'); @@ -18,26 +33,26 @@ my $claimletter = $input->param('claimletter'); my $supplierid = $input->param('supplierid'); my $suppliername = $input->param('suppliername'); my $order = $input->param('order'); -my %supplierlist = GetSuppliersWithLateIssues(); +my $supplierlist = GetSuppliersWithLateIssues(); +if ($supplierid) { + foreach my $s ( @{$supplierlist} ) { + if ($s->{id} == $supplierid ) { + $s->{selected} = 1; + last; + } + } +} # 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, }); -my $supplier_loop = []; -foreach my $s_id (sort {$supplierlist{$a} cmp $supplierlist{$b} } keys %supplierlist){ - my ($count) = GetLateOrMissingIssues($s_id,q{},$order); - push @{$supplier_loop}, { - id => $s_id, - name => $supplierlist{$s_id} . "($count)", - selected => ( $supplierid && $supplierid == $s_id ), - }; -} + my $letters = GetLetters('claimissues'); my @letters; @@ -46,37 +61,28 @@ foreach (keys %{$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); -} - -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}); - } + @missingissues = GetLateOrMissingIssues($supplierid,$serialid,$order); + @supplierinfo=GetBookSeller($supplierid); } my $preview=0; if($op && $op eq 'preview'){ $preview = 1; +} else { + my @serialnums=$input->param('serialid'); + 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) + } } -if ($op eq "send_alert"){ - my @serialnums=$input->param("serialid"); - SendAlerts('claimissues',\@serialnums,$input->param("letter_code")); - my $cntupdate=UpdateClaimdateIssues(\@serialnums); - ### $cntupdate SHOULD be equal to scalar(@$serialnums) - $template->param('SHOWCONFIRMATION' => 1); - $template->param('suppliername' => $suppliername); -} - $template->param('letters'=>\@letters,'letter'=>$letter); $template->param( order =>$order, - supplier_loop => $supplier_loop, + supplier_loop => $supplierlist, phone => $supplierinfo[0]->{phone}, booksellerfax => $supplierinfo[0]->{booksellerfax}, bookselleremail => $supplierinfo[0]->{bookselleremail}, @@ -84,7 +90,6 @@ $template->param( missingissues => \@missingissues, supplierid => $supplierid, claimletter => $claimletter, - singlesupplier => $singlesupplier, supplierloop => \@supplierinfo, dateformat => C4::Context->preference("dateformat"), DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),