4 # Copyright 2005 Biblibre
5 # This file is part of Koha.
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 2 of the License, or (at your option) any later
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License along
17 # with Koha; if not, write to the Free Software Foundation, Inc.,
18 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 this script shows late orders for a specific supplier, branch and delay
34 To know on which supplier this script have to display late order.
37 To know the time boundary. Default value is 30 days.
40 To know on which branch this script have to display late order.
49 use C4
::Bookseller
qw( GetBooksellersWithLateOrders );
56 use C4
::Branch
; # GetBranches
59 my ($template, $loggedinuser, $cookie) = get_template_and_user
({
60 template_name
=> "acqui/lateorders.tmpl",
64 flagsrequired
=> {acquisition
=> 'order_receive'},
68 my $booksellerid = $input->param('booksellerid') || undef; # we don't want "" or 0
69 my $delay = $input->param('delay');
70 my $estimateddeliverydatefrom = $input->param('estimateddeliverydatefrom');
71 my $estimateddeliverydateto = $input->param('estimateddeliverydateto');
72 my $branch = $input->param('branch');
73 my $op = $input->param('op');
76 if ( $delay and not $delay =~ /^\d{1,3}$/ ) {
77 push @errors, {delay_digits
=> 1, bad_delay
=> $delay};
80 if ($op and $op eq "send_alert"){
81 my @ordernums = $input->param("claim_for");# FIXME: Fallback values?
84 $err = SendAlerts
( 'claimacquisition', \
@ordernums, $input->param("letter_code") ); # FIXME: Fallback value?
85 if ( not ref $err or not exists $err->{error
} ) {
86 AddClaim
( $_ ) for @ordernums;
90 $template->param(error_claim
=> $@
);
91 } elsif ( ref $err and exists $err->{error
} and $err->{error
} eq "no_email" ) {
92 $template->{VARS
}->{'error_claim'} = "no_email";
94 $template->{VARS
}->{'info_claim'} = 1;
98 my %supplierlist = GetBooksellersWithLateOrders
(
101 C4
::Dates
->new($estimateddeliverydatefrom)->output("iso"),
102 C4
::Dates
->new($estimateddeliverydateto)->output("iso")
105 my (@sloopy); # supplier loop
106 foreach (keys %supplierlist){
107 push @sloopy, (($booksellerid and $booksellerid eq $_ ) ?
108 {id
=>$_, name
=>$supplierlist{$_}, selected
=>1} :
109 {id
=>$_, name
=>$supplierlist{$_}} ) ;
111 $template->param(SUPPLIER_LOOP
=> \
@sloopy);
113 $template->param(Supplier
=>$supplierlist{$booksellerid}) if ($booksellerid);
114 $template->param(booksellerid
=>$booksellerid) if ($booksellerid);
116 my @lateorders = GetLateOrders
(
120 C4
::Dates
->new($estimateddeliverydatefrom)->output("iso"),
121 C4
::Dates
->new($estimateddeliverydateto)->output("iso")
125 foreach (@lateorders){
126 $total += $_->{subtotal
};
130 my $letters=GetLetters
("claimacquisition");
131 foreach (keys %$letters){
132 push @letters, {code
=>$_,name
=>$letters->{$_}};
134 $template->param(letters
=>\
@letters) if (@letters);
136 $template->param(ERROR_LOOP
=> \
@errors) if (@errors);
138 lateorders
=> \
@lateorders,
140 estimateddeliverydatefrom
=> $estimateddeliverydatefrom,
141 estimateddeliverydateto
=> $estimateddeliverydateto,
143 intranetcolorstylesheet
=> C4
::Context
->preference("intranetcolorstylesheet"),
144 DHTMLcalendar_dateformat
=> C4
::Dates
->DHTMLcalendar(),
146 output_html_with_http_headers
$input, $cookie, $template->output;