X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=serials%2Fclaims.pl;h=735d945bf603cccb5f507e056d35240d930f5c6b;hb=a8222aeeb1169d7b1939d1e64c319a16e3846e8c;hp=6d9f172ac906afeab997b91844ffaa0910d4d88b;hpb=4747ea7462c04770484386538b1594c1760bc75b;p=koha.git diff --git a/serials/claims.pl b/serials/claims.pl index 6d9f172ac9..735d945bf6 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; @@ -10,7 +27,9 @@ use C4::Output; use C4::Bookseller; use C4::Context; use C4::Letters; -my $input = new CGI; +use C4::Branch; # GetBranches GetBranchesLoop + +my $input = CGI->new; my $serialid = $input->param('serialid'); my $op = $input->param('op'); @@ -18,70 +37,58 @@ 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'){ $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, - CGIsupplier => $CGIsupplier, + suploop => $supplierlist, phone => $supplierinfo[0]->{phone}, booksellerfax => $supplierinfo[0]->{booksellerfax}, bookselleremail => $supplierinfo[0]->{bookselleremail}, @@ -89,8 +96,8 @@ $template->param( missingissues => \@missingissues, supplierid => $supplierid, claimletter => $claimletter, - singlesupplier => $singlesupplier, supplierloop => \@supplierinfo, + branchloop => $branchloop, dateformat => C4::Context->preference("dateformat"), DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), );