[Koha-patches] [PATCH 36/54] circ/overdue.pl modified : permission & limit on date
paul.poulain at biblibre.com
paul.poulain at biblibre.com
Thu Dec 16 11:54:30 CET 2010
From: Paul Poulain <paul.poulain at biblibre.com>
- 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 @@
<style type="text/css">
.sql {display:none;}
</style>
+<!-- TMPL_INCLUDE NAME="calendar.inc" -->
</head>
<body>
<!-- TMPL_INCLUDE NAME="header.inc" -->
@@ -137,6 +138,35 @@
<fieldset class="brief">
<h4>Filter On:</h4>
<ol>
+ <li style="border: dashed; border-width:1px;">Date due:
+ <label for="dateduefrom">From:
+ <img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" id="dateduefrom_button" alt="Show Calendar" />
+ </label>
+ <input type="text" id="dateduefrom" name="dateduefrom" size="20" value="<!-- TMPL_VAR NAME="dateduefrom" -->" />
+ <script language="JavaScript" type="text/javascript">
+ Calendar.setup(
+ {
+ inputField : "dateduefrom",
+ ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
+ button : "dateduefrom_button"
+ }
+ );
+ </script>
+
+ <label for="datedueto">To:
+ <img src="<!-- TMPL_VAR Name="themelang" -->/lib/calendar/cal.gif" id="datedueto_button" alt="Show Calendar" />
+ </label>
+ <input type="text" id="datedueto" name="datedueto" size="20" value="<!-- TMPL_VAR NAME="datedueto" -->" />
+ <script language="JavaScript" type="text/javascript">
+ Calendar.setup(
+ {
+ inputField : "datedueto",
+ ifFormat : "<!-- TMPL_VAR NAME="DHTMLcalendar_dateformat" -->",
+ button : "datedueto_button"
+ }
+ );
+ </script>
+ </li>
<li><label>Name or cardnumber:</label><input type="text" name="borname" value="<!--TMPL_VAR Name="borname" escape="html" -->" /></li>
<li><label>Patron category:</label><select name="borcat" id="borcat"><option value="">Any</option>
<!-- TMPL_LOOP name="borcatloop" -->
@@ -233,7 +263,8 @@
</li>
</ol>
<fieldset class="action">
- <input type="submit" name="op" value="Apply Filter" class="submit" />
+ <input type="hidden" name="op" value="Apply Filter" />
+ <input type="submit" name="sub" value="Apply Filter" class="submit" />
</fieldset>
</fieldset>
</form>
--
1.7.1
More information about the Koha-patches
mailing list