From a6f0521724f70cdef2e8a68837de7057d8f065c5 Mon Sep 17 00:00:00 2001 From: Paul Poulain Date: Wed, 15 Dec 2010 13:31:44 +0100 Subject: [PATCH] Bug 5874 : circ/overdue.pl modified : permission & limit on date - the Overdues.pl now is now available to ppl with reports->execute_reports permission - there is a filter on date (to display only "old" or "new" overdues, for example) (the permission is created in another patch) --- circ/overdue.pl | 12 ++++++- .../prog/en/modules/circ/overdue.tmpl | 33 +++++++++++++++++++- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/circ/overdue.pl b/circ/overdue.pl index cad8e6d..21a5254 100755 --- a/circ/overdue.pl +++ b/circ/overdue.pl @@ -26,7 +26,7 @@ use CGI qw(-oldstyle_urls); use C4::Auth; use C4::Branch; use C4::Debug; -use C4::Dates qw/format_date/; +use C4::Dates qw/format_date format_date_in_iso/; use Date::Calc qw/Today/; use Text::CSV_XS; @@ -39,6 +39,8 @@ my $itemtypefilter = $input->param('itemtype') || ''; my $borflagsfilter = $input->param('borflag') || ''; my $branchfilter = $input->param('branch') || ''; my $op = $input->param('op') || ''; +my $dateduefrom = format_date_in_iso($input->param( 'dateduefrom' )) || ''; +my $datedueto = format_date_in_iso($input->param( 'datedueto' )) || ''; my $isfiltered = $op =~ /apply/i && $op =~ /filter/i; my $noreport = C4::Context->preference('FilterBeforeOverdueReport') && ! $isfiltered && $op ne "csv"; @@ -48,7 +50,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( query => $input, type => "intranet", authnotrequired => 0, - flagsrequired => { reports => 1, circulate => "circulate_remaining_permissions" }, + flagsrequired => { reports => 'execute_reports', circulate => "circulate_remaining_permissions" }, debug => 1, } ); @@ -206,6 +208,9 @@ $template->param( borcatloop=> \@borcatloop, itemtypeloop => \@itemtypeloop, patron_attr_filter_loop => \@patron_attr_filter_loop, + dateduefrom => $input->param( 'dateduefrom' ) || '', + datedueto => $input->param( 'datedueto' ) || '', + DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), borname => $bornamefilter, order => $order, showall => $showall); @@ -253,6 +258,8 @@ if ($noreport) { $strsth.=" AND biblioitems.itemtype = '" . $itemtypefilter . "' " if $itemtypefilter; $strsth.=" AND borrowers.flags = '" . $borflagsfilter . "' " if $borflagsfilter; $strsth.=" AND borrowers.branchcode = '" . $branchfilter . "' " if $branchfilter; + $strsth .= " AND date_due < '" . $datedueto . "' " if $datedueto; + $strsth .= " AND date_due > '" . $dateduefrom . "' " if $dateduefrom; # restrict patrons (borrowers) to those matching the patron attribute filter(s), if any my $bnlist = $have_pattr_filter_data ? join(',',keys %borrowernumber_to_attributes) : ''; $strsth =~ s/WHERE 1=1/WHERE 1=1 AND borrowers.borrowernumber IN ($bnlist)/ if $bnlist; @@ -284,6 +291,7 @@ if ($noreport) { push @patron_attr_value_loop, { value => join(', ', sort { lc $a cmp lc $b } @displayvalues) }; } + $data->{email}=C4::Members::GetFirstValidEmailAddress($data->{borrowernumber}); push @overduedata, { duedate => format_date($data->{date_due}), borrowernumber => $data->{borrowernumber}, diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tmpl index 9682fb1..a37fdca 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/overdue.tmpl @@ -69,6 +69,7 @@ + @@ -137,6 +138,35 @@

Filter On:

    +
  1. Date due: + + " /> + + + + " /> + +
  2. " />
  3. + +
-- 1.7.1