X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=serials%2Fclaims.pl;h=e51148c7440a5cc8b914259e10e02550e2d1dfd5;hb=2177562ecf64a76bb069009358a843bb80e78a41;hp=a96857ec598f34b1dd63d39ca35d4ae1e015153b;hpb=20f2e15e249021f00ebc20464188119b3845bda3;p=koha.git diff --git a/serials/claims.pl b/serials/claims.pl index a96857ec59..e51148c744 100755 --- a/serials/claims.pl +++ b/serials/claims.pl @@ -1,84 +1,94 @@ #!/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; 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; -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 +# open template first (security & userenv set here) +my ($template, $loggedinuser, $cookie) += get_template_and_user({template_name => 'serials/claims.tmpl', + query => $input, + type => 'intranet', + authnotrequired => 0, + flagsrequired => {serials => 'claim_serials'}, + debug => 1, + }); + +# 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) = GetLateOrMissingIssues($supplierid,$serialid,$order) if $supplierid; - -my $CGIsupplier=CGI::scrolling_list( -name => 'supplierid', - -values => \@select_supplier, - -default => $supplierid, - -labels => \%supplierlist, - -size => 1, - -multiple => 0 - -onChange => 'onchange="submit();"'); - -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 $i=0; $i<@missingissues;$i++){ - $missingissues[$i]->{'supplierid'} = getsupplierbyserialid($missingissues[$i]->{'serialid'}); - } +my $letter=((scalar(@letters)>1) || ($letters[0]->{name}||$letters[0]->{code})); +my @missingissues; +my @supplierinfo; +if ($supplierid) { + @missingissues = GetLateOrMissingIssues($supplierid,$serialid,$order); + @supplierinfo=GetBookSeller($supplierid); } +my $branchloop = GetBranchesLoop(); +unshift @$branchloop, {value=> 'all',name=>''}; my $preview=0; -if($op eq 'preview'){ +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) -} - -my ($template, $loggedinuser, $cookie) -= get_template_and_user({template_name => "serials/claims.tmpl", - query => $input, - type => "intranet", - authnotrequired => 0, - flagsrequired => {serials => 1}, - debug => 1, - }); - $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}, @@ -86,10 +96,9 @@ $template->param( missingissues => \@missingissues, supplierid => $supplierid, claimletter => $claimletter, - singlesupplier => $singlesupplier, supplierloop => \@supplierinfo, - intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"), - intranetstylesheet => C4::Context->preference("intranetstylesheet"), - IntranetNav => C4::Context->preference("IntranetNav"), + branchloop => $branchloop, + dateformat => C4::Context->preference("dateformat"), + DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), ); output_html_with_http_headers $input, $cookie, $template->output;